/*
 * Matteo Design — sistema visivo di matteodefilippis.it
 *
 * Livello di presentazione sopra Elementor: tipografia, colore, ritmo e
 * composizione. Non modifica testi, link, moduli o struttura dei documenti.
 * Viene stampato dopo il CSS aggiuntivo del Customizer, quindi a parità di
 * specificità e di !important vince per ordine.
 *
 * Concetto: studio di consulenza a Via Veneto. Bodoni Moda (tradizione
 * tipografica italiana) per i titoli, Hanken Grotesk per il testo, la palette
 * blu del marchio e un solo motivo riconoscibile: l'arco romano della carta da
 * parati dello studio, usato per il ritratto e per le testate interne.
 */

@font-face {
	font-family: "Bodoni Moda";
	font-style: normal;
	font-weight: 400 900;
	font-display: swap;
	src: url("fonts/bodoni-moda-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Bodoni Moda";
	font-style: italic;
	font-weight: 400 900;
	font-display: swap;
	src: url("fonts/bodoni-moda-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Hanken Grotesk";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("fonts/hanken-grotesk-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--mdf-navy: #01406A;
	--mdf-navy-deep: #012B48;
	--mdf-azure: #0073B6;
	--mdf-azure-soft: #8FC1E3;
	--mdf-mist: #F2F5F8;
	--mdf-line: #D5DEE6;
	--mdf-ink: #10263A;
	--mdf-text: #3A4856;
	--mdf-serif: "Bodoni Moda", "Bodoni 72", Didot, Georgia, serif;
	--mdf-sans: "Hanken Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--mdf-header-h: 88px;
	--mdf-space: 112px;
	--mdf-measure: 64ch;
	--mdf-offset: var(--mdf-header-h);
}
@media (max-width: 1024px) {
	:root { --mdf-header-h: 80px; --mdf-space: 88px; }
}
@media (max-width: 767px) {
	:root { --mdf-header-h: 70px; --mdf-space: 64px; --mdf-offset: 0px; }
}

/* ---------------------------------------------------------------- base */

html body {
	font-family: var(--mdf-sans);
	color: var(--mdf-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
html body,
html body input,
html body select,
html body textarea,
html body button {
	font-family: var(--mdf-sans);
}
::selection { background: var(--mdf-navy); color: #fff; }

html body h1, html body h2, html body h3, html body h4, html body h5, html body h6,
html body .elementor-heading-title,
html body .wpr-title {
	font-family: var(--mdf-serif) !important;
	font-optical-sizing: auto;
	font-weight: 500 !important;
	letter-spacing: -0.012em !important;
	text-transform: none !important;
}

html body .elementor-widget-text-editor {
	font-family: var(--mdf-sans) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
	color: var(--mdf-text) !important;
}
html body .elementor-widget-text-editor p { margin-bottom: 1em; }
html body .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
html body [data-elementor-type="wp-page"] .elementor-widget-text-editor strong { color: var(--mdf-ink); font-weight: 600; }
html body .elementor-703 .elementor-widget-text-editor strong { color: inherit !important; font-weight: 600; }
html body [data-elementor-type="wp-page"] .elementor-widget-text-editor a {
	color: var(--mdf-azure);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
html body [data-elementor-type="wp-page"] .elementor-widget-text-editor a:hover { color: var(--mdf-navy); }

html body a:focus-visible,
html body button:focus-visible,
html body input:focus-visible,
html body select:focus-visible,
html body textarea:focus-visible,
html body [role="button"]:focus-visible {
	outline: 2px solid var(--mdf-azure) !important;
	outline-offset: 3px !important;
}

/* Decorative separators under headings belong to the old system. */
html body [data-elementor-type="wp-page"] .elementor-widget-divider,
html body .elementor-703 .elementor-element.elementor-element-769214d1,
html body .elementor-703 .elementor-element.elementor-element-40ed61af,
html body .elementor-703 .elementor-element.elementor-element-4bd51b9c,
html body .elementor-703 .elementor-element.elementor-element-3f551fa2 {
	display: none !important;
}

/* Consistent vertical rhythm for content sections. */
html body [data-elementor-type="wp-page"] > .elementor-top-section,
html body [data-elementor-type="wp-page"] > .e-con.e-parent {
	padding-top: var(--mdf-space) !important;
	padding-bottom: var(--mdf-space) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
html body [data-elementor-type="wp-page"] > .elementor-top-section > .elementor-container,
html body [data-elementor-type="wp-page"] > .e-con.e-parent > .e-con-inner {
	max-width: 1180px;
}

/* Section headings: left-aligned, editorial scale. */
html body [data-elementor-type="wp-page"] h2.elementor-heading-title {
	color: var(--mdf-ink) !important;
	font-size: clamp(32px, 2.2vw + 14px, 50px) !important;
	line-height: 1.12 !important;
	text-align: left !important;
	text-wrap: balance;
}
html body [data-elementor-type="wp-page"] .elementor-widget-heading,
html body [data-elementor-type="wp-page"] .elementor-widget-text-editor {
	text-align: left !important;
}
html body [data-elementor-type="wp-page"] .elementor-element.elementor-widget-heading,
html body [data-elementor-type="wp-page"] .elementor-element.elementor-widget-text-editor {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Small "kicker" headings: Bodoni italic in azure, sentence case. */
html body [data-elementor-type] .elementor-element.elementor-element-186fb6d .elementor-heading-title,
html body [data-elementor-type] .elementor-element.elementor-element-c331274 .elementor-heading-title,
html body [data-elementor-type] .elementor-element.elementor-element-62e85031 .elementor-heading-title,
html body [data-elementor-type] .elementor-element.elementor-element-c4cb5de .elementor-heading-title,
html body [data-elementor-type] .elementor-element.elementor-element-0fdc200 .elementor-heading-title {
	font-family: var(--mdf-serif) !important;
	font-style: italic !important;
	font-weight: 500 !important;
	font-size: 21px !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	color: var(--mdf-azure) !important;
	text-transform: none !important;
}
html body [data-elementor-type] .elementor-element.elementor-element-c331274 .elementor-heading-title {
	font-size: clamp(22px, 1vw + 12px, 28px) !important;
	color: var(--mdf-navy) !important;
}
html body .elementor-element.elementor-element-208b9fa { margin-bottom: 6px !important; }
html body .elementor-element.elementor-element-c331274 { margin-bottom: 20px !important; }
html body .elementor-element.elementor-element-c4cb5de,
html body .elementor-element.elementor-element-0fdc200 {
	margin-bottom: 4px !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}
html body [data-elementor-type] .elementor-element.elementor-element-386a481 .elementor-heading-title {
	font-family: var(--mdf-sans) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.01em !important;
	color: var(--mdf-navy) !important;
}
html body .elementor-element.elementor-element-386a481 { margin-left: 0 !important; padding-left: 0 !important; }

/* ---------------------------------------------------------------- buttons */

html body .wpr-button {
	font-family: var(--mdf-sans) !important;
	font-size: 15.5px !important;
	font-weight: 600 !important;
	letter-spacing: 0.005em !important;
	text-transform: none !important;
	border-radius: 2px !important;
	border: 1px solid var(--mdf-navy) !important;
	background: var(--mdf-navy) !important;
	color: #fff !important;
	padding: 16px 28px !important;
	min-height: 52px;
	box-shadow: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease !important;
}
html body .wpr-button::before,
html body .wpr-button::after { display: none !important; }
html body .wpr-button .wpr-button-text {
	font: inherit !important;
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: inherit !important;
}
html body .wpr-button .wpr-button-icon { display: none !important; }
html body [data-elementor-type="wp-page"] .wpr-button-wrap { width: auto !important; max-width: 100%; display: inline-block; }
html body .wpr-button .wpr-button-text { white-space: normal; text-align: center; }
html body .wpr-button:hover,
html body .wpr-button:focus-visible {
	background: var(--mdf-azure) !important;
	border-color: var(--mdf-azure) !important;
	color: #fff !important;
}

/* ---------------------------------------------------------------- header */

html body .elementor-700 .elementor-element.elementor-element-7172726 {
	background: rgba(1, 43, 72, 0.94) !important;
	-webkit-backdrop-filter: saturate(140%) blur(12px);
	backdrop-filter: saturate(140%) blur(12px);
	padding: 0 !important;
	min-height: var(--mdf-header-h);
	border-bottom: 1px solid rgba(143, 193, 227, 0.14);
	box-shadow: none !important;
}
html body .elementor-700 .elementor-element.elementor-element-7172726 > .elementor-container {
	min-height: var(--mdf-header-h);
	max-width: 1280px !important;
	margin: 0 auto;
	padding: 0 32px;
}
html body .elementor-700 .elementor-element.elementor-element-7172726 > .elementor-container > .elementor-column {
	width: auto !important;
	flex: 0 0 auto;
}
html body .elementor-700 .elementor-element.elementor-element-7172726 > .elementor-container > .elementor-element.elementor-element-35b1ec76 { flex: 1 1 auto; }
html body .elementor-700 .wpr-nav-menu { flex-wrap: nowrap !important; white-space: nowrap; }
html body .elementor-700 .elementor-element.elementor-element-7172726 .elementor-widget-wrap {
	padding: 0 !important;
}
html body .elementor-700 .wpr-logo-image img {
	max-height: 60px !important;
	width: auto !important;
}
html body .elementor-700 .elementor-element.elementor-element-4a5d6b5f { margin: 0 !important; }

html body .elementor-700 .wpr-nav-menu .wpr-menu-item {
	font-family: var(--mdf-sans) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0.01em !important;
	color: rgba(255, 255, 255, 0.78) !important;
	padding: 6px 2px !important;
	margin: 0 14px !important;
	line-height: 1.3 !important;
}
html body .elementor-700 .wpr-nav-menu .wpr-menu-item:hover,
html body .elementor-700 .wpr-nav-menu .wpr-active-menu-item {
	color: #fff !important;
}
html body .elementor-700 .wpr-nav-menu .wpr-menu-item::before,
html body .elementor-700 .wpr-nav-menu .wpr-menu-item::after {
	background-color: var(--mdf-azure-soft) !important;
	height: 1px !important;
}

html body .elementor-700 .elementor-element.elementor-element-6137cd4 .wpr-button {
	background: #fff !important;
	border-color: #fff !important;
	color: var(--mdf-navy) !important;
	padding: 12px 22px !important;
	min-height: 46px;
	font-size: 15px !important;
}
html body .elementor-700 .elementor-element.elementor-element-6137cd4 .wpr-button:hover,
html body .elementor-700 .elementor-element.elementor-element-6137cd4 .wpr-button:focus-visible {
	background: var(--mdf-azure-soft) !important;
	border-color: var(--mdf-azure-soft) !important;
	color: var(--mdf-navy-deep) !important;
}
html body .elementor-700 .elementor-element.elementor-element-6137cd4 .wpr-button-wrap { width: auto !important; }

/* Mobile navigation */
html body .elementor-700 .wpr-mobile-toggle-line { background-color: #fff !important; }
html body .elementor-700 .wpr-mobile-toggle { background: transparent !important; border-color: transparent !important; }
html body .elementor-700 .wpr-mobile-nav-menu {
	background: var(--mdf-navy-deep) !important;
	border-top: 1px solid rgba(143, 193, 227, 0.16);
}
html body .elementor-700 .wpr-mobile-nav-menu .wpr-mobile-menu-item {
	font-family: var(--mdf-serif) !important;
	font-size: 24px !important;
	font-weight: 500 !important;
	color: #fff !important;
	background: transparent !important;
	text-align: left !important;
	padding: 14px 28px !important;
}
html body .elementor-700 .wpr-mobile-nav-menu .wpr-mobile-menu-item.wpr-active-menu-item { color: var(--mdf-azure-soft) !important; }
html body .elementor-700 .wpr-mobile-nav-menu > li {
	background: transparent !important;
	border-color: rgba(143, 193, 227, 0.12) !important;
}
html body .elementor-700 .wpr-mobile-nav-menu > li > a { border-color: rgba(143, 193, 227, 0.12) !important; }
/* Royal sizes the full-width panel from the nav column; anchor it to the bar instead. */
@media (max-width: 767px) {
	html body .elementor-700 .elementor-element-7172726 .elementor-element-35b1ec76,
	html body .elementor-700 .elementor-element-7172726 .elementor-element-35b1ec76 > .elementor-widget-wrap,
	html body .elementor-700 .elementor-element-cd29ca7,
	html body .elementor-700 .elementor-element-cd29ca7 > .elementor-widget-container,
	html body .elementor-700 .elementor-element-cd29ca7 .wpr-mobile-nav-menu-container { position: static !important; }
	html body .elementor-700 .elementor-element-7172726 > .elementor-container { position: relative !important; }
	html body .elementor-700 .wpr-mobile-nav-menu {
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		top: 100% !important;
		margin-top: 0 !important;
		box-shadow: 0 18px 30px rgba(1, 43, 72, 0.25);
	}
}

/* ---------------------------------------------------------------- heroes */

/* Every hero starts at the top of the page under the fixed header. */
html body .elementor-7 .elementor-element.elementor-element-eb81684,
html body .elementor-2 .elementor-element.elementor-element-20ceb67c0,
html body .elementor-2891 .elementor-element.elementor-element-6f65562,
html body .elementor-238 .elementor-element.elementor-element-16bb110,
html body .elementor-243 .elementor-element.elementor-element-11fc127 {
	margin-top: 0 !important;
	background-color: var(--mdf-navy-deep) !important;
	background-image: url("img/arcata.svg") !important;
	background-repeat: no-repeat !important;
	background-position: right -60px bottom -2px !important;
	background-size: auto 78% !important;
	background-attachment: scroll !important;
	min-height: 0 !important;
	height: auto !important;
}
html body .elementor-element.elementor-element-eb81684 > .elementor-shape,
html body .elementor-element.elementor-element-20ceb67c0 > .elementor-shape,
html body .elementor-element.elementor-element-6f65562 > .elementor-shape,
html body .elementor-element.elementor-element-16bb110 > .elementor-shape,
html body .elementor-element.elementor-element-11fc127 > .elementor-shape,
html body .elementor-element.elementor-element-442401ed > .elementor-shape,
html body .elementor-element.elementor-element-eb81684 > .elementor-background-overlay,
html body .elementor-element.elementor-element-20ceb67c0 > .elementor-background-overlay,
html body .elementor-element.elementor-element-6f65562 > .elementor-background-overlay,
html body .elementor-element.elementor-element-16bb110 > .elementor-background-overlay,
html body .elementor-element.elementor-element-11fc127 > .elementor-background-overlay {
	display: none !important;
}
html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container,
html body .elementor-element.elementor-element-20ceb67c0 > .elementor-container,
html body .elementor-element.elementor-element-6f65562 > .elementor-container,
html body .elementor-element.elementor-element-16bb110 > .elementor-container,
html body .elementor-element.elementor-element-11fc127 > .elementor-container {
	transform: none !important;
	min-height: 0 !important;
	height: auto !important;
}

/* Interior page heads: compact band, title left. */
html body .elementor-element.elementor-element-20ceb67c0,
html body .elementor-element.elementor-element-6f65562,
html body .elementor-element.elementor-element-16bb110,
html body .elementor-element.elementor-element-11fc127 {
	padding-top: calc(var(--mdf-offset) + 88px) !important;
	padding-bottom: 72px !important;
}
html body [data-elementor-type] .elementor-element.elementor-element-20ceb67c0 .elementor-heading-title,
html body [data-elementor-type] .elementor-element.elementor-element-6f65562 .elementor-heading-title,
html body [data-elementor-type] .elementor-element.elementor-element-16bb110 .elementor-heading-title,
html body [data-elementor-type] .elementor-element.elementor-element-11fc127 .elementor-heading-title {
	font-size: clamp(44px, 4.2vw + 12px, 84px) !important;
	line-height: 1.02 !important;
	letter-spacing: -0.02em !important;
	color: #fff !important;
	text-align: left !important;
}
html body .elementor-element.elementor-element-20ceb67c0 .elementor-widget-wrap,
html body .elementor-element.elementor-element-6f65562 .elementor-widget-wrap,
html body .elementor-element.elementor-element-16bb110 .elementor-widget-wrap,
html body .elementor-element.elementor-element-11fc127 .elementor-widget-wrap {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Home hero: name set large, portrait in a Roman arch. */
html body .elementor-7 .elementor-element.elementor-element-eb81684 {
	background-image: none !important;
	padding: calc(var(--mdf-offset) + 56px) 0 0 !important;
	overflow: hidden;
}
html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container {
	max-width: 1180px !important;
	align-items: flex-end !important;
	gap: 64px;
}
html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container::after {
	content: "";
	flex: 0 0 auto;
	width: clamp(300px, 30vw, 420px);
	height: clamp(375px, 37.5vw, 525px);
	background: var(--mdf-navy) url("img/matteo-de-filippis-ritratto.webp") 50% 30% / cover no-repeat;
	border-radius: 50% 50% 0 0 / 40% 40% 0 0;
	animation: mdf-rise 1.1s cubic-bezier(.2, .7, .2, 1) .15s both;
}
html body .elementor-element.elementor-element-eb81684 .elementor-element.elementor-element-9ae9950 {
	width: auto !important;
	flex: 1 1 0 !important;
	align-self: center;
	padding-bottom: 56px;
}
html body .elementor-element.elementor-element-eb81684 .elementor-element.elementor-element-9ae9950 > .elementor-widget-wrap { padding: 0 !important; }
html body .elementor-element.elementor-element-29e7aab,
html body .elementor-element.elementor-element-a6c71ea { display: none !important; }
html body .elementor-element.elementor-element-d444423 { margin-bottom: 28px !important; }
html body [data-elementor-type] .elementor-element.elementor-element-d444423 .elementor-heading-title {
	font-size: clamp(48px, 4.6vw + 16px, 96px) !important;
	line-height: 0.98 !important;
	letter-spacing: -0.025em !important;
	color: #fff !important;
	text-align: left !important;
	animation: mdf-rise .9s cubic-bezier(.2, .7, .2, 1) both;
}
html body [data-elementor-type] .elementor-element.elementor-element-186fb6d .elementor-heading-title {
	color: var(--mdf-azure-soft) !important;
	font-size: 23px !important;
	text-align: left !important;
}

@keyframes mdf-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------- home */

html body .elementor-7 .elementor-element.elementor-element-91e7bad { background: #fff !important; }
html body .elementor-element.elementor-element-91e7bad > .elementor-container { align-items: center !important; gap: 48px; }
html body .elementor-element.elementor-element-0a0d854 { margin-bottom: 28px !important; }
html body .elementor-element.elementor-element-b4cd675 { text-align: left !important; margin: 0 0 24px !important; }
html body .elementor-element.elementor-element-b4cd675 img { max-width: 240px !important; height: auto !important; }

/* Videos sit in a thin passe-partout frame. */
html body [data-elementor-type="wp-page"] .elementor-widget-video .elementor-wrapper {
	border-radius: 2px;
	outline: 1px solid var(--mdf-line);
	outline-offset: 12px;
	overflow: hidden;
	box-shadow: none !important;
}
html body [data-elementor-type="wp-page"] .elementor-widget-video { margin: 12px !important; }

/* Process and career timelines. */
html body .elementor-7 .elementor-element.elementor-element-87970ea { background: var(--mdf-mist) !important; }
html body .elementor-element.elementor-element-208b9fa { margin-bottom: 12px !important; }
html body .elementor-element.elementor-element-a5899b9 { max-width: var(--mdf-measure); margin-bottom: 40px !important; padding-left: 0 !important; margin-left: 0 !important; }

html body .wpr-timeline-centered .wpr-middle-line,
html body .wpr-wrapper .wpr-middle-line { background-color: var(--mdf-line) !important; width: 1px !important; }
html body .wpr-timeline-fill { background-color: var(--mdf-navy) !important; width: 1px !important; }
html body .wpr-main-line-icon {
	background: #fff !important;
	border: 1px solid var(--mdf-navy) !important;
	color: var(--mdf-navy) !important;
	box-shadow: 0 0 0 6px var(--mdf-mist) !important;
}
html body .wpr-timeline-media img { max-width: min(100%, 300px) !important; height: auto !important; }
html body .elementor-2 .wpr-main-line-icon { box-shadow: 0 0 0 6px #fff !important; }
html body .wpr-main-line-icon svg { fill: var(--mdf-navy) !important; }
html body [data-elementor-type] .elementor-element .wpr-timeline-entry .wpr-story-info-vertical.wpr-data-wrap,
html body .wpr-story-info-vertical,
html body .wpr-story-info {
	background: #fff !important;
	border: 1px solid var(--mdf-line) !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	padding: 28px 30px !important;
	box-sizing: border-box !important;
}
html body .elementor-2 .wpr-story-info-vertical { background: var(--mdf-mist) !important; border-color: transparent !important; }
html body .wpr-story-info-vertical::before,
html body .wpr-story-info-vertical::after,
html body .wpr-data-wrap::before,
html body .wpr-data-wrap::after { display: none !important; }
html body .wpr-timeline-entry .wpr-title,
html body .wpr-timeline-entry .wpr-title a {
	font-family: var(--mdf-serif) !important;
	font-size: 25px !important;
	line-height: 1.2 !important;
	color: var(--mdf-ink) !important;
}
html body .wpr-timeline-entry .wpr-description,
html body .wpr-timeline-entry .wpr-description p {
	font-family: var(--mdf-sans) !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
	color: var(--mdf-text) !important;
}
html body .wpr-timeline-entry .wpr-extra-label .wpr-label {
	font-family: var(--mdf-serif) !important;
	font-style: italic !important;
	font-size: 20px !important;
	font-weight: 500 !important;
	color: var(--mdf-navy) !important;
}
html body .wpr-timeline-entry .wpr-extra-label .wpr-sub-label {
	font-family: var(--mdf-sans) !important;
	font-size: 14.5px !important;
	color: var(--mdf-text) !important;
}

/* Centred timeline (768px and up): Royal leaves only 20px between card and
   axis, less than half the 42px icon, so every card touched the icon once the
   pointer arrow was removed. Keep a clear 52px lane on both sides of the axis. */
@media (min-width: 768px) {
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned .wpr-timeline-entry-inner .wpr-story-info-vertical.wpr-data-wrap {
		margin-right: 52px !important;
		margin-left: 0 !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-right-aligned .wpr-timeline-entry-inner .wpr-story-info-vertical.wpr-data-wrap {
		margin-left: 52px !important;
		margin-right: 0 !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-left-aligned .wpr-extra-label {
		left: calc(100% + 52px) !important;
		right: auto !important;
		width: 220px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		text-align: left !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-both-sided-timeline .wpr-timeline-entry.wpr-right-aligned .wpr-extra-label {
		right: calc(100% + 52px) !important;
		left: auto !important;
		width: 220px !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		text-align: right !important;
	}
}

/* ---------------------------------------------------------------- chi sono */

html body .elementor-2 .elementor-element.elementor-element-5d478087 > .elementor-container { align-items: center !important; gap: 24px; }
html body .elementor-element.elementor-element-1c4b0e89 { margin-bottom: 28px !important; }
html body .elementor-element.elementor-element-34a4c66 { text-align: right !important; }
html body .elementor-element.elementor-element-34a4c66 img {
	width: 100% !important;
	max-width: 440px !important;
	height: auto !important;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 60% 25%;
	border-radius: 50% 50% 0 0 / 40% 40% 0 0 !important;
}
html body .elementor-2 .elementor-element.elementor-element-492c2f2d { background: var(--mdf-mist) !important; }
html body .elementor-element.elementor-element-42321fa2 { margin-bottom: 24px !important; }
html body .elementor-element.elementor-element-49386564 > .elementor-widget-wrap { max-width: 820px; }
html body .mdf-team-copy h3 {
	font-family: var(--mdf-serif) !important;
	font-size: 25px !important;
	color: var(--mdf-ink) !important;
	margin: 36px 0 10px !important;
}

/* ---------------------------------------------------------------- servizi */

html body .elementor-2891 .elementor-element.elementor-element-2abc331 { background: #fff !important; padding-bottom: 32px !important; }
html body .elementor-element.elementor-element-97a03e6 > .elementor-widget-wrap { max-width: 860px; }
html body .elementor-element.elementor-element-e8b1cd4 { margin-bottom: 24px !important; }
html body .elementor-element.elementor-element-614f605 { font-size: 18.5px !important; }

html body .elementor-2891 .elementor-element.elementor-element-9b55242 { padding-top: 48px !important; }
html body .elementor-element.elementor-element-9b55242 > .elementor-container { gap: 40px; }
html body .elementor-element.elementor-element-9b55242 > .elementor-container > .elementor-column {
	background: transparent !important;
}
html body .elementor-element.elementor-element-9b55242 > .elementor-container > .elementor-column > .elementor-widget-wrap {
	background: transparent !important;
	border: 0 !important;
	border-top: 2px solid var(--mdf-navy) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 32px 0 0 !important;
	align-content: flex-start;
}
html body .elementor-element.elementor-element-9b55242 .elementor-heading-title {
	font-size: 28px !important;
	line-height: 1.18 !important;
	color: var(--mdf-ink) !important;
}
html body .elementor-element.elementor-element-9b55242 .elementor-widget-heading { margin-bottom: 20px !important; }
html body .elementor-element.elementor-element-9b55242 .elementor-widget-text-editor { font-size: 16px !important; }
html body .elementor-element.elementor-element-9b55242 .elementor-widget-icon-list {
	width: 100% !important;
	max-width: 100% !important;
	margin: 20px 0 0 !important;
	padding-top: 20px;
	border-top: 1px solid var(--mdf-line);
}
html body .elementor-element.elementor-element-9b55242 .elementor-icon-list-text {
	font-family: var(--mdf-sans) !important;
	font-size: 15.5px !important;
	font-weight: 600 !important;
	line-height: 1.45 !important;
	color: var(--mdf-ink) !important;
}
html body .elementor-element.elementor-element-9b55242 .elementor-icon-list-icon svg { fill: var(--mdf-azure) !important; width: 13px !important; height: 13px !important; }
html body .elementor-element.elementor-element-9b55242 .elementor-icon-list-item { padding-bottom: 8px !important; align-items: baseline !important; }

html body .elementor-element.elementor-element-aa1905f > .elementor-container { align-items: center !important; gap: 48px; }
html body .elementor-element.elementor-element-88b9c40 { margin-bottom: 20px !important; }
html body .elementor-element.elementor-element-88b9c40 .elementor-heading-title { font-size: clamp(30px, 1.6vw + 14px, 42px) !important; }
html body .elementor-element.elementor-element-b3727fc { margin-bottom: 28px !important; }

/* ---------------------------------------------------------------- faq */

html body .elementor-element.elementor-element-fa00101 { max-width: 760px; font-size: 18.5px !important; }
html body .elementor-238 .elementor-element.elementor-element-fa01000,
html body .elementor-238 .elementor-element.elementor-element-fa01001,
html body .elementor-238 .elementor-element.elementor-element-fa01002,
html body .elementor-238 .elementor-element.elementor-element-fa01003,
html body .elementor-238 .elementor-element.elementor-element-fa00301 {
	margin-top: 72px !important;
	margin-bottom: 20px !important;
}
html body .elementor-238 .elementor-element.elementor-element-fa01000 .elementor-heading-title,
html body .elementor-238 .elementor-element.elementor-element-fa01001 .elementor-heading-title,
html body .elementor-238 .elementor-element.elementor-element-fa01002 .elementor-heading-title,
html body .elementor-238 .elementor-element.elementor-element-fa01003 .elementor-heading-title,
html body .elementor-238 .elementor-element.elementor-element-fa00301 .elementor-heading-title {
	font-size: clamp(28px, 1.4vw + 16px, 40px) !important;
}

html body .elementor-accordion .elementor-accordion-item {
	border: 0 !important;
	border-bottom: 1px solid var(--mdf-line) !important;
	background: transparent !important;
}
html body .elementor-accordion .elementor-accordion-item:first-child { border-top: 1px solid var(--mdf-line) !important; }
html body .elementor-accordion .elementor-tab-title {
	display: flex !important;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: baseline;
	gap: 24px;
	padding: 22px 0 !important;
	background: transparent !important;
	border: 0 !important;
}
html body .elementor-accordion .elementor-accordion-title {
	font-family: var(--mdf-sans) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	color: var(--mdf-ink) !important;
	text-decoration: none !important;
}
html body .elementor-accordion .elementor-tab-title:hover .elementor-accordion-title,
html body .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-title {
	color: var(--mdf-navy) !important;
}
html body .elementor-accordion .elementor-accordion-icon {
	flex: 0 0 auto;
	float: none !important;
	width: auto !important;
	color: var(--mdf-azure) !important;
}
html body .elementor-accordion .elementor-accordion-icon svg { fill: var(--mdf-azure) !important; width: 14px !important; height: 14px !important; }
html body .elementor-accordion .elementor-tab-content {
	border: 0 !important;
	padding: 0 0 26px !important;
	max-width: 780px;
	font-family: var(--mdf-sans) !important;
	font-size: 16.5px !important;
	line-height: 1.72 !important;
	color: var(--mdf-text) !important;
	background: transparent !important;
}

html body .elementor-238 .elementor-element.elementor-element-729c0da {
	background: var(--mdf-mist) !important;
}
html body .elementor-element.elementor-element-a3ff402 { margin-bottom: 16px !important; }
html body .elementor-element.elementor-element-a3ff402 .elementor-heading-title { font-size: clamp(28px, 1.4vw + 16px, 40px) !important; }
html body .elementor-element.elementor-element-e8b0fd8 { max-width: 760px; margin-bottom: 28px !important; }

/* ---------------------------------------------------------------- contatti */

html body .elementor-243 .elementor-element.elementor-element-92fd934 > .elementor-container { gap: 56px; align-items: flex-start !important; }
html body .elementor-element.elementor-element-c796f84 { margin-bottom: 20px !important; }
html body .elementor-element.elementor-element-9216bce .elementor-heading-title {
	font-family: var(--mdf-sans) !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	letter-spacing: 0 !important;
	color: var(--mdf-text) !important;
}
html body .elementor-element.elementor-element-9216bce { margin-bottom: 32px !important; }
html body .elementor-element.elementor-element-acaf450 .elementor-icon-list-text,
html body .elementor-element.elementor-element-077951a .elementor-icon-list-text {
	font-family: var(--mdf-serif) !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	color: var(--mdf-ink) !important;
}
html body .elementor-element.elementor-element-acaf450 .elementor-icon-list-icon,
html body .elementor-element.elementor-element-077951a .elementor-icon-list-icon { display: none !important; }
html body [data-elementor-type] .elementor-element.elementor-element-c796f84 { border: 0 !important; padding-left: 0 !important; }
html body .elementor-element.elementor-element-acaf450 .elementor-icon-list-text,
html body .elementor-element.elementor-element-077951a .elementor-icon-list-text { padding-left: 0 !important; margin-left: 0 !important; }
html body [data-elementor-type] .elementor-element.elementor-element-25d2f48 {
	border-left: 2px solid var(--mdf-navy) !important;
	padding: 4px 0 4px 20px !important;
	margin: 12px 0 32px !important;
	font-size: 16px !important;
}
html body .elementor-element.elementor-element-25d2f48 * { border-left: 0 !important; }
html body .elementor-element.elementor-element-25d2f48 a { color: var(--mdf-navy) !important; text-decoration: none !important; }
html body .elementor-element.elementor-element-25d2f48 a:hover { text-decoration: underline !important; }
html body .elementor-element.elementor-element-82d22d3 .elementor-social-icon,
html body .elementor-element.elementor-element-82d22d3 .elementor-social-icon:hover {
	background: transparent !important;
	border: 1px solid var(--mdf-line) !important;
	border-radius: 50% !important;
	width: 44px !important;
	height: 44px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
html body .elementor-element.elementor-element-82d22d3 .elementor-social-icon svg { fill: var(--mdf-navy) !important; width: 18px !important; height: 18px !important; }
html body .elementor-element.elementor-element-82d22d3 .elementor-social-icon:hover { border-color: var(--mdf-navy) !important; }
html body .elementor-element.elementor-element-1202f16 .elementor-heading-title {
	font-family: var(--mdf-sans) !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	letter-spacing: 0 !important;
	color: var(--mdf-text) !important;
}
html body .elementor-element.elementor-element-9a7d8d6 { display: none !important; }

/* Form panel */
html body .elementor-243 .elementor-element.elementor-element-a90411a > .elementor-widget-wrap {
	background: var(--mdf-mist) !important;
	padding: 44px 44px 36px !important;
	border-radius: 2px;
}
html body .wpr-forms-container .wpcf7-form p { margin: 0 0 18px !important; }
html body .wpr-forms-container .wpcf7-form label {
	font-family: var(--mdf-sans) !important;
	font-size: 14.5px !important;
	font-weight: 600 !important;
	color: var(--mdf-ink) !important;
	line-height: 1.4 !important;
	display: block;
}
html body .wpr-forms-container .wpcf7-form label br { display: none; }
html body .wpr-forms-container .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
html body .wpr-forms-container input.wpcf7-text,
html body .wpr-forms-container input.wpcf7-email,
html body .wpr-forms-container input.wpcf7-tel,
html body .wpr-forms-container select.wpcf7-select,
html body .wpr-forms-container textarea.wpcf7-textarea {
	width: 100% !important;
	min-height: 50px;
	padding: 12px 14px !important;
	font-family: var(--mdf-sans) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	color: var(--mdf-ink) !important;
	background-color: #fff !important;
	border: 1px solid #B8C7D5 !important;
	border-radius: 2px !important;
	box-shadow: none !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}
html body .wpr-forms-container textarea.wpcf7-textarea { min-height: 150px; height: 150px; resize: vertical; }
html body .wpr-forms-container input.wpcf7-text:focus,
html body .wpr-forms-container input.wpcf7-email:focus,
html body .wpr-forms-container input.wpcf7-tel:focus,
html body .wpr-forms-container select.wpcf7-select:focus,
html body .wpr-forms-container textarea.wpcf7-textarea:focus {
	border-color: var(--mdf-azure) !important;
	box-shadow: 0 0 0 3px rgba(0, 115, 182, 0.18) !important;
	outline: none !important;
}
html body .wpr-forms-container .wpcf7-acceptance .wpcf7-list-item-label {
	font-weight: 400 !important;
	color: var(--mdf-text) !important;
	font-size: 15px !important;
}
html body .wpr-forms-container .wpcf7-acceptance .wpcf7-list-item-label a { color: var(--mdf-azure) !important; }
html body .wpr-forms-container .wpcf7-form > p > strong {
	font-family: var(--mdf-sans);
	font-size: 13.5px;
	font-weight: 500;
	color: var(--mdf-text);
}
html body .wpr-forms-container input.wpcf7-submit {
	font-family: var(--mdf-sans) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0.005em !important;
	background: var(--mdf-navy) !important;
	color: #fff !important;
	border: 1px solid var(--mdf-navy) !important;
	border-radius: 2px !important;
	padding: 16px 32px !important;
	min-height: 54px;
	cursor: pointer;
	transition: background-color .2s ease;
}
html body .wpr-forms-container input.wpcf7-submit:hover,
html body .wpr-forms-container input.wpcf7-submit:focus-visible { background: var(--mdf-azure) !important; border-color: var(--mdf-azure) !important; }
html body .wpr-forms-container .wpcf7-not-valid-tip { font-size: 14px; color: #A3262A; margin-top: 6px; }
html body .wpr-forms-container .wpcf7-response-output { border-radius: 2px; font-size: 15px; margin: 16px 0 0 !important; }

/* Studio address block */
html body .elementor-243 .elementor-element.elementor-element-d1c1d5f {
	padding-top: 0 !important;
	padding-bottom: var(--mdf-space) !important;
}
html body .elementor-243 .elementor-element.elementor-element-d1c1d5f > .e-con-inner { max-width: 1180px; }
html body .elementor-element.elementor-element-9318418 { display: none !important; }
html body #map-vittorio-veneto > div {
	min-height: 0 !important;
	align-items: flex-start !important;
	text-align: left !important;
	padding: 48px 56px !important;
	border-radius: 2px !important;
	color: #fff !important;
	background: var(--mdf-navy-deep) url("img/arcata.svg") no-repeat right -40px bottom -2px / auto 150% !important;
	font-family: var(--mdf-sans);
	font-size: 17px;
	line-height: 1.6;
}
html body #map-vittorio-veneto > div p { margin: 0 0 14px; }
html body #map-vittorio-veneto > div strong {
	display: inline-block;
	font-family: var(--mdf-serif);
	font-size: 30px;
	font-weight: 500;
	margin-bottom: 8px;
	color: #fff;
}
html body #map-vittorio-veneto a {
	color: var(--mdf-azure-soft) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-thickness: 1px;
}
html body .elementor-243 .elementor-element.elementor-element-5f22584 { display: none !important; }

/* ---------------------------------------------------------------- privacy */

html body .elementor-3 > .e-con.e-parent {
	padding-top: calc(var(--mdf-offset) + 72px) !important;
}
html body .elementor-3 > .e-con.e-parent > .e-con-inner { max-width: 820px !important; }
html body .elementor-element.elementor-element-bfe2b1f .elementor-heading-title {
	font-size: clamp(38px, 2.6vw + 14px, 60px) !important;
	color: var(--mdf-ink) !important;
	line-height: 1.05 !important;
	margin-bottom: 24px !important;
}
html body .elementor-element.elementor-element-46dc58b1 h2,
html body .elementor-element.elementor-element-46dc58b1 h3 {
	font-size: 24px !important;
	color: var(--mdf-ink) !important;
	margin: 36px 0 10px !important;
}

/* ---------------------------------------------------------------- closing call */

html body .elementor-703 .elementor-element.elementor-element-442401ed {
	background-color: var(--mdf-navy) !important;
	background-image: url("img/arcata.svg") !important;
	background-repeat: no-repeat !important;
	background-position: left -80px bottom -2px !important;
	background-size: auto 80% !important;
	background-attachment: scroll !important;
	min-height: 0 !important;
	padding: var(--mdf-space) 0 !important;
}
html body .elementor-element.elementor-element-442401ed > .elementor-background-overlay { display: none !important; }
html body .elementor-element.elementor-element-442401ed > .elementor-container { min-height: 0 !important; }
html body [data-elementor-type] .elementor-element.elementor-element-62e85031 .elementor-heading-title { color: var(--mdf-azure-soft) !important; }
html body .elementor-element.elementor-element-3b7cb55a { margin: 6px auto 36px !important; max-width: 860px; }
html body .elementor-element.elementor-element-3b7cb55a .elementor-heading-title {
	font-size: clamp(32px, 2.4vw + 14px, 54px) !important;
	line-height: 1.1 !important;
	color: #fff !important;
	text-wrap: balance;
}
html body .elementor-703 .elementor-element.elementor-element-f84aaae .wpr-button {
	background: #fff !important;
	border-color: #fff !important;
	color: var(--mdf-navy) !important;
}
html body .elementor-703 .elementor-element.elementor-element-27bd96d .wpr-button {
	background: transparent !important;
	border-color: rgba(255, 255, 255, 0.55) !important;
	color: #fff !important;
}
html body .elementor-703 .elementor-element.elementor-element-f84aaae .wpr-button:hover,
html body .elementor-703 .elementor-element.elementor-element-27bd96d .wpr-button:hover,
html body .elementor-703 .elementor-element.elementor-element-f84aaae .wpr-button:focus-visible,
html body .elementor-703 .elementor-element.elementor-element-27bd96d .wpr-button:focus-visible {
	background: var(--mdf-azure-soft) !important;
	border-color: var(--mdf-azure-soft) !important;
	color: var(--mdf-navy-deep) !important;
}

/* ---------------------------------------------------------------- footer */

html body .elementor-703 .elementor-element.elementor-element-4831f24a {
	background: var(--mdf-navy-deep) !important;
	padding: 80px 0 40px !important;
}
html body .elementor-703 .elementor-element.elementor-element-4831f24a > .elementor-container { max-width: 1180px !important; }
html body .elementor-703 .wpr-logo-image img { max-height: 72px !important; width: auto !important; }
html body .elementor-703 .elementor-element.elementor-element-26ff7fa8 { margin-bottom: 16px !important; }
html body .elementor-703 .elementor-element.elementor-element-e6b891c,
html body .elementor-703 .elementor-element.elementor-element-e6b891c p {
	font-size: 14.5px !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.72) !important;
	text-align: left !important;
}
html body .elementor-703 .elementor-element.elementor-element-12eea96 .elementor-heading-title,
html body .elementor-703 .elementor-element.elementor-element-ddc659d .elementor-heading-title,
html body .elementor-703 .elementor-element.elementor-element-483b2107 .elementor-heading-title {
	font-size: 21px !important;
	color: #fff !important;
	margin-bottom: 18px !important;
}
html body .elementor-703 .elementor-icon-list-text {
	font-family: var(--mdf-sans) !important;
	font-size: 15px !important;
	color: rgba(255, 255, 255, 0.82) !important;
}
html body .elementor-703 .elementor-element.elementor-element-61f36d0c .elementor-icon-list-text { font-size: 14px !important; }
@media (max-width: 900px) {
	html body .elementor-703 .elementor-icon-list-text { overflow-wrap: anywhere; }
}
html body .elementor-703 a:hover .elementor-icon-list-text { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
html body .elementor-703 .elementor-icon-list-icon svg { fill: var(--mdf-azure-soft) !important; }
html body .elementor-703 .elementor-element.elementor-element-21c38d3 .elementor-social-icon {
	background: transparent !important;
	border: 1px solid rgba(143, 193, 227, 0.35) !important;
	border-radius: 50% !important;
	width: 40px !important;
	height: 40px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
html body .elementor-703 .elementor-element.elementor-element-21c38d3 .elementor-social-icon svg { fill: #fff !important; width: 16px !important; height: 16px !important; }
html body .elementor-703 .elementor-element.elementor-element-21c38d3 .elementor-social-icon:hover { border-color: #fff !important; }
html body .elementor-703 .elementor-element.elementor-element-59176801 { margin: 40px 0 28px !important; }
html body .elementor-703 .elementor-element.elementor-element-59176801 .elementor-divider-separator { border-top: 1px solid rgba(143, 193, 227, 0.18) !important; width: 100% !important; }
html body .elementor-703 .elementor-element.elementor-element-59176801 .elementor-divider { padding: 0 !important; }
html body .elementor-703 .elementor-element.elementor-element-3095b63 { padding: 0 !important; }
html body .elementor-703 .elementor-element.elementor-element-3095b63 > .e-con-inner { margin: 0 !important; padding: 0 !important; max-width: none !important; }
html body .elementor-703 .elementor-element.elementor-element-e972724 { padding: 0 !important; margin-left: 0 !important; }
html body .elementor-703 .elementor-element.elementor-element-e972724 > .elementor-widget-container { padding: 0 !important; margin: 0 !important; }
html body .elementor-703 .elementor-element.elementor-element-e972724,
html body .elementor-703 .elementor-element.elementor-element-e972724 p {
	font-size: 13px !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.6) !important;
	text-align: left !important;
}
html body .elementor-703 .elementor-element.elementor-element-419026e7,
html body .elementor-703 .elementor-element.elementor-element-419026e7 p {
	font-size: 13.5px !important;
	line-height: 1.7 !important;
	font-weight: 400 !important;
	color: rgba(255, 255, 255, 0.72) !important;
	text-align: left !important;
}
html body .elementor-703 .elementor-element.elementor-element-419026e7 a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }

/* ---------------------------------------------------------------- floating actions */

html body .elementor-element.elementor-element-ab058d9 {
	top: auto !important;
	bottom: 24px !important;
	right: 24px !important;
	left: auto !important;
	width: 56px !important;
	height: 56px !important;
	background: transparent !important;
	z-index: 30 !important;
}
html body .elementor-element.elementor-element-ab058d9 .elementor-icon {
	width: 56px !important;
	height: 56px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	background: var(--mdf-navy) !important;
	box-shadow: 0 6px 18px rgba(1, 43, 72, 0.28) !important;
	transition: background-color .2s ease;
}
html body .elementor-element.elementor-element-ab058d9 .elementor-icon:hover { background: var(--mdf-azure) !important; }
html body .elementor-element.elementor-element-ab058d9 .elementor-icon svg { width: 26px !important; height: 26px !important; fill: #fff !important; }
html body .elementor-element.elementor-element-72daa77e .wpr-stt-btn {
	right: 24px !important;
	bottom: 92px !important;
	width: 44px !important;
	height: 44px !important;
	border-radius: 50% !important;
	background: #fff !important;
	border: 1px solid var(--mdf-line) !important;
	color: var(--mdf-navy) !important;
	box-shadow: 0 4px 12px rgba(1, 43, 72, 0.12) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 !important;
}
html body .elementor-element.elementor-element-72daa77e .wpr-stt-btn svg { fill: var(--mdf-navy) !important; width: 14px !important; }

/* ---------------------------------------------------------------- tablet */

@media (max-width: 1024px) {
	html body .elementor-700 .elementor-element.elementor-element-7172726 > .elementor-container { padding: 0 24px; }
	html body .elementor-700 .wpr-logo-image img { max-height: 54px !important; }
	html body .elementor-700 .wpr-nav-menu .wpr-menu-item { margin: 0 9px !important; font-size: 14.5px !important; }

	html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container { gap: 40px; }
	html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container::after { width: clamp(240px, 32vw, 320px); height: clamp(300px, 40vw, 400px); }

	html body [data-elementor-type="wp-page"] > .elementor-top-section > .elementor-container,
	html body [data-elementor-type="wp-page"] > .e-con.e-parent > .e-con-inner { padding-left: 24px; padding-right: 24px; }
	html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container { padding-left: 54px; padding-right: 24px; }
}

@media (min-width: 768px) and (max-width: 900px) {
	html body .elementor-700 .elementor-element-7172726 > .elementor-container { padding: 0 16px; gap: 8px; flex-wrap: nowrap !important; align-items: center !important; }
	html body .elementor-700 .wpr-logo-image img { max-height: 46px !important; }
	html body .elementor-700 .wpr-nav-menu .wpr-menu-item { margin: 0 6px !important; font-size: 14px !important; }
	html body .elementor-700 .elementor-element.elementor-element-6137cd4 .wpr-button { padding: 10px 14px !important; font-size: 14px !important; min-height: 42px; }
	html body .elementor-700 .elementor-element.elementor-element-6137cd4 .wpr-button-text { white-space: nowrap; }
}

@media (min-width: 768px) and (max-width: 1024px) {
	html body .elementor-element.elementor-element-91e7bad > .elementor-container,
	html body .elementor-element.elementor-element-aa1905f > .elementor-container,
	html body .elementor-element.elementor-element-5d478087 > .elementor-container { flex-wrap: nowrap !important; gap: 32px; align-items: center !important; }
	html body .elementor-element.elementor-element-91e7bad > .elementor-container > .elementor-column,
	html body .elementor-element.elementor-element-aa1905f > .elementor-container > .elementor-column,
	html body .elementor-element.elementor-element-5d478087 > .elementor-container > .elementor-column { width: 50% !important; flex: 1 1 0; }
}

/* ---------------------------------------------------------------- mobile */

@media (max-width: 767px) {
	html body .elementor-700 .elementor-element.elementor-element-7172726 > .elementor-container {
		padding: 0 8px 0 16px;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 10px;
	}
	html body .elementor-700 .wpr-logo-image img { max-height: 44px !important; }
	html body .elementor-700 .elementor-element-7172726 > .elementor-container > .elementor-column.elementor-element-3d2c0e9b { flex: 1 1 auto; min-width: 0; }
	html body .elementor-700 .elementor-element-7172726 > .elementor-container > .elementor-column.elementor-element-4eaaeb5 { order: 2; }
	html body .elementor-700 .elementor-element-7172726 > .elementor-container > .elementor-column.elementor-element-35b1ec76 { order: 3; flex: 0 0 auto; }
	html body .elementor-700 .elementor-element.elementor-element-6137cd4 .wpr-button {
		padding: 9px 12px !important;
		min-height: 40px;
		font-size: 13.5px !important;
		white-space: nowrap;
	}
	html body .elementor-700 .elementor-element.elementor-element-6137cd4 .wpr-button .wpr-button-text { white-space: nowrap; }

	html body .elementor-widget-text-editor { font-size: 16.5px !important; }
	html body [data-elementor-type="wp-page"] h2.elementor-heading-title { font-size: clamp(30px, 8vw, 36px) !important; }
	/* One 20px gutter: Elementor stacks section, container and column padding
	   (up to 60px a side on Contatti), which left 240-280px of text on a 360px phone. */
	html body [data-elementor-type="wp-page"] .elementor-section,
	html body [data-elementor-type="wp-page"] .e-con {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	html body [data-elementor-type="wp-page"] .elementor-container,
	html body [data-elementor-type="wp-page"] .e-con-inner {
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: none !important;
	}
	html body [data-elementor-type="wp-page"] .elementor-column > .elementor-widget-wrap {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	html body [data-elementor-type="wp-page"] > .elementor-top-section > .elementor-container,
	html body [data-elementor-type="wp-page"] > .e-con.e-parent {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
	html body [data-elementor-type="wp-page"] .elementor-widget {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	html body [data-elementor-type="wp-page"] .elementor-widget-heading,
	html body [data-elementor-type="wp-page"] .elementor-widget-text-editor {
		width: 100% !important;
		max-width: 100% !important;
	}
	/* Stacked columns: one rhythm instead of Elementor's per-column gaps. */
	html body [data-elementor-type="wp-page"] .elementor-top-section > .elementor-container { row-gap: 32px; }
	html body [data-elementor-type="wp-page"] .elementor-column > .elementor-widget-wrap { padding-top: 0 !important; padding-bottom: 0 !important; }
	html body [data-elementor-type="wp-page"] .elementor-widget-video { margin-top: 0 !important; margin-bottom: 0 !important; }
	html body [data-elementor-type="wp-page"] .elementor-widget-video .elementor-wrapper { outline-offset: 6px; }

	/* Home hero: arch first, then the name. */
	html body .elementor-7 .elementor-element.elementor-element-eb81684 {
		padding: calc(var(--mdf-offset) + 32px) 0 0 !important;
		background-size: auto 40% !important;
	}
	html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 24px;
		padding: 0 20px !important;
	}
	html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container::after {
		order: 2;
		width: min(64vw, 260px);
		height: min(80vw, 325px);
		align-self: flex-end;
	}
	html body .elementor-element.elementor-element-eb81684 .elementor-element.elementor-element-9ae9950 { padding-bottom: 0; flex: 0 0 auto !important; }
	/* Sized so the name holds on one line from 360px up (8.6em measured). */
	html body [data-elementor-type] .elementor-element.elementor-element-d444423 .elementor-heading-title { font-size: clamp(30px, 9.2vw, 40px) !important; line-height: 1.04 !important; }
	html body .elementor-element.elementor-element-d444423 { margin-bottom: 18px !important; }
	html body [data-elementor-type] .elementor-element.elementor-element-186fb6d .elementor-heading-title { font-size: 19px !important; }

	html body .elementor-element.elementor-element-20ceb67c0,
	html body .elementor-element.elementor-element-6f65562,
	html body .elementor-element.elementor-element-16bb110,
	html body .elementor-element.elementor-element-11fc127 {
		padding-top: calc(var(--mdf-offset) + 52px) !important;
		padding-bottom: 44px !important;
		background-size: auto 62% !important;
		background-position: right -120px bottom -2px !important;
	}

	html body .elementor-element.elementor-element-34a4c66 { text-align: left !important; margin-top: 32px; }
	html body .elementor-element.elementor-element-34a4c66 img { max-width: 100% !important; }

	html body .elementor-element.elementor-element-9b55242 > .elementor-container { gap: 48px; }

	/* Timeline: icon column on the left, label and card stacked on the right.
	   Royal positions the icon absolutely and gives the card a fixed 37px
	   offset, so on phones the card covered the icon. */
	html body [data-elementor-type] .elementor-widget-wpr-posts-timeline { margin-bottom: 0 !important; }
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline,
	html body [data-elementor-type] .elementor-widget-wpr-posts-timeline .wpr-wrapper { padding: 0 !important; }
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		height: auto !important;
		padding-left: 54px !important;
		box-sizing: border-box !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-middle-line,
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-fill { display: none !important; }
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline::before {
		content: "";
		position: absolute;
		left: 18px;
		top: 18px;
		bottom: 36px;
		width: 1px;
		background: var(--mdf-line);
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry {
		float: none !important;
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 36px !important;
		padding: 0 !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry:last-of-type { margin-bottom: 0 !important; }
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-extra-label {
		display: block !important;
		width: auto !important;
		margin: 0 0 12px !important;
		padding: 6px 0 0 !important;
		text-align: left !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-extra-label .wpr-label {
		font-size: 21px !important;
		line-height: 1.2 !important;
		display: block;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-extra-label .wpr-sub-label {
		display: block;
		margin-top: 4px;
		font-size: 14.5px !important;
		line-height: 1.45 !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry-inner {
		position: static !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-main-line-icon.wpr-icon {
		position: absolute !important;
		left: -54px !important;
		top: 0 !important;
		right: auto !important;
		transform: none !important;
		translate: none !important;
		margin: 0 !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		box-shadow: 0 0 0 5px var(--mdf-mist) !important;
	}
	html body .elementor-2 [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-main-line-icon.wpr-icon { box-shadow: 0 0 0 5px #fff !important; }
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-main-line-icon svg { width: 15px !important; height: 15px !important; }
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-timeline-entry-inner .wpr-story-info-vertical.wpr-data-wrap {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 20px !important;
		left: 0 !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-description,
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-timeline-entry .wpr-description p {
		font-size: 15.5px !important;
		line-height: 1.6 !important;
		margin-bottom: 0 !important;
	}
	html body [data-elementor-type] .elementor-element.elementor-widget-wpr-posts-timeline .wpr-timeline-centered.wpr-one-sided-timeline .wpr-title-wrap { margin-bottom: 8px !important; }
	html body .wpr-timeline-entry .wpr-title,
	html body .wpr-timeline-entry .wpr-title a { font-size: 22px !important; line-height: 1.2 !important; }

	html body .elementor-243 .elementor-element.elementor-element-a90411a > .elementor-widget-wrap { padding: 28px 20px 24px !important; }
	html body .elementor-243 .elementor-element.elementor-element-92fd934 > .elementor-container { gap: 40px; }
	html body #map-vittorio-veneto > div { padding: 36px 24px !important; }

	html body .elementor-accordion .elementor-accordion-title { font-size: 17px !important; }
	html body .elementor-accordion .elementor-tab-title { gap: 16px; padding: 20px 0 !important; }

	html body .elementor-703 .elementor-element.elementor-element-4831f24a { padding: 64px 0 32px !important; }
	html body .elementor-703 .elementor-element.elementor-element-442401ed { background-size: auto 46% !important; }
	html body .elementor-703 .elementor-element.elementor-element-4dab4f8 { gap: 12px; }
	html body .elementor-703 .elementor-element-4831f24a .elementor-column > .elementor-widget-wrap { padding-left: 0 !important; padding-right: 0 !important; }
	html body .elementor-703 .elementor-element-4831f24a > .elementor-container { padding: 0 20px !important; }
	html body .elementor-703 .elementor-element-4831f24a .elementor-widget { margin-left: 0 !important; margin-right: 0 !important; }
	html body .elementor-703 .elementor-element-4831f24a .elementor-inner-section > .elementor-container { row-gap: 28px; }
	html body .elementor-703 .elementor-element.elementor-element-442401ed > .elementor-container { padding: 0 20px !important; }

	html body .elementor-element.elementor-element-ab058d9 { bottom: 16px !important; right: 16px !important; }
	html body .elementor-element.elementor-element-72daa77e .wpr-stt-btn { right: 22px !important; bottom: 84px !important; }
}

@media (prefers-reduced-motion: reduce) {
	html body .elementor-7 .elementor-element.elementor-element-eb81684 > .elementor-container::after,
	html body [data-elementor-type] .elementor-element.elementor-element-d444423 .elementor-heading-title {
		animation: none !important;
	}
	html body * { scroll-behavior: auto !important; }
}
