/*

Theme Name: Arrigoni

Theme URI: https://arrigoni.progettidemo.com

Author: Codex

Description: Tema custom leggero per il progetto Arrigoni Group.

Version: 1.1.0

Text Domain: arrigoni

*/



:root {

	--arrigoni-bg: #ffffff;

	--arrigoni-text: #1f2a1c;

	--arrigoni-muted: #5c6757;

	--arrigoni-accent: #7aa045;

	--arrigoni-accent-dark: #67883a;

	--arrigoni-menu-bg: #d9d9d9;

	--arrigoni-menu-hover: #ffffff;

	--arrigoni-contact-bg: #264530;

	--arrigoni-border: rgba(255, 255, 255, 0.55);

	--arrigoni-shadow: 0 8px 24px rgba(0, 0, 0, 0.10);

	--arrigoni-max: 1600px;

	--arrigoni-menu-font: "Roboto Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;

	--arrigoni-hero-title-font: "Aeonik", "Inter", "Helvetica Neue", Arial, sans-serif;

	--arrigoni-hero-text-font: "Avenir LT Std", "Avenir Next", "Aeonik", "Helvetica Neue", Arial, sans-serif;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-thin.woff2") format("woff2");

	font-weight: 300;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-thinitalic.woff2") format("woff2");

	font-weight: 300;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-light.woff2") format("woff2");

	font-weight: 300;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-lightitalic.woff2") format("woff2");

	font-weight: 300;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-air.woff2") format("woff2");

	font-weight: 350;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-airitalic.woff2") format("woff2");

	font-weight: 350;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-regular.woff2") format("woff2");

	font-weight: 400;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-regularitalic.woff2") format("woff2");

	font-weight: 400;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-medium.woff2") format("woff2");

	font-weight: 500;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-mediumitalic.woff2") format("woff2");

	font-weight: 500;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-semibold.woff2") format("woff2");

	font-weight: 600;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-semibolditalic.woff2") format("woff2");

	font-weight: 600;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-bold.woff2") format("woff2");

	font-weight: 700;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-bolditalic.woff2") format("woff2");

	font-weight: 700;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-black.woff2") format("woff2");

	font-weight: 900;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Aeonik";

	src: url("assets/fonts/aeonik/aeonik-blackitalic.woff2") format("woff2");

	font-weight: 900;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-Light.otf") format("opentype");

	font-weight: 300;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-Book.otf") format("opentype");

	font-weight: 400;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-BookOblique.otf") format("opentype");

	font-weight: 400;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-Roman.otf") format("opentype");

	font-weight: 500;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-RomanOblique.otf") format("opentype");

	font-weight: 500;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-Medium.otf") format("opentype");

	font-weight: 600;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-MediumOblique.otf") format("opentype");

	font-weight: 600;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-Heavy.otf") format("opentype");

	font-weight: 700;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-HeavyOblique.otf") format("opentype");

	font-weight: 700;

	font-style: italic;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-Black.otf") format("opentype");

	font-weight: 900;

	font-style: normal;

	font-display: swap;

}



@font-face {

	font-family: "Avenir LT Std";

	src: url("assets/fonts/avenir/AvenirLTStd-BlackOblique.otf") format("opentype");

	font-weight: 900;

	font-style: italic;

	font-display: swap;

}



*,

*::before,

*::after {

	box-sizing: border-box;

}



html {
	scroll-behavior: smooth;
	margin-top: 0 !important;
	overflow-x: clip;
}

body {
	margin: 0;
	background: var(--arrigoni-bg);
	color: var(--arrigoni-text);
	font-family: Arial, Helvetica, sans-serif;
	line-height: 1.5;
	overflow-x: clip;
}

body.is-menu-open {
	overflow: hidden;
}


a {

	color: inherit;

}



img {

	display: block;

	max-width: 100%;

	height: auto;

}



.skip-link {

	position: absolute;

	left: 1rem;

	top: 0;

	z-index: 1000;

	padding: 0.75rem 1rem;

	background: #fff;

	color: #000;

	border: 2px solid currentColor;

	border-radius: 0.5rem;

	text-decoration: none;

	opacity: 0;

	pointer-events: none;

	transform: translateY(-150%);

	transition: transform 160ms ease, opacity 160ms ease;

}



.skip-link:focus {

	opacity: 1;

	pointer-events: auto;

	transform: translateY(1rem);

}



.site-header {

	background: transparent;

	position: fixed;

	top: 0;

	left: 0;

	right: 0;

	z-index: 20;

	width: 100%;

	transition: background-color 180ms ease;

}



.site-header.is-scrolled {

	background: var(--site-header-scrolled-bg, rgba(255, 255, 255, 0.6));

}



.site-header__inner {

	max-width: var(--arrigoni-max);

	margin: 0 auto;

	padding: 0.9rem 1rem;

	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 1rem;

}



.site-branding {

	flex: 0 0 auto;

	min-width: 0;

}



.site-branding__link {

	display: inline-flex;

	align-items: center;

	gap: 0.35rem;

	text-decoration: none;

	white-space: nowrap;

}



.custom-logo-link {

	display: inline-flex;

	align-items: center;

}



.custom-logo {

	width: auto;

	max-height: 42px;

}



.site-branding__mark {

	color: var(--arrigoni-accent);

	font-size: 2rem;

	line-height: 1;

	font-weight: 700;

	margin-right: 0.05rem;

	transform: translateY(-0.05em);

}



.site-branding__text {

	display: inline-flex;

	align-items: baseline;

	font-weight: 700;

	letter-spacing: -0.03em;

	line-height: 1;

	text-transform: uppercase;

}



.site-branding__name {

	font-size: clamp(1.4rem, 2.2vw, 2.15rem);

	color: var(--arrigoni-accent);

}



.site-branding__group {

	font-size: clamp(1.25rem, 2vw, 1.9rem);

	color: var(--arrigoni-muted);

	margin-left: 0.02em;

}



.site-nav {
	flex: 1 1 auto;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
}

.site-nav__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 4.1rem;
	height: 3rem;
	padding: 0.35rem 0.55rem;
	border: 0;
	border-radius: 0.9rem;
	background: transparent;
	cursor: pointer;
	color: #ffffff;
	flex-direction: column;
	gap: 0.42rem;
}

.site-nav__toggle-line {
	display: block;
	width: 100%;
	height: 0.48rem;
	border-radius: 999px;
}
.site-nav__toggle-line {
	background: #264530;
}
.home .site-nav__toggle-line {
	background: #ffffff;
}

.site-nav__toggle-line:nth-child(2) {
	width: 78%;
	align-self: flex-start;
}

.site-nav__panel {

	display: inline-flex;

	align-items: flex-start;

	gap: 0.45rem;

	padding: 0.42rem;

	background: var(--arrigoni-menu-bg);

	border-radius: 0.72rem;

}



.site-nav__list {

	list-style: none;

	display: flex;

	align-items: center;

	flex-wrap: nowrap;

	justify-content: flex-end;

	gap: 0.15rem;

	margin: 0;

	padding: 0;

	background: transparent;

}



.site-nav__list > li {

	list-style: none;

	margin: 0;

	position: relative;

}



.site-nav__link,
.site-nav__contact,
.site-nav__sublink {
	display: inline-flex;
	align-items: center;
	min-height: 3.25rem;
	padding: 0.45rem 0.9rem;
	border-radius: 0.42rem;
	text-decoration: none;
	font-family: var(--arrigoni-menu-font);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: uppercase;
	line-height: 1;
	transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
}



.site-nav__link {

	color: #303430;

}



.site-nav__contact {

	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	height: 3.25rem;
	padding: 0 1.05rem;
	background: transparent;
	color: #ffffff;
	text-decoration: none;
	border-radius: 0.42rem;
	font-family: var(--arrigoni-menu-font);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: uppercase;
	line-height: 1;
	isolation: isolate;
}



.site-nav__contact::before,

.site-nav__contact::after {

	content: "";

	position: absolute;

	inset: 0;

	border-radius: 0.42rem;

	transition: transform 240ms ease;

	will-change: transform;

	z-index: -1;

}



.site-nav__contact::before {

	background: var(--arrigoni-contact-bg);

	transform: translateY(0);

}



.site-nav__contact::after {

	background: #528d3f;

	transform: translateY(100%);

}



.site-nav__contact:hover::before,

.site-nav__contact:focus-visible::before {

	transform: translateY(-100%);

}



.site-nav__contact:hover::after,

.site-nav__contact:focus-visible::after {

	transform: translateY(0);

}



.site-nav__link:hover,

.site-nav__link:focus-visible,

.site-nav__list > .current-menu-item > .site-nav__link,

.site-nav__list > .current-menu-ancestor > .site-nav__link {

	background: var(--arrigoni-menu-hover);

	color: #202420;

}



.site-nav__link:focus-visible,

.site-nav__contact:focus-visible,

.site-nav__sublink:focus-visible {

	outline: 2px solid var(--arrigoni-contact-bg);

	outline-offset: 2px;

}



.site-nav__contact:hover,
.site-nav__contact:focus-visible {
	background: transparent;
	color: #ffffff;
}

.site-nav__language-switcher {
	position: relative;
	flex: 0 0 auto;
	margin-left: 0.15rem;
	padding-left: 0.1rem;
	isolation: isolate;
}

.site-nav__language-toggle {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.22rem;
	min-width: 3.25rem;
	min-height: 3.25rem;
	padding: 0.45rem 0.55rem 0.4rem;
	border: 0;
	border-radius: 0.72rem;
	background: rgba(255, 255, 255, 0.96);
	color: #264530;
	font-family: var(--arrigoni-menu-font);
	font-size: 0.95rem;
	font-weight: 400;
	letter-spacing: 0.03em;
	line-height: 1;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	box-shadow: none;
}

.site-nav__language-code {
	display: block;
	font-size: 1rem;
	line-height: 1;
	text-transform: uppercase;
}

.site-nav__language-arrow {
	display: block;
	width: 0;
	height: 0;
	border-left: 0.45rem solid transparent;
	border-right: 0.45rem solid transparent;
	border-top: 0.55rem solid #000000;
	margin-top: 0.1rem;
}

.site-nav__language-menu {
	min-width: 0;
	width: auto;
	left: 0;
	padding-top: 0.65rem;
}

.site-nav__language-menu .site-nav__sublink {
	justify-content: center;
	width: auto;
	min-width: 0;
	align-self: flex-start;
	padding-inline: 1rem;
	font-size: 1rem;
}

.site-nav__language-switcher:hover > .site-nav__language-toggle,
.site-nav__language-switcher:focus-within > .site-nav__language-toggle {
	background: rgba(255, 255, 255, 0.96);
	color: #264530;
}

.site-nav__submenu,
.site-nav__list .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;

	z-index: 30;

	list-style: none;

	margin: 0;

	padding: 0.75rem 0 0;

	min-width: 11rem;

	background: transparent;

	border-radius: 0.72rem;

	box-shadow: none;

	opacity: 0;

	visibility: hidden;

	pointer-events: none;

	transform: translateY(-1.25rem);

	transition: opacity 720ms ease, transform 720ms ease, visibility 0s linear 720ms;

	gap: 0.25rem;
}

.site-nav__submenu-toggle {
	display: none;
}


.menu-item-has-children:hover > .site-nav__submenu,

.menu-item-has-children:focus-within > .site-nav__submenu {

	opacity: 1;

	visibility: visible;

	pointer-events: auto;

	transform: translateY(0);

	transition: opacity 720ms ease, transform 720ms ease, visibility 0s linear 0s;

	display: grid;

	gap: 0.25rem;

}



.menu-item-has-children:hover > .sub-menu,

.menu-item-has-children:focus-within > .sub-menu {

	opacity: 1;

	visibility: visible;

	pointer-events: auto;

	transform: translateY(0);

	transition: opacity 720ms ease, transform 720ms ease, visibility 0s linear 0s;

	display: grid;

	gap: 0.25rem;

}



.site-nav__submenu > li,

.site-nav__list .sub-menu > li {

	list-style: none;

	opacity: 0;

	transform: translateY(-1.25rem) scale(0.985);

	transition: opacity 720ms ease, transform 720ms cubic-bezier(0.22, 0.85, 0.22, 1);

}



.menu-item-has-children:hover > .site-nav__submenu > li,

.menu-item-has-children:focus-within > .site-nav__submenu > li {

	opacity: 1;

	transform: translateY(0);

}



.menu-item-has-children:hover > .sub-menu > li,

.menu-item-has-children:focus-within > .sub-menu > li {

	opacity: 1;

	transform: translateY(0);

}



.site-nav__sublink {

	width: 100%;

	background: var(--arrigoni-menu-hover);

	color: #343434;

	padding-inline: 0.95rem;

	white-space: nowrap;

}



.site-nav__submenu a.site-nav__link,

.site-nav__list .sub-menu a.site-nav__link {

	background: var(--arrigoni-menu-hover);

	color: #343434;

}



.site-nav__sublink:hover,

.site-nav__submenu a.site-nav__link:hover,

.site-nav__list .sub-menu a.site-nav__link:hover,

.site-nav__sublink:focus-visible {

	background: #ffffff;

	color: #000000;

}



.site-main {

	max-width: var(--arrigoni-max);

	margin: 0 auto;

	padding: 6.5rem 1rem 1rem;

}



.entry-content,

.entry-summary {

	max-width: 70ch;

}



.home-hero {

	min-height: 100vh;

	position: relative;

	overflow: clip;

}



.home-hero__stage {

	position: relative;

	min-height: 100vh;

	background-color: #0f2f17;

	background-position: center center;

	background-repeat: no-repeat;

	background-size: cover;

}



.home-hero__video {

	position: absolute;

	inset: 0;

	width: 100%;

	height: 100%;

	object-fit: cover;

	-webkit-transform: scaleX(-1);

	transform: scaleX(-1);

}



.home-hero__overlay {

	position: absolute;

	inset: 0;

	background:

		linear-gradient(90deg, rgba(8, 28, 12, 0.72) 0%, rgba(8, 28, 12, 0.44) 42%, rgba(8, 28, 12, 0.18) 100%),

		radial-gradient(circle at 72% 26%, rgba(126, 193, 92, 0.20), transparent 26%);

}



.home-hero__inner {

	position: relative;

	z-index: 1;

	min-height: 100vh;

	display: flex;

	align-items: center;

	padding: 0 1rem 2rem;

}



.home-hero__content {

	width: min(100%, 1600px);

	margin: 0 auto;

	position: relative;

	min-height: 100vh;

	display: flex;

	flex-direction: column;

	justify-content: space-between;

	color: #fff;

}



.home-hero__content > h1.home-hero__title {

	flex: 0 0 auto;

	transform: translateY(-50%);

	max-width: none;

	margin: max(40vh, 320px) 0 0;

	font-size: clamp(4rem, 7.5vw, 100px);

	line-height: 0.92;

	font-weight: 500;

	letter-spacing: -3px;

	font-family: var(--arrigoni-hero-title-font);

}



.home-hero__title-segment {

	display: inline-block;

	opacity: 0;

	transform: translateX(-0.6rem);

	will-change: opacity, transform;

}



body.is-loaded .home-hero__title-segment {

	animation: arrigoni-hero-in 0.72s ease forwards;

	animation-delay: var(--hero-delay, 0s);

}



.home-hero__body {

	flex: 0 0 auto;

	margin-bottom: 80px;

	width: 50%;

	display: grid;

	gap: 4rem;

}



.home-hero__text,

.home-hero__text p {

	width: 100%;

	max-width: none;

	font-size: 18px;

	line-height: 1.6;

	font-weight: 400;

	font-family: var(--arrigoni-hero-text-font);

	color: rgba(255, 255, 255, 0.94);

}



.home-hero__text p {

	margin: 0;

}



.home-hero__text strong {

	font-weight: 700;

}



.home-hero__cta {

	margin: 0;

	padding-top: 0.55rem;

}



.home-hero__button {

	display: inline-flex;

	align-items: center;

	min-height: 3rem;

	padding: 0.75rem 1.2rem;

	border-radius: 0.55rem;

	background: #528d3f;

	color: #fff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0.08em;

	text-decoration: none;

	text-transform: uppercase;

	transition: background-color 160ms ease, color 160ms ease;

}



.home-hero__button:hover,

.home-hero__button:focus-visible {

	background: #ffffff;

	color: #264530;

}



.group-page {

	background: linear-gradient(180deg, #ffffff 0%, rgba(82, 141, 63, 1) 50%, #ffffff 100%);

	color: #264530;

}



.group-intro {

	position: relative;

	width: 100%;

	background: linear-gradient(180deg, #e4e4e4 0%, #d9d9d9 100%);

	color: #264530;

	overflow: hidden;

}



.sustainability-page .group-intro {

	background: transparent;

}



.news-page {

	background: linear-gradient(180deg, #e4e4e4 0%, #d9d9d9 100%);

	color: #264530;

}



.news-page .group-intro {

	background: transparent;

}



.news-page__content {

	padding: 0 0 100px;

	box-sizing: border-box;

}



.news-page__content-inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	box-sizing: border-box;

}



.news-page__content-body {

	display: grid;

	grid-template-columns: minmax(0, 40%) minmax(0, 60%);

	gap: clamp(2rem, 5vw, 4rem);

	align-items: start;

}



.news-page__content-left,

.news-page__content-right {

	min-width: 0;

}



.news-page__content-title,

.news-page__content-title p,

.news-page__content-title h1,

.news-page__content-title h2,

.news-page__content-title h3,

.news-page__content-title h4,

.news-page__content-title h5,

.news-page__content-title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(2.4rem, 3vw, 50px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;

}



.news-page__content-text,

.news-page__content-text p,

.news-page__content-text h1,

.news-page__content-text h2,

.news-page__content-text h3,

.news-page__content-text h4,

.news-page__content-text h5,

.news-page__content-text h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #264530;

}



.news-page__content-text > *,

.news-page__content-title > * {

	max-width: 100%;

}



.news-page__content-text p + p {

	margin-top: 1.15rem;

}



.news-page__featured {

	padding: 0 0 100px;

	box-sizing: border-box;

}



.news-page__featured-inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	box-sizing: border-box;

}



.news-page__archive {

	padding: 0;

	margin-bottom: -25px;

	position: relative;

	z-index: 2;

	box-sizing: border-box;

}



.news-page__archive-inner {

	width: 100%;

	margin: 0 auto;

	border-radius: 2rem;

	background: #c9cbbe;

	overflow: hidden;

	box-sizing: border-box;

}



.news-page__archive-container {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 100px 0;

	box-sizing: border-box;

}



.news-page__archive-header {

	display: flex;

	align-items: flex-start;

	justify-content: space-between;

	gap: 1.5rem;

	margin-bottom: clamp(2rem, 4vw, 3rem);

}



.news-page__archive-title,

.news-page__archive-title p,

.news-page__archive-title h1,

.news-page__archive-title h2,

.news-page__archive-title h3,

.news-page__archive-title h4,

.news-page__archive-title h5,

.news-page__archive-title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3rem, 3.5vw, 50px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;

}



.news-page__filters {

	display: flex;

	flex-wrap: wrap;

	gap: 0.75rem;

	justify-content: flex-end;

}



.news-page__filter-button {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	min-height: 2.4rem;

	padding: 0.55rem 0.95rem;

	border: 0;

	border-radius: 0.55rem;

	background: #528d3f;

	color: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 12px;

	font-weight: 400;

	letter-spacing: 0.08em;

	text-transform: uppercase;

	cursor: default;

}



.news-page__grid {

	margin-top: 0;

}



.contact-page {

	background: #e4e4e4;

	color: #264530;

}



.contact-page__intro-inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	box-sizing: border-box;

}



.contact-page__title-section {

	display: flex;

	align-items: center;

	min-height: 50vh;

	padding-top: 8rem;

	padding-bottom: 4rem;

	box-sizing: border-box;

}



.contact-page__title-content {

	width: 100%;

}



.contact-page__title,

.contact-page__title p,

.contact-page__title h1,

.contact-page__title h2,

.contact-page__title h3,

.contact-page__title h4,

.contact-page__title h5,

.contact-page__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(4rem, 7vw, 100px);

	font-weight: 500;

	line-height: 0.92;

	letter-spacing: -3px;

	color: #264530;

}



.contact-page__content-wrap {

	padding: 0 0 100px;

	box-sizing: border-box;

}



.contact-page__content-inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	box-sizing: border-box;

}



.contact-page__content-body {

	display: grid;

	grid-template-columns: minmax(0, 40%) minmax(0, 60%);

	gap: clamp(2rem, 5vw, 4rem);

	align-items: start;

}



.contact-page__content-left,

.contact-page__content-right {

	min-width: 0;

}



.contact-page__content-title,

.contact-page__content-title p,

.contact-page__content-title h1,

.contact-page__content-title h2,

.contact-page__content-title h3,

.contact-page__content-title h4,

.contact-page__content-title h5,

.contact-page__content-title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(2.4rem, 3vw, 50px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;

}



.contact-page__content-text,

.contact-page__content-text p,

.contact-page__content-text h1,

.contact-page__content-text h2,

.contact-page__content-text h3,

.contact-page__content-text h4,

.contact-page__content-text h5,

.contact-page__content-text h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #264530;

}



.contact-page__content-text > *,

.contact-page__content-title > * {

	max-width: 100%;

}



.contact-page__content-text p + p {

	margin-top: 1.15rem;

}



.contact-page__write {

	margin-bottom: -25px;

	padding: 0;

	position: relative;

	z-index: 2;

	box-sizing: border-box;

}



.contact-page__write-inner {

	width: 100%;

	margin: 0 auto;

	padding: 0;

	border-radius: 2rem;

	background: #d9d9d9;

	overflow: hidden;

	box-sizing: border-box;

}



.contact-page__write-content {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 100px 0 30px;

	box-sizing: border-box;

}



.contact-page__write-head {

	padding: 0 0 40px;

	width: 100%;

	margin: 0 auto;

	box-sizing: border-box;

}



.contact-page__write-title,

.contact-page__write-title p,

.contact-page__write-title h1,

.contact-page__write-title h2,

.contact-page__write-title h3,

.contact-page__write-title h4,

.contact-page__write-title h5,

.contact-page__write-title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(2.8rem, 4vw, 50px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;

}



.contact-page__write-text,

.contact-page__write-text p,

.contact-page__write-text h1,

.contact-page__write-text h2,

.contact-page__write-text h3,

.contact-page__write-text h4,

.contact-page__write-text h5,

.contact-page__write-text h6 {

	margin: 1.1rem 0 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.45;

	color: #264530;

}



.contact-page__write-card {

	width: 100%;

	margin: 0;

	padding: 48px 40px 44px;

	border-radius: 1.3rem;

	background: #ffffff;

	display: grid;

	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

	column-gap: clamp(2rem, 4vw, 4rem);

	row-gap: 0;

	align-items: stretch;

	box-sizing: border-box;

}



.contact-page__write-card .wpforms-container,

.contact-page__write-card .wpforms {

	grid-column: 1 / -1;

	height: 100%;

	margin: 0 !important;

}



.contact-page__write-card .wpforms-form {

	display: flex !important;

	flex-direction: column !important;

	height: 100% !important;

	min-height: 100% !important;

	margin: 0 !important;

	padding: 0 !important;

	background: transparent !important;

}



.contact-page__write-card .wpforms-field-container {

	display: grid !important;

	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

	column-gap: clamp(2rem, 4vw, 4rem);

	row-gap: 1.2rem;

	padding: 0 !important;

	flex: 1 1 auto;

}



.contact-page__write-card .wpforms-field,

.contact-page__write-card .wpforms-field-row {

	margin: 0 !important;

	min-width: 0;

}



.contact-page__write-card .wpforms-field-label {

	display: none !important;

}



.contact-page__write-card .wpforms-field-text,

.contact-page__write-card .wpforms-field-email,

.contact-page__write-card .wpforms-field-textarea {

	grid-column: 1 !important;

}



.contact-page__write-card [id$="-field_1-container"],

.contact-page__write-card [id$="-field_2-container"],

.contact-page__write-card [id$="-field_3-container"],

.contact-page__write-card [id$="-field_4-container"] {

	grid-column: 1 !important;

}



.contact-page__write-card [id$="-field_1-container"] {

	grid-row: 1 !important;

}



.contact-page__write-card [id$="-field_2-container"] {

	grid-row: 2 !important;

}



.contact-page__write-card [id$="-field_3-container"] {

	grid-row: 3 !important;

}



.contact-page__write-card [id$="-field_4-container"] {

	grid-row: 4 !important;

}



.contact-page__write-card .wpforms-field-checkbox,

.contact-page__write-card [id$="-field_5-container"],

.contact-page__write-card [id$="-field_6-container"] {

	grid-column: 2 !important;

	align-self: start !important;

}



.contact-page__write-card [id$="-field_5-container"] {

	grid-row: 1 !important;

	padding-top: 0.4rem !important;

}



.contact-page__write-card [id$="-field_6-container"] {

	grid-row: 2 !important;

	padding-top: 0.15rem !important;

}



.contact-page__write-card input[type="text"],

.contact-page__write-card input[type="email"],

.contact-page__write-card input[type="tel"],

.contact-page__write-card input[type="url"],

.contact-page__write-card textarea,

.contact-page__write-card select {

	width: 100% !important;

	padding: 0.35rem 0 0.55rem !important;

	border: 0 !important;

	border-bottom: 1px solid rgba(38, 69, 48, 0.4) !important;

	border-radius: 0 !important;

	background: transparent !important;

	color: #264530 !important;

	font-family: var(--arrigoni-hero-text-font) !important;

	font-size: 16px !important;

	font-weight: 400 !important;

	line-height: 1.35 !important;

	box-shadow: none !important;

	outline: none !important;

}



.contact-page__write-card input::placeholder,

.contact-page__write-card textarea::placeholder {

	color: rgba(38, 69, 48, 0.65) !important;

	font-size: 12px !important;

	opacity: 1 !important;

}



.contact-page__write-card textarea {

	min-height: 7.8rem;

}



.contact-page__write-card .wpforms-field-checkbox ul,

.contact-page__write-card .wpforms-field-gdpr-checkbox ul {

	list-style: none;

	padding: 0;

	margin: 0;

}



.contact-page__write-card .wpforms-field-checkbox fieldset,

.contact-page__write-card .wpforms-field-gdpr-checkbox fieldset {

	border: 0 !important;

	margin: 0 !important;

	padding: 0 !important;

}



.contact-page__write-card .wpforms-field-checkbox legend,

.contact-page__write-card .wpforms-field-gdpr-checkbox legend {

	display: none !important;

}



.contact-page__write-card .wpforms-field-checkbox li,

.contact-page__write-card .wpforms-field-gdpr-checkbox li {

	display: flex;

	align-items: flex-start;

	gap: 0.65rem;

	margin-bottom: 0;

}



.contact-page__write-card .wpforms-field-checkbox label,

.contact-page__write-card .wpforms-field-gdpr-checkbox label {

	margin: 0 !important;

	color: rgba(38, 69, 48, 0.82) !important;

	font-family: var(--arrigoni-hero-text-font) !important;

	font-size: 14px !important;

	font-weight: 400 !important;

	line-height: 1.4 !important;

	background: transparent !important;

}



.contact-page__write-card .wpforms-field-checkbox input[type="checkbox"],

.contact-page__write-card .wpforms-field-gdpr-checkbox input[type="checkbox"] {

	accent-color: #528d3f !important;

	margin-top: 0.25rem !important;

}



.contact-page__write-card .wpforms-submit-container {

	margin-top: auto !important;

	padding: 0 !important;

	align-self: flex-start !important;

}



.contact-page__write-card .wpforms-submit {

	display: inline-flex !important;

	align-items: center !important;

	justify-content: center !important;

	min-height: 2.9rem !important;

	padding: 0.68rem 1.2rem !important;

	border: 0 !important;

	border-radius: 0.6rem !important;

	background: #528d3f !important;

	color: #ffffff !important;

	font-family: var(--arrigoni-menu-font) !important;

	font-size: 14px !important;

	font-weight: 400 !important;

	letter-spacing: 0 !important;

	text-transform: uppercase !important;

	box-shadow: none !important;

}



.contact-page__write-card .wpforms-submit:hover,

.contact-page__write-card .wpforms-submit:focus-visible {

	background: #264530 !important;

	color: #ffffff !important;

}



.contact-page__write-privacy {

	grid-column: 2;

	grid-row: 2;

	width: 100%;

	margin: 1.75rem 0 0;

	color: #264530;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 14px;

	line-height: 1.5;

}



.contact-page__write-privacy p {

	margin: 0;

}



.contact-page__write-privacy p + p {

	margin-top: 1rem;

}



.contact-page__write-privacy strong {

	font-weight: 700;

}



.contact-page__companies {

	border-top: 1px solid rgba(255, 255, 255, 0.95);

	margin-bottom: -2rem;

	padding: 50px 0 100px;

	box-sizing: border-box;

	position: relative;

	z-index: 2;

}



.contact-page__companies-top {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto 30px;

	box-sizing: border-box;

}



.contact-page__companies-label,

.contact-page__companies-label p,

.contact-page__companies-label h1,

.contact-page__companies-label h2,

.contact-page__companies-label h3,

.contact-page__companies-label h4,

.contact-page__companies-label h5,

.contact-page__companies-label h6 {

	margin: 0;

	display: inline-flex;

	align-items: center;

	padding: 0.45rem 0.8rem;

	border-radius: 0.45rem;

	background: rgba(255, 255, 255, 0.75);

	color: #264530;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

	line-height: 1;

}



.contact-page__companies-label p {

	padding: 0;

	background: transparent;

}



.contact-page__companies-label p::before {

	content: "";

	display: inline-block;

	width: 0.5rem;

	height: 0.5rem;

	margin-right: 0.45rem;

	border-radius: 0.12rem;

	background: #528D3F;

}



.contact-page__companies-grid {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	display: grid;

	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

	gap: clamp(2rem, 4vw, 5rem);

	align-items: start;

	box-sizing: border-box;

}



.contact-page__companies-left {

	min-width: 0;

}



.contact-page__companies-title,

.contact-page__companies-title p,

.contact-page__companies-title h1,

.contact-page__companies-title h2,

.contact-page__companies-title h3,

.contact-page__companies-title h4,

.contact-page__companies-title h5,

.contact-page__companies-title h6 {

	margin: 0 0 2rem;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(2.4rem, 3vw, 50px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;

}



.contact-page__companies-columns {

	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 1.35rem;

}



.contact-page__companies-column + .contact-page__companies-column {

	padding-left: 1.35rem;

	border-left: 1px solid rgba(38, 69, 48, 0.28);

}



.contact-page__companies-column,

.contact-page__companies-column p,

.contact-page__companies-column h1,

.contact-page__companies-column h2,

.contact-page__companies-column h3,

.contact-page__companies-column h4,

.contact-page__companies-column h5,

.contact-page__companies-column h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 16px;

	font-weight: 400;

	line-height: 1.45;

	color: #264530;

}



.contact-page__companies-column p {

	margin: 0 0 1rem;

}



.contact-page__companies-column p:last-child {

	margin-bottom: 0;

}



.contact-page__companies-column strong {

	font-weight: 700;

}



.contact-page__companies-map {

	min-width: 0;

	min-height: 26rem;

}



.contact-page__companies-map,

.contact-page__companies-map iframe {

	display: block;

	width: 100%;

	min-height: 26rem;

	border: 0;

	border-radius: 1.3rem;

	background: #c9c9c9;

}



.contact-page__companies-map-fallback {

	display: flex;

	align-items: center;

	justify-content: center;

	min-height: 26rem;

	padding: 1.5rem;

	text-align: center;

	font-family: var(--arrigoni-hero-text-font);

	color: #264530;

}



.contact-page__marquee {

	background: #ffffff;

	padding: 20px 0;

	position: relative;

	z-index: 1;

}



.contact-page__marquee .home-marquee__inner {

	width: 100vw;

	margin-left: calc(50% - 50vw);

	margin-right: calc(50% - 50vw);

}



.group-intro__inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	box-sizing: border-box;

}



.group-intro__title-section {

	display: flex;

	align-items: center;

	min-height: 50vh;

	padding-top: 8rem;

	padding-bottom: 4rem;

	box-sizing: border-box;

}



.group-intro__title-content {

	width: 100%;

}



.group-intro__title,

.group-intro__title p,

.group-intro__title h1,

.group-intro__title h2,

.group-intro__title h3,

.group-intro__title h4,

.group-intro__title h5,

.group-intro__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(4rem, 7vw, 100px);

	font-weight: 500;

	line-height: 0.92;

	letter-spacing: -3px;

	color: #264530;

}



.group-intro__title-line {

	display: block;

}



.group-intro__title-segment {

	display: inline-block;

	opacity: 0;

	transform: translateX(-0.6rem);

	will-change: opacity, transform;

}



body.is-loaded .group-intro__title-segment {

	animation: arrigoni-hero-in 0.72s ease forwards;

	animation-delay: var(--hero-delay, 0s);

}



.group-intro__focus {

	padding: 0 0 6rem;

}



.group-intro__focus-inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	box-sizing: border-box;

}



.group-intro__focus-inner .wp-block,

.group-intro__focus-inner p,

.group-intro__focus-inner h1,

.group-intro__focus-inner h2,

.group-intro__focus-inner h3,

.group-intro__focus-inner h4,

.group-intro__focus-inner h5,

.group-intro__focus-inner h6 {

	color: #264530;

}



.group-intro__content-wrap {

	width: 100%;

	padding: 0 25px 100px;

	box-sizing: border-box;

}



.group-intro__content-shell {

	position: relative;

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 80px 80px 200px;

	border-radius: 2rem;

	overflow: hidden;

	box-sizing: border-box;

	background: #12351f;

	color: #ffffff;

}



.group-intro__content-media {

	position: absolute;

	inset: 0;

	z-index: 0;

	overflow: hidden;

}



.group-intro__content-image,

.group-intro__content-video {

	width: 100%;

	height: 100%;

	display: block;

}



.group-intro__content-image {

	background-position: center;

	background-repeat: no-repeat;

	background-size: cover;

}



.group-intro__content-video {

	object-fit: cover;

	object-position: center;

	-webkit-transform: scaleX(-1);

	transform: scaleX(-1);

}



.group-intro__content-overlay {

	position: absolute;

	inset: 0;

	background: linear-gradient(180deg, rgba(18, 53, 31, 0.35) 0%, rgba(18, 53, 31, 0.55) 100%);

}



.group-intro__content-inner {

	position: relative;

	z-index: 1;

	display: grid;

	gap: 50px;

}



.group-intro__content-header {

	display: flex;

	align-items: center;

}



.group-intro__section-label {

	display: inline-flex;

	align-items: center;

	gap: 0.55rem;

	margin: 0;

	padding: 0.5rem 0.8rem;

	border-radius: 0.45rem;

	background: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

}



.group-intro__label-mark {

	width: 0.65rem;

	height: 0.65rem;

	border-radius: 0.18rem;

	background: #528d3f;

	flex: 0 0 auto;

}



.group-intro__content-body {

	display: grid;

	grid-template-columns: minmax(0, 40%) minmax(0, 60%);

	gap: 50px;

	align-items: start;

}



.group-intro__content-body > * {

	min-width: 0;

}



.group-intro__content-title-wrap,

.group-intro__content-text {

	min-width: 0;

	width: 100%;

}



.group-intro__content-title,

.group-intro__content-title p,

.group-intro__content-title h1,

.group-intro__content-title h2,

.group-intro__content-title h3,

.group-intro__content-title h4,

.group-intro__content-title h5,

.group-intro__content-title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3.75rem, 5vw, 70px);

	font-weight: 300;

	line-height: 0.96;

	letter-spacing: -0.03em;

	color: #ffffff;

	max-width: 100%;

	word-break: normal;

	white-space: normal;

}



.group-intro__content-title {

	display: block;

	width: 100%;

	opacity: 0;

	transform: translateX(2rem);

}


.group-intro.is-inview .group-intro__content-title {

	animation: groupIntroTitleIn 2s cubic-bezier(0.16, 1, 0.3, 1) both;

}


@keyframes groupIntroTitleIn {

	from {

		opacity: 0;

		transform: translateX(2rem);

	}

	to {

		opacity: 1;

		transform: translateX(0);

	}

}



.group-intro__content-title > * {

	display: block;

	max-width: 100%;

}



.group-intro__content-text,

.group-intro__content-text p,

.group-intro__content-text h1,

.group-intro__content-text h2,

.group-intro__content-text h3,

.group-intro__content-text h4,

.group-intro__content-text h5,

.group-intro__content-text h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: rgba(255, 255, 255, 0.96);

	max-width: 100%;

	word-break: normal;

	white-space: normal;

}



.group-intro__content-text {

	display: block;

	width: 100%;

	overflow: hidden;

}



.group-intro__content-text > * {

	display: block;

	max-width: 100%;

}



.group-intro__content-text p + p {

	margin-top: 1.15rem;

}



.group-intro__divider {
	width: 100%;
	height: 1px;
	background: #264530;
	opacity: 0.9;
}


.sustainability-philosophy {

	width: 100%;

	border-top: 1px solid rgba(255, 255, 255, 0.55);

	background: transparent;

	color: #ffffff;

}



.sustainability-philosophy__inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 100px 0 110px;

	box-sizing: border-box;

}



.sustainability-philosophy__body {

	display: grid;

	grid-template-columns: minmax(0, 33%) minmax(0, 67%);

	gap: clamp(2rem, 5vw, 4rem);

	align-items: stretch;

}



.sustainability-philosophy__left {

	display: grid;

	gap: 2rem;

	align-content: space-between;

	align-self: stretch;

	min-width: 0;

}



.sustainability-philosophy__label {

	display: inline-flex;

	align-items: center;

	gap: 0.55rem;

	margin: 0;

	padding: 0.5rem 0.8rem;

	border-radius: 0.45rem;

	background: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

	width: fit-content;

}



.sustainability-philosophy__label-mark {

	width: 0.65rem;

	height: 0.65rem;

	border-radius: 0.18rem;

	background: #528d3f;

	flex: 0 0 auto;

}



.sustainability-philosophy__media {

	width: min(100%, 22rem);

	aspect-ratio: 1 / 1;

	border-radius: 1.45rem;

	overflow: hidden;

	background: rgba(255, 255, 255, 0.08);

	box-shadow: 0 1rem 2.8rem rgba(0, 0, 0, 0.12);

	align-self: end;

}



.sustainability-philosophy__image,

.sustainability-philosophy__video {

	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;

	object-position: center;

}



.sustainability-philosophy__video {

	-webkit-transform: scaleX(-1);

	transform: scaleX(-1);

}



.sustainability-philosophy__right {

	min-width: 0;

	margin-right: auto;

}



.sustainability-philosophy__title,

.sustainability-philosophy__title p,

.sustainability-philosophy__title h1,

.sustainability-philosophy__title h2,

.sustainability-philosophy__title h3,

.sustainability-philosophy__title h4,

.sustainability-philosophy__title h5,

.sustainability-philosophy__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3.25rem, 4.4vw, 72px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;

	margin-bottom: 50px;

}



.sustainability-philosophy__subtitle,

.sustainability-philosophy__subtitle p,

.sustainability-philosophy__subtitle h1,

.sustainability-philosophy__subtitle h2,

.sustainability-philosophy__subtitle h3,

.sustainability-philosophy__subtitle h4,

.sustainability-philosophy__subtitle h5,

.sustainability-philosophy__subtitle h6 {

	margin: 1.25rem 0 0;

	max-width: 50rem;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 28px;

	font-weight: 400;

	line-height: 1.55;

	color: #ffffff;

}



.sustainability-philosophy__text,

.sustainability-philosophy__text p,

.sustainability-philosophy__text h1,

.sustainability-philosophy__text h2,

.sustainability-philosophy__text h3,

.sustainability-philosophy__text h4,

.sustainability-philosophy__text h5,

.sustainability-philosophy__text h6 {

	margin: 1.25rem 0 0;

	max-width: 50rem;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #264530;

}



.sustainability-crs {

	width: 100%;

	border-top: 1px solid #528D3F;

	background: transparent;

	color: #ffffff;

}



.sustainability-crs__inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 100px 0 110px;

	box-sizing: border-box;

}



.sustainability-crs__body {

	display: grid;

	grid-template-columns: minmax(0, 33%) minmax(0, 67%);

	gap: clamp(2rem, 5vw, 4rem);

	align-items: start;

}



.sustainability-crs__left {

	min-width: 0;

}



.sustainability-crs__label {

	display: inline-flex;

	align-items: center;

	gap: 0.55rem;

	margin: 0;

	padding: 0.5rem 0.8rem;

	border-radius: 0.45rem;

	background: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

	width: fit-content;

}



.sustainability-crs__label-mark {

	width: 0.65rem;

	height: 0.65rem;

	border-radius: 0.18rem;

	background: #528d3f;

	flex: 0 0 auto;

}



.sustainability-crs__right {

	min-width: 0;

	margin-right: auto;

}



.sustainability-crs__title,

.sustainability-crs__title p,

.sustainability-crs__title h1,

.sustainability-crs__title h2,

.sustainability-crs__title h3,

.sustainability-crs__title h4,

.sustainability-crs__title h5,

.sustainability-crs__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3.25rem, 4.4vw, 72px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;

	margin-bottom: 50px;

}



.sustainability-crs__subtitle,

.sustainability-crs__subtitle p,

.sustainability-crs__subtitle h1,

.sustainability-crs__subtitle h2,

.sustainability-crs__subtitle h3,

.sustainability-crs__subtitle h4,

.sustainability-crs__subtitle h5,

.sustainability-crs__subtitle h6 {

	margin: 1.25rem 0 0;

	max-width: 50rem;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 28px;

	font-weight: 400;

	line-height: 1.55;

	color: #ffffff;

	max-width: 50rem;

}



.sustainability-crs__text,

.sustainability-crs__text p,

.sustainability-crs__text h1,

.sustainability-crs__text h2,

.sustainability-crs__text h3,

.sustainability-crs__text h4,

.sustainability-crs__text h5,

.sustainability-crs__text h6 {

	margin: 1.25rem 0 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #264530;

	max-width: 50rem;

}



.sustainability-responsibility {

	width: 100%;

	background: transparent;

	color: #ffffff;

}



.sustainability-responsibility__inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 0 0 100px;

	box-sizing: border-box;

}



.sustainability-responsibility__content-shell {

	position: relative;

	width: 100%;

	padding: 80px 80px 200px;

	border-radius: 2rem;

	overflow: hidden;

	box-sizing: border-box;

	background: #12351f;

	color: #ffffff;

}



.sustainability-responsibility__content-media {

	position: absolute;

	inset: 0;

	z-index: 0;

	overflow: hidden;

}



.sustainability-responsibility__image,

.sustainability-responsibility__video {

	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;

	object-position: center;

	background-position: center;

}



.sustainability-responsibility__video {

	-webkit-transform: scaleX(-1);

	transform: scaleX(-1);

}



.sustainability-responsibility__content-overlay {

	position: absolute;

	inset: 0;

	z-index: 1;

	background: rgba(82, 141, 63, 0.5);

}



.sustainability-responsibility__content-inner {

	position: relative;

	z-index: 2;

	display: grid;

	gap: 50px;

}



.sustainability-responsibility__content-header {

	position: relative;

	z-index: 2;

}



.sustainability-responsibility__section-label {

	display: inline-flex;

	align-items: center;

	gap: 0.55rem;

	margin: 0;

	padding: 0.5rem 0.8rem;

	border-radius: 0.45rem;

	background: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

}



.sustainability-responsibility__label-mark {

	width: 0.65rem;

	height: 0.65rem;

	border-radius: 0.18rem;

	background: #528D3F;

	flex: 0 0 auto;

}



.sustainability-responsibility__content-body {

	display: grid;

	grid-template-columns: minmax(0, 40%) minmax(0, 60%);

	gap: 50px;

	align-items: start;

}



.sustainability-responsibility__content-body > * {

	min-width: 0;

}



.sustainability-responsibility__content-title-wrap,

.sustainability-responsibility__content-text {

	min-width: 0;

	width: 100%;

}



.sustainability-responsibility__content-title,

.sustainability-responsibility__content-title p,

.sustainability-responsibility__content-title h1,

.sustainability-responsibility__content-title h2,

.sustainability-responsibility__content-title h3,

.sustainability-responsibility__content-title h4,

.sustainability-responsibility__content-title h5,

.sustainability-responsibility__content-title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3.75rem, 5vw, 70px);

	font-weight: 300;

	line-height: 0.96;

	letter-spacing: -0.03em;

	color: #ffffff;

	max-width: 100%;

	word-break: normal;

	white-space: normal;

}



.sustainability-responsibility__content-title {

	display: block;

	width: 100%;

}



.sustainability-responsibility__content-title > * {

	display: block;

	max-width: 100%;

}



.sustainability-responsibility__content-text,

.sustainability-responsibility__content-text p,

.sustainability-responsibility__content-text h1,

.sustainability-responsibility__content-text h2,

.sustainability-responsibility__content-text h3,

.sustainability-responsibility__content-text h4,

.sustainability-responsibility__content-text h5,

.sustainability-responsibility__content-text h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: rgba(255, 255, 255, 0.96);

	max-width: 100%;

	word-break: normal;

	white-space: normal;

}



.sustainability-responsibility__content-text {

	display: block;

	width: 100%;

	overflow: hidden;

}



.sustainability-responsibility__content-text > * {

	display: block;

	max-width: 100%;

}



.sustainability-responsibility__content-text p + p {

	margin-top: 1.15rem;

}



.group-origins {

	background: #d9d9d9;

	color: #264530;

}



.group-origins__inner {

	width: min(100%, var(--arrigoni-max));

	max-width: none;

	margin: 0 auto;

	padding: 100px 0 75px;

	box-sizing: border-box;

}



.group-origins__body {

	display: grid;

	grid-template-columns: 33% 67%;

	gap: 0;

	align-items: start;

	min-height: 0;

}



.group-origins__spacer {

	display: flex;

	align-items: flex-start;

	min-height: 1px;

}



.group-origins__section-label {

	display: inline-flex;

	align-items: center;

	gap: 0.55rem;

	margin: 0;

	padding: 0.5rem 0.8rem;

	border-radius: 0.45rem;

	background: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

}



.group-origins__label-mark {

	width: 0.65rem;

	height: 0.65rem;

	border-radius: 0.18rem;

	background: #528d3f;

}



.group-origins__content {

	width: 100%;

	min-width: 0;

	margin-left: auto;

}



.group-origins__title,

.group-origins__title p,

.group-origins__title h1,

.group-origins__title h2,

.group-origins__title h3,

.group-origins__title h4,

.group-origins__title h5,

.group-origins__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: 70px;

	font-weight: 300;

	line-height: 0.95;

	letter-spacing: -0.04em;

	color: #264530;

	margin-bottom: 1.25rem;

}



.group-origins__text,

.group-origins__text p,

.group-origins__text h1,

.group-origins__text h2,

.group-origins__text h3,

.group-origins__text h4,

.group-origins__text h5,

.group-origins__text h6 {

	max-width: 750px;

	margin: 1.15rem 0 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #264530;

}



.group-origins__text strong {

	font-weight: 700;

}



.group-marquee {

	border-bottom: 0;

}



.sustainability-page .home-marquee,
.sustainability-page .group-marquee,
.news-page .home-marquee,
.news-page .group-marquee {
	background: transparent;
}

.news-page .home-marquee,
.news-page .group-marquee {
	background: #ffffff;
}


.group-ecosystem {

	position: relative;

	background: #ffffff;

	color: #264530;

}



.group-ecosystem__spacer {

	position: relative;

	min-height: 100vh;

}



.group-ecosystem__sticky {

	position: sticky;

	top: 0;

	height: 100vh;

	overflow: hidden;

}



.group-ecosystem__inner {

	width: min(100%, var(--arrigoni-max));

	height: 100%;

	margin: 0 auto;

	padding: 100px 0 75px;

	box-sizing: border-box;

	display: grid;

	grid-template-rows: auto auto 1fr;

	gap: clamp(1.5rem, 2.5vw, 2.5rem);

}



.group-ecosystem__header {

	display: flex;

	align-items: center;

}



.group-ecosystem__section-label {

	display: inline-flex;

	align-items: center;

	gap: 0.55rem;

	margin: 0;

	padding: 0.5rem 0.8rem;

	border-radius: 0.45rem;

	background: #d9d9d9;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

}



.group-ecosystem__label-mark {

	width: 0.65rem;

	height: 0.65rem;

	border-radius: 0.18rem;

	background: #528d3f;

	flex: 0 0 auto;

}



.group-ecosystem__intro {

	width: min(50%, 44rem);

	min-width: 0;

	display: grid;

	gap: 1.25rem;

}



.group-ecosystem__intro-title,

.group-ecosystem__intro-title p,

.group-ecosystem__intro-title h1,

.group-ecosystem__intro-title h2,

.group-ecosystem__intro-title h3,

.group-ecosystem__intro-title h4,

.group-ecosystem__intro-title h5,

.group-ecosystem__intro-title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3.25rem, 4.25vw, 70px);

	font-weight: 300;

	line-height: 0.96;

	letter-spacing: -0.04em;

	color: #264530;

}



.group-ecosystem__intro-text,

.group-ecosystem__intro-text p,

.group-ecosystem__intro-text h1,

.group-ecosystem__intro-text h2,

.group-ecosystem__intro-text h3,

.group-ecosystem__intro-text h4,

.group-ecosystem__intro-text h5,

.group-ecosystem__intro-text h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #264530;

}



.group-ecosystem__slider {

	position: relative;

	min-height: 0;

	overflow: hidden;

	display: grid;

	grid-template-columns: 1fr;

	align-items: stretch;

}



.group-ecosystem__viewport {

	position: relative;

	overflow: hidden;

	min-height: 0;

	flex: 1 1 auto;

	height: 100%;

}



.group-ecosystem__track {

	position: relative;

	width: 100%;

	height: 100%;

	will-change: transform;

}



.group-ecosystem__slide {

	position: absolute;

	inset: 0;

	display: flex;

	align-items: stretch;

	visibility: hidden;

	transform: translateX(100%);

	pointer-events: none;

	transition: none;

}



.group-ecosystem__slide.is-active {

	visibility: visible;

	transform: translateX(0);

	transition: transform 1800ms cubic-bezier(0.16, 1, 0.3, 1);

	pointer-events: auto;

}



.group-ecosystem__slide.is-entering-from-left {

	visibility: visible;

	transform: translateX(-100%);

	transition: none;

	pointer-events: none;

}



.group-ecosystem__slide.is-entering-from-right {

	visibility: visible;

	transform: translateX(100%);

	transition: none;

	pointer-events: none;

}



.group-ecosystem__slide.is-exiting-to-left {

	visibility: visible;

	transform: translateX(-100%);

	transition: transform 1800ms cubic-bezier(0.16, 1, 0.3, 1);

	pointer-events: none;

}



.group-ecosystem__slide.is-exiting-to-right {

	visibility: visible;

	transform: translateX(100%);

	transition: transform 1800ms cubic-bezier(0.16, 1, 0.3, 1);

	pointer-events: none;

}



.group-ecosystem__slide-inner {

	width: 100%;

	min-width: 0;

	height: 100%;

	max-height: 100%;

	overflow: hidden;

	display: grid;

	grid-template-columns: minmax(0, 45%) minmax(0, 55%);

	gap: clamp(2rem, 7vw, 7rem);

	align-items: stretch;

}



.group-ecosystem__slide-content {

	min-width: 0;

	display: grid;

	grid-template-columns: minmax(0, 33%) minmax(0, 67%);

	grid-template-rows: auto 1fr;

	gap: 50px clamp(1.25rem, 2vw, 2rem);

	align-items: start;

	height: 100%;

	min-height: 0;

	overflow: hidden;

	box-sizing: border-box;

}



.group-ecosystem__progress {

	grid-column: 1 / -1;

	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	align-items: stretch;

	height: 2px;

	background: #c9cbbe;

	overflow: hidden;

}



.group-ecosystem__progress-segment {

	display: block;

	height: 100%;

	background: transparent;

}



.group-ecosystem__progress-segment.is-active {

	background: #264530;

}



.group-ecosystem__slide-count {

	display: flex;

	align-items: center;

	gap: 0.25rem;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	color: #264530;

	padding-top: 0.3rem;

	grid-column: 1;

	grid-row: 2;

	width: 100%;

}



.group-ecosystem__slide-count-total {

	color: rgba(38, 69, 48, 0.3);

}



.group-ecosystem__slide-body {

	min-width: 0;

	display: grid;

	grid-template-rows: auto auto 1fr auto;

	gap: 1.25rem;

	height: 100%;

	min-height: 0;

	overflow: hidden;

	grid-column: 2;

	grid-row: 2;

}



.group-ecosystem__slide-logo img {

	display: block;

	max-height: 50px;

	width: auto;

	height: auto;

	max-width: 100%;

	object-fit: contain;

}



.group-ecosystem__slide-text,

.group-ecosystem__slide-text p,

.group-ecosystem__slide-text h1,

.group-ecosystem__slide-text h2,

.group-ecosystem__slide-text h3,

.group-ecosystem__slide-text h4,

.group-ecosystem__slide-text h5,

.group-ecosystem__slide-text h6 {

	margin: 0;

	max-width: 32rem;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #264530;

}

.group-ecosystem__slide-cta {

	margin: auto 0 0;

	padding: 0;

}



.group-ecosystem__button {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	min-height: 3.25rem;

	padding: 0.95rem 1.5rem;

	border-radius: 0.65rem;

	background: #528d3f;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0.08em;

	text-transform: uppercase;

	color: #ffffff;

	text-decoration: none;

	transition: background-color 220ms ease, color 220ms ease;

}



.group-ecosystem__button:hover,

.group-ecosystem__button:focus-visible {

	background: #264530;

	color: #ffffff;

}



.group-ecosystem__slide-media {

	min-width: 0;

	height: 100%;

	min-height: 0;

	overflow: hidden;

	display: flex;

	align-items: center;

	justify-content: center;

}



.group-ecosystem__image {

	display: block;

	width: 100%;

	height: 100%;

	max-height: 100%;

	object-fit: cover;

	border-radius: 1.5rem;

}



.home-about {

	position: relative;

	background: var(--home-about-bg, #5a9443);

	color: #ffffff;

}



.home-about__spacer {

	position: relative;

	min-height: 100vh;

}



.home-about__sticky {

	position: sticky;

	top: 0;

	min-height: 100vh;

	overflow: hidden;

}



.home-about__inner {

	width: 100%;

	max-width: none;

	height: 100%;

	margin: 0 auto;

	padding: 0;

	box-sizing: border-box;

	display: grid;

	grid-template-rows: auto 1px 1fr;

}



.home-about__header,

.home-about__body {

	width: min(100%, var(--arrigoni-max));

	margin-left: auto;

	margin-right: auto;

}



.home-about__header {

	display: flex;

	align-items: center;

	padding: clamp(32px, 10vh, 100px) 0 clamp(12px, 4vh, 45px);

}



.home-about__section-label {

	display: inline-flex;

	align-items: center;

	gap: 0.55rem;

	margin: 0;

	padding: 0.5rem 0.8rem;

	border-radius: 0.45rem;

	background: rgba(255, 255, 255, 0.25);

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	letter-spacing: 0;

	text-transform: uppercase;

}



.home-about__section-label span:not(.home-about__label-mark) {

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

}



.home-about__label-mark {

	width: 0.65rem;

	height: 0.65rem;

	border-radius: 0.18rem;

	background: #528d3f;

}



.home-about__divider {

	width: 100%;

	height: 1px;

	margin-top: 0;

	background: rgba(255, 255, 255, 0.85);

}



.home-about__body {

	display: grid;

	grid-template-columns: 33% 67%;

	gap: 0;

	align-items: stretch;

	padding-top: 0;

	min-height: 0;

}



.home-about__counter {

	display: flex;

	align-items: center;

	justify-content: center;

	align-self: start;

	height: 45px;

	width: 100px;

	min-width: 100px;

	padding: 0;

	margin-top: 30px;

	border: 1px solid rgba(255, 255, 255, 0.35);

	border-radius: 999px;

	box-sizing: border-box;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	letter-spacing: 0.08em;

	color: rgba(255, 255, 255, 0.9);

	white-space: nowrap;

}



.home-about__counter-current {

	color: #ffffff;

}



.home-about__counter-total {

	color: rgba(255, 255, 255, 0.3);

}



.home-about__counter-separator {

	opacity: 0.6;

}



.home-about__viewport {

	flex: 1 1 auto;

	position: relative;

	overflow: hidden;

	min-width: 0;

	min-height: 0;

}



.home-about__content {

	display: flex;

	flex-direction: column;

	grid-column: 2;

	height: 100%;

	min-height: 0;

	padding: 0 0 clamp(16px, 8vh, 100px);

	box-sizing: border-box;

}



.home-about__slide-title {

	margin-top: 30px !important;

	padding-bottom: clamp(16px, 8vh, 85px);

	opacity: 0;

	transform: translateX(2rem);

}


.home-about.is-inview .home-about__slide-title {

	animation: homeAboutSlideTitleIn 2s cubic-bezier(0.16, 1, 0.3, 1) both;

}


@keyframes homeAboutSlideTitleIn {

	from {

		opacity: 0;

		transform: translateX(2rem);

	}

	to {

		opacity: 1;

		transform: translateX(0);

	}

}



.home-about__track {

	position: relative;

	width: 100%;

	will-change: transform;

	height: 100%;

}



.home-about__slide {

	position: absolute;

	inset: 0;

	display: flex;

	align-items: flex-start;

	opacity: 0;

	transform: translateX(5rem);

	transition: none;

	pointer-events: none;

	min-width: 0;

}



.home-about__slide.is-active {

	opacity: 1;

	transform: translateX(0);

	transition: opacity 1400ms ease, transform 1800ms cubic-bezier(0.16, 1, 0.3, 1);

	pointer-events: auto;

}



.home-about__slide-inner {

	width: min(100%, 70rem);

	margin: 0;

	display: grid;

	gap: clamp(1rem, 2vw, 1.35rem);

	padding-top: clamp(0.25rem, 2vw, 1.1rem);

}



.home-about__slide-title,

.home-about__slide-title p {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-weight: 300;

	font-size: 70px;

	line-height: 0.95;

	letter-spacing: -0.04em;

	color: #ffffff;

}



.home-about__slide-text,

.home-about__slide-text p {

	margin: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 28px;

	font-weight: 400;

	line-height: 1.55;

	color: rgba(255, 255, 255, 0.96);

}



.home-about__slide-text strong {

	font-weight: 700;

}



.home-about__slide-cta {

	margin: 0;

	padding-top: 0;

	margin-top: auto;

	padding-bottom: 0;

}



.home-about__button {

	display: inline-flex;

	align-items: center;

	min-height: 3rem;

	padding: 0.75rem 1.2rem;

	border-radius: 0.55rem;

	background: #264530;

	color: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0.08em;

	text-decoration: none;

	text-transform: uppercase;

	transition: background-color 160ms ease, color 160ms ease;

}



.home-about__button:hover,

.home-about__button:focus-visible {

	background: #ffffff;

	color: #264530;

}



.home-focus {

	background: #d9d9d9;

	color: #264530;

}



.home-focus__inner {

	width: 100%;

	max-width: none;

	margin: 0 auto;

	padding: 100px 0 75px;

	box-sizing: border-box;

	display: flex;

	flex-direction: column;

}



.home-focus__header,

.home-focus__body {

	width: min(100%, var(--arrigoni-max));

	margin-left: auto;

	margin-right: auto;

}



.home-focus__header {

	order: 2;

	padding-top: 50px;

	display: none;

}



.home-focus__section-label {

	display: inline-flex;

	align-items: center;

	gap: 0.55rem;

	margin: 0;

	padding: 0.5rem 0.8rem;

	border-radius: 0.45rem;

	background: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

}



.home-focus__label-mark {

	width: 0.65rem;

	height: 0.65rem;

	border-radius: 0.18rem;

	background: #528d3f;

}



.home-focus__divider {

	order: 1;

	width: 100%;

	height: 1px;

	margin-top: 0;

	background: #264530;

}



.home-focus__body {

	order: 3;

	display: grid;

	grid-template-columns: 33% 67%;

	gap: 0;

	align-items: start;

	min-height: 0;

	margin-top: 50px;

}



.home-focus__spacer {

	display: flex;

	align-items: flex-start;

	min-height: 1px;

}



.home-focus__spacer .home-focus__section-label {

	margin-top: 0;

}



.home-focus__content {

	width: min(100%, 70rem);

	min-width: 0;

	margin-left: auto;

}



.home-focus__title,

.home-focus__title p,

.home-focus__title h1,

.home-focus__title h2,

.home-focus__title h3,

.home-focus__title h4,

.home-focus__title h5,

.home-focus__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: 70px;

	font-weight: 300;

	line-height: 0.95;

	letter-spacing: -0.04em;

	color: #264530;

}



.home-focus__text,

.home-focus__text p,

.home-focus__text h1,

.home-focus__text h2,

.home-focus__text h3,

.home-focus__text h4,

.home-focus__text h5,

.home-focus__text h6 {

	max-width: 750px;

	margin: 50px 0 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #264530;

}



.home-focus__text strong {

	font-weight: 700;

}



.home-brands {

	background: #ffffff;

	color: #ffffff;

}



.home-brands__inner {

	width: 100%;

	max-width: none;

	margin: 0 auto;

}



.home-brands__grid {

	display: grid;

	grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));

	gap: 0;

}



.home-brands__card {

	position: relative;

	display: flex;

	align-items: stretch;

	min-height: 27rem;

	overflow: hidden;

	background: var(--brand-bg, #264530);

	color: var(--brand-text, #ffffff);

}



.home-brands__number {

	position: absolute;

	top: 1rem;

	left: 1rem;

	z-index: 2;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0.08em;

	color: var(--brand-number, #ffffff);

}



.home-brands__content {

	position: relative;

	z-index: 1;

	flex: 1 1 auto;

	min-width: 0;

	padding: clamp(3rem, 4vw, 4.5rem) 1.25rem 1.25rem;

	box-sizing: border-box;

	transition: transform 260ms ease;

}



.home-brands__content-inner {

	display: flex;

	flex-direction: column;

	justify-content: flex-end;

	gap: 1rem;

	height: 100%;

	min-height: 0;

}


.home-brands__logo img {

	display: block;

	max-width: 100%;

	height: auto;

	width: auto;

	max-height: 50px;

	object-fit: contain;

}



.home-brands__text {

	margin: 0;

}



.home-brands__text p {

	max-width: 50%;
	
	min-height: 115px;

	margin: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 16px;

	font-weight: 400;

	line-height: 1.45;

	color: var(--brand-text, #ffffff);

}



.home-brands__media {

	position: absolute;

	top: 1rem;

	right: 1rem;

	bottom: 1rem;

	width: 0;

	max-width: 40%;

	overflow: hidden;

	transition: width 360ms ease;

	display: flex;

	align-items: flex-start;

	justify-content: flex-end;

	padding: 0;

	box-sizing: border-box;

	z-index: 0;

	pointer-events: none;

}



.home-brands__image {

	display: block;

	width: min(100%, 18rem);

	aspect-ratio: 1;

	object-fit: cover;

	border-radius: 1rem;

}



.home-brands__cta {

	margin: 0;

	max-height: 0;

	overflow: hidden;

	opacity: 0;

	transform: translateY(1rem);

	transition: opacity 240ms ease, transform 240ms ease, max-height 240ms ease;

}



.home-brands__button {

	display: inline-flex;

	align-items: center;

	min-height: 3rem;

	padding: 0.75rem 1.2rem;

	border-radius: 0.55rem;

	background: var(--brand-button-bg, #528D3F);

	color: var(--brand-button-text, #ffffff);

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0.08em;

	text-decoration: none;

	text-transform: uppercase;

	transition: background-color 180ms ease, color 180ms ease;

}



.home-brands__button:hover,

.home-brands__button:focus-visible {

	background: var(--brand-button-hover-bg, #ffffff);

	color: var(--brand-button-hover-text, #528D3F);

}



.home-brands__card:hover .home-brands__content,

.home-brands__card:focus-within .home-brands__content {

	transform: translateY(-0.5rem);

}



.home-brands__card:hover .home-brands__media,

.home-brands__card:focus-within .home-brands__media {

	width: min(40%, 22rem);

}



.home-brands__card:hover .home-brands__cta,

.home-brands__card:focus-within .home-brands__cta {

	max-height: 4.5rem;

	opacity: 1;

	transform: translateY(0);

}



.home-brands__card:not(.has-media) .home-brands__media {

	width: 0;

}



.home-marquee {

	overflow: hidden;

	padding: 20px 0;

	background: #ffffff;

	color: #264530;

}



.home-marquee__inner {

	width: 100vw;

	margin-left: calc(50% - 50vw);

	overflow: hidden;

}



.home-marquee__track {

	display: flex;

	width: max-content;

	will-change: transform;

}



.home-marquee__group {

	flex: 0 0 auto;

	padding-right: 4rem;

	white-space: nowrap;

}



.home-marquee__content,

.home-marquee__content p,

.home-marquee__content h1,

.home-marquee__content h2,

.home-marquee__content h3,

.home-marquee__content h4,

.home-marquee__content h5,

.home-marquee__content h6 {

	display: inline;

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: 150px;

	font-weight: 300;

	line-height: 1.2;

	letter-spacing: -0.04em;

	color: #264530;

}



.home-marquee__separator {

	display: inline-block;

	margin: 0 2rem;

	font: inherit;

	color: inherit;

}



.home-social {

	background: #ffffff;

	border-top: 1px solid #264530;

	color: #264530;

}



.home-social__inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 100px 0;

	box-sizing: border-box;

}



.home-social__body {

	display: grid;

	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);

	gap: clamp(3rem, 5vw, 6.5rem);

	align-items: stretch;

	min-width: 0;

}



.home-social__media {

	align-self: start;

	justify-self: start;

	width: min(100%, 40rem);

	border-radius: 1rem;

	overflow: hidden;

	aspect-ratio: 1;

	background: #f2f2f2;

}



.home-social__image {

	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;

	transition: transform 320ms ease;

}



.home-social__media:hover .home-social__image,

.home-social__media:focus-within .home-social__image {

	transform: scale(1.08);

}



.home-social__content {

	display: flex;

	flex-direction: column;

	min-width: 0;

	min-height: 100%;

	padding-top: 0.25rem;

}



.home-social__title,

.home-social__title p,

.home-social__title h1,

.home-social__title h2,

.home-social__title h3,

.home-social__title h4,

.home-social__title h5,

.home-social__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3rem, 3.2vw, 50px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;

}



.home-social__text {

	column-count: 2;

	column-gap: 2.5rem;

	margin-top: 2rem;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: #5c6757;

}



.home-social__text p {

	margin: 0 0 1rem;

	break-inside: avoid;

}



.home-social__cta {

	margin: auto 0 0;

	padding-top: 2rem;

}



.home-social__button {

	display: inline-flex;

	align-items: center;

	min-height: 3rem;

	padding: 0.75rem 1.2rem;

	border-radius: 0.55rem;

	background: #528d3f;

	color: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0.08em;

	text-decoration: none;

	text-transform: uppercase;

	transition: background-color 180ms ease, color 180ms ease;

}



.home-social__button:hover,

.home-social__button:focus-visible {

	background: #264530;

	color: #ffffff;

}



.home-news {

	background: transparent;

	color: #264530;

	padding: 0;

	margin-bottom: -25px;

	position: relative;

	z-index: 2;

}



.home-news__inner {

	width: 100%;

	max-width: none;

	margin: 0 auto;

	padding: 0;

	border-radius: 2rem;

	background: #eeeeee;

	overflow: hidden;

	box-sizing: border-box;

}



.home-news__container {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 100px 0;

	box-sizing: border-box;

}



.home-news__header {

	display: flex;

	align-items: flex-start;

	justify-content: space-between;

	gap: 1.5rem;

	margin-bottom: clamp(2rem, 4vw, 3rem);

}



.home-news__title,

.home-news__title p,

.home-news__title h1,

.home-news__title h2,

.home-news__title h3,

.home-news__title h4,

.home-news__title h5,

.home-news__title h6 {
	margin: 0;
	font-family: var(--arrigoni-hero-title-font);
	font-size: clamp(3rem, 3.5vw, 50px);
	font-weight: 300;
	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #264530;
}

.home-news__text,
.home-news__text p,
.home-news__text h1,
.home-news__text h2,
.home-news__text h3,
.home-news__text h4,
.home-news__text h5,
.home-news__text h6 {
	margin: 0;
	font-family: var(--arrigoni-body-font);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
	color: #264530;
}

.home-news__text {
	flex: 1 1 auto;
	max-width: 32rem;
	padding-top: 0.35rem;
}

.home-news__button {
	display: inline-flex;
	align-items: center;
	min-height: 3rem;
	padding: 0.75rem 1.2rem;

	border-radius: 0.55rem;

	background: #528d3f;

	color: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0.08em;

	text-decoration: none;

	text-transform: uppercase;

	transition: background-color 180ms ease, color 180ms ease;

}



.home-news__button:hover,

.home-news__button:focus-visible {

	background: #264530;

	color: #ffffff;

}



.home-news__featured {

	margin-bottom: 1rem;

}



.home-news__grid {

	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 1rem;

}



.home-news__card {

	position: relative;

	display: grid;

	overflow: hidden;

	border-radius: 1.25rem;

	background: #ffffff;

	color: #264530;

	transition: transform 220ms ease;

	min-width: 0;

}



.home-news__card--featured {

	grid-template-columns: minmax(0, calc(50% - 150px)) minmax(0, 50%);

	min-height: 30rem;

	padding: 20px;

	gap: 150px;

	box-sizing: border-box;

}



.home-news__card--compact {

	min-height: 18rem;

}



.home-news__media {

	position: relative;

	overflow: hidden;

	background: #d0d0d0;

	min-height: 100%;

	border-radius: 1rem;

	aspect-ratio: 3 / 2.2;

	align-self: start;

	width:100%;

}



.home-news__media-link {

	display: block;

	width: 100%;

	height: 100%;

}



.home-news__image {

	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;

	transition: transform 420ms ease;

}



.home-news__card:hover .home-news__image,

.home-news__card:focus-within .home-news__image {

	transform: scale(1.08);

}



.home-news__content {

	position: relative;

	display: flex;

	flex-direction: column;

	min-width: 0;

	min-height: 100%;

	padding: 20px;

	box-sizing: border-box;

}



.home-news__card--featured .home-news__content {

	padding: 0;

	width: 100%;

}



.home-news__card--featured .home-news__post-title,

.home-news__card--featured .home-news__excerpt {

	width: min(50%, 24rem);

	max-width: min(50%, 24rem);

}



.home-news__meta-row {

	display: flex;

	align-items: flex-start;

	justify-content: space-between;

	gap: 1rem;

	margin-bottom: clamp(1.25rem, 2vw, 1.75rem);

}



.home-news__label {

	display: inline-flex;

	align-items: center;

	gap: 0.45rem;

	margin: 0;

	padding: 0.35rem 0.65rem;

	border-radius: 0.45rem;

	background: #d9d9d9;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

}



.home-news__label-mark {

	width: 0.55rem;

	height: 0.55rem;

	border-radius: 0.15rem;

	background: #528d3f;

}



.home-news__date {

	margin: 0;

	font-family: var(--arrigoni-menu-font);

	font-size: 12px;

	font-weight: 400;

	letter-spacing: 0.12em;

	text-transform: uppercase;

	color: rgba(38, 69, 48, 0.7);

	text-align: right;

}



.home-news__post-title,

.home-news__post-title a {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(1.8rem, 2.2vw, 2.8rem);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: inherit;

	text-decoration: none;

}



.home-news__card--compact .home-news__post-title,

.home-news__card--compact .home-news__post-title a {

	display: none;

}



.home-news__excerpt {

	margin-top: 1rem;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: inherit;

}



.home-news__excerpt p {

	margin: 0;

}



.home-news__arrow {

	position: absolute;

	right: 1.25rem;

	bottom: 1.25rem;

	display: inline-flex;

	align-items: center;

	justify-content: center;

	width: 40px;

	height: 32px;

	border-radius: 0.65rem;

	background: #264530;

	color: #ffffff;

	text-decoration: none;

	transition: transform 220ms ease;

}



.home-news__arrow-icon {

	display: block;

	transform: translateX(-0.18rem);

	transition: transform 220ms ease;

	font-size: 0.95rem;

	line-height: 1;

	font-weight: 700;

}



.home-news__card:hover,

.home-news__card:focus-within {

	color: #264530;

}



.home-news__card:hover .home-news__arrow,

.home-news__card:focus-within .home-news__arrow {

	transform: translateX(0.2rem);

}



.home-news__card:hover .home-news__arrow-icon,

.home-news__card:focus-within .home-news__arrow-icon {

	transform: translateX(0.12rem);

}



.home-news__card--compact .home-news__content {

	padding-bottom: 0;

}



.home-news__card--featured:hover .home-news__post-title a,

.home-news__card--featured:focus-within .home-news__post-title a {

	text-decoration: underline;

}



.home-news__card--compact {

	padding: 20px;

	background: var(--home-news-card-bg, #ffffff);

	display: flex;

	flex-direction: column;

}



.home-news__card--compact .home-news__content {

	padding: 0;

	flex: 1 1 auto;

}



.home-news__card--compact .home-news__meta-row {

	margin-bottom: 0;

}



.home-news__card--compact .home-news__excerpt {

	margin-top: 20px;

	padding-right: 4rem;

}



.home-news__card--compact:hover .home-news__excerpt,

.home-news__card--compact:focus-within .home-news__excerpt {

	text-decoration: underline;

}



.home-news__card--compact .home-news__readmore {

	margin: 0;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

}



.home-news__card--compact .home-news__readmore a {

	color: #264530;

	text-decoration: none;

}



.home-news__card--compact .home-news__readmore a:hover,

.home-news__card--compact .home-news__readmore a:focus-visible {

	text-decoration: underline;

}



.home-news__card--compact .home-news__arrow {

	left: auto;

	right: 0;

	bottom: 0;

	position: relative;

}



.home-news__card--compact .home-news__media {

	display: none;

}



.home-news__card--compact:nth-child(1) {

	--home-news-card-bg: #d9d9d9;

}



.home-news__card--compact:nth-child(2) {

	--home-news-card-bg: #ffffff;

}



.home-news__card--compact:nth-child(3) {

	--home-news-card-bg: #d9d9d9;

}



.home-news__card--compact .home-news__label {

	background: #d9d9d9;

}



.home-news__card--compact:nth-child(2) .home-news__label {

	background: #ffffff;

}



.home-news__card-footer {

	display: flex;

	align-items: flex-end;

	justify-content: space-between;

	gap: 1rem;

	margin-top: auto;

	padding-top: 70px;

}



.home-contact {

	position: relative;

	z-index: 1;

	margin-top: 0;

	padding: 230px 0 100px;

	background: var(--home-contact-background, none) center center / cover no-repeat;

	color: #ffffff;

	box-sizing: border-box;

}



.home-contact__inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	box-sizing: border-box;

}



.home-contact__content {

	display: grid;

	grid-template-columns: 1fr 1fr;

	gap: clamp(2rem, 4vw, 4rem);

	align-items: center;

}



.home-contact__left {

	min-width: 0;

}



.home-contact__title,

.home-contact__title p,

.home-contact__title h1,

.home-contact__title h2,

.home-contact__title h3,

.home-contact__title h4,

.home-contact__title h5,

.home-contact__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3rem, 3.4vw, 50px);

	font-weight: 300;

	line-height: 0.98;

	letter-spacing: -0.04em;

	color: #ffffff;

}



.home-contact__text,

.home-contact__text p,

.home-contact__text h1,

.home-contact__text h2,

.home-contact__text h3,

.home-contact__text h4,

.home-contact__text h5,

.home-contact__text h6 {

	margin: 1.5rem 0 0;

	max-width: 38rem;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: rgba(255, 255, 255, 0.94);

}



.home-contact__form {

	width: 100%;

	max-width: none;

	margin-left: auto;

	padding: 50px;

	border-radius: 1.35rem;

	background: rgba(38, 69, 48, 0.9);

	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);

	backdrop-filter: blur(10px);

	box-sizing: border-box;

}





.home-contact__form .wpforms-form {

	margin: 0;

	padding: 0;

	background: transparent;

}



.home-contact__form .wpforms-field-container {

	padding: 0;

}



.home-contact__form .wpforms-container,

.home-contact__form .wpforms {

	margin: 0;

}



.home-contact__form .wpforms-field,

.home-contact__form .wpforms-field-row {

	margin-bottom: 1.25rem;

}



.home-contact__form .wpforms-field-label {

	display: none !important;

}



.home-contact__form input[type="text"],

.home-contact__form input[type="email"],

.home-contact__form input[type="tel"],

.home-contact__form input[type="url"],

.home-contact__form textarea,

.home-contact__form select {

	width: 100%;

	padding: 0.45rem 0 0.55rem;

	border: 0;

	border-bottom: 1px solid rgba(255, 255, 255, 0.82);

	border-radius: 0;

	background: transparent;

	color: #ffffff;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 16px;

	font-weight: 400;

	line-height: 1.35;

	box-shadow: none;

	box-sizing: border-box;

}



.home-contact__form input[type="text"]:focus,

.home-contact__form input[type="email"]:focus,

.home-contact__form input[type="tel"]:focus,

.home-contact__form input[type="url"]:focus,

.home-contact__form textarea:focus,

.home-contact__form select:focus {

	outline: none;

	border-bottom-color: #ffffff;

}



.home-contact__form input::placeholder,

.home-contact__form textarea::placeholder {

	color: #ffffff !important;

	font-size: 12px !important;

	opacity: 1 !important;

}



.home-contact__form textarea {

	min-height: 7.8rem;

}



.home-contact__form .wpforms-field-gdpr-checkbox ul {

	list-style: none;

	padding: 0;

	margin: 0;

}



.home-contact__form .wpforms-field-gdpr-checkbox fieldset {

	border: 0 !important;

	margin: 0 !important;

	padding: 0 !important;

}



.home-contact__form .wpforms-field-gdpr-checkbox legend {

	display: none !important;

}



.home-contact__form .wpforms-field-gdpr-checkbox li {

	display: flex;

	align-items: flex-start;

	gap: 0.65rem;

	margin-bottom: 0;

}



.home-contact__form .wpforms-field-gdpr-checkbox label {

	margin: 0 !important;

	color: rgba(255, 255, 255, 0.92);

	font-family: var(--arrigoni-hero-text-font);

	font-size: 14px;

	font-weight: 400;

	line-height: 1.4;

}



.home-contact__form .wpforms-field-gdpr-checkbox input[type="checkbox"] {

	accent-color: #528d3f;

	margin-top: 0.25rem;

}



.home-contact__form .wpforms-submit {

	display: inline-flex;

	align-items: center;

	min-height: 2.9rem;

	padding: 0.68rem 1.2rem;

	margin-top: 0.2rem;

	border: 0;

	border-radius: 0.6rem;

	background: #528d3f;

	color: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-transform: uppercase;

}



.home-contact__form .wpforms-submit:hover,

.home-contact__form .wpforms-submit:focus-visible {

	background: #264530;

}



.site-footer {

	background: #121a15;

	color: #ffffff;

}



.site-footer__feature {

	position: relative;

	overflow: hidden;

	z-index: 0;

	padding: clamp(4.5rem, 8vw, 6.5rem) 0;

	background-color: #1b2b22;

	background-image:

		linear-gradient(180deg, rgba(18, 26, 21, 0.28), rgba(18, 26, 21, 0.4)),

		var(--site-footer-feature-background, none);

	background-position: center center, center center;

	background-repeat: no-repeat, no-repeat;

	background-size: cover, cover;

}



.site-footer__feature::before {

	content: '';

	position: absolute;

	inset: 0;

	background:

		radial-gradient(circle at 20% 15%, rgba(82, 141, 63, 0.24), transparent 40%),

		radial-gradient(circle at 80% 55%, rgba(82, 141, 63, 0.12), transparent 45%);

	pointer-events: none;

}



.site-footer__feature-inner {

	position: relative;

	z-index: 1;

	width: min(100%, 1400px);

	margin: 0 auto;

	box-sizing: border-box;

}



.site-footer__feature-grid {

	display: grid;

	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);

	gap: clamp(2rem, 6vw, 7rem);

	align-items: start;

}



.site-footer__feature-intro {

	min-width: 0;

	max-width: 42rem;

}



.site-footer__feature-title,

.site-footer__feature-title p,

.site-footer__feature-title h1,

.site-footer__feature-title h2,

.site-footer__feature-title h3,

.site-footer__feature-title h4,

.site-footer__feature-title h5,

.site-footer__feature-title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(2.5rem, 3.4vw, 46px);

	font-weight: 300;

	line-height: 1.08;

	letter-spacing: -0.04em;

	color: #ffffff;

}



.site-footer__feature-text,

.site-footer__feature-text p,

.site-footer__feature-text h1,

.site-footer__feature-text h2,

.site-footer__feature-text h3,

.site-footer__feature-text h4,

.site-footer__feature-text h5,

.site-footer__feature-text h6 {

	margin: 1.5rem 0 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: rgba(255, 255, 255, 0.9);

}



.site-footer__feature-cta {

	margin: 1.75rem 0 0;

}



.site-footer__feature-sectors {

	display: grid;

	gap: 0;

	min-width: 0;

	align-self: stretch;

}



.site-footer__sector-item {

	display: grid;

	grid-template-columns: auto minmax(0, 1fr);

	gap: 1rem;

	align-items: start;

	padding: 1.15rem 0 1.05rem;

	border-bottom: 1px solid rgba(255, 255, 255, 0.18);

}



.site-footer__sector-item:first-child {

	padding-top: 0;

}



.site-footer__sector-item:last-child {

	padding-bottom: 0;

	border-bottom: 0;

}



.site-footer__sector-index {
	align-self: start;
	font-family: var(--arrigoni-hero-title-font);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0.08em;
	color: #528d3f;
	white-space: nowrap;
}



.site-footer__sector-label {

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(2.1rem, 3vw, 44px);

	font-weight: 300;

	line-height: 1.05;

	letter-spacing: -0.04em;

	color: #ffffff;

}



.site-footer__inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	box-sizing: border-box;

}



.site-footer__top {

	padding: 110px 0 70px;

}



.site-footer__top .site-footer__inner {

	display: grid;

	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);

	gap: clamp(2rem, 4vw, 5rem);

	align-items: start;

}



.site-footer__intro {

	min-width: 0;

}



.site-footer__title,

.site-footer__title p,

.site-footer__title h1,

.site-footer__title h2,

.site-footer__title h3,

.site-footer__title h4,

.site-footer__title h5,

.site-footer__title h6 {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(2.6rem, 3.2vw, 46px);

	font-weight: 300;

	line-height: 1.08;

	letter-spacing: -0.04em;

	color: #ffffff;

}



.site-footer__text,

.site-footer__text p,

.site-footer__text h1,

.site-footer__text h2,

.site-footer__text h3,

.site-footer__text h4,

.site-footer__text h5,

.site-footer__text h6 {

	margin: 1.5rem 0 0;

	max-width: 36rem;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	font-weight: 400;

	line-height: 1.55;

	color: rgba(255, 255, 255, 0.9);

}



.site-footer__cta {

	margin: 1.75rem 0 0;

}



.site-footer__button {

	display: inline-flex;

	align-items: center;

	justify-content: center;

	min-height: 2.9rem;

	padding: 0.7rem 1.2rem;

	border-radius: 0.6rem;

	background: #528d3f;

	color: #ffffff;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	font-weight: 400;

	letter-spacing: 0;

	text-decoration: none;

	text-transform: uppercase;

	transition: background-color 180ms ease, color 180ms ease;

}



.site-footer__button:hover,

.site-footer__button:focus-visible {

	background: #264530;

	color: #ffffff;

}



.site-footer__menus {

	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 2rem;

	align-items: start;

}



.site-footer__menu-block {

	padding-left: 1.5rem;

	border-left: 1px solid rgba(255, 255, 255, 0.16);

}



.site-footer__menu-title {

	margin: 0 0 1rem;

	font-family: var(--arrigoni-menu-font);

	font-size: 12px;

	font-weight: 400;

	letter-spacing: 0.1em;

	text-transform: uppercase;

	color: rgba(255, 255, 255, 0.72);

}



.site-footer__menu-list {

	list-style: none;

	margin: 0;

	padding: 0;

	display: grid;

	gap: 0.6rem;

}



.site-footer__menu-item {

	list-style: none;

	margin: 0;

}



.site-footer__menu-list a {

	color: #ffffff;

	text-decoration: none;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 16px;

	font-weight: 400;

	line-height: 1.45;

}



.site-footer__menu-list a:hover,

.site-footer__menu-list a:focus-visible {

	text-decoration: underline;

}



.site-footer__band {

	width: 100%;

	overflow: hidden;

	padding: 0 0 0;

	box-sizing: border-box;

}



.site-footer__band-inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;
    display: flex;
    flex-direction: row;
    justify-content: flex-end;

}



.site-footer__band-image {

	display: block;

	width: 50%;

	height: auto;

}



.site-footer__subfooter {

	padding: 40px 0;

}



.site-footer__subfooter-inner {

	display: flex;

	align-items: center;

	justify-content: space-between;

	gap: 1.5rem;

}



.site-footer__copyright,

.site-footer__copyright p {

	margin: 0;

	font-family: var(--arrigoni-menu-font);

	font-size: 12px;

	font-weight: 400;

	letter-spacing: 0.08em;

	text-transform: uppercase;

	color: rgba(255, 255, 255, 0.68);

}



.site-footer__logos {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 1.5rem;
	width: 50%;
}



.site-footer__logo-item img {

	display: block;

	height: 50px;

	width: auto;

	object-fit: contain;

}



@media (max-width: 1180px) {
	.home-hero__inner,
	.home-about__inner,
	.home-focus__inner,

	.home-social__inner,

	.home-news__container,

	.home-contact__inner,

	.site-footer__feature-inner,

	.site-footer__inner {

		padding-left: 25px;

		padding-right: 25px;

		box-sizing: border-box;

	}



	.home-about__header,

	.home-about__body,

	.home-focus__header,

	.home-focus__body {

		padding-left: 0;

		padding-right: 0;

	}



	.home-about__divider,
	.home-focus__divider {
		width: calc(100% + 50px);
		margin-left: -25px;
		margin-right: -25px;
	}

	.site-header__inner {
		position: relative;
		gap: 0.75rem;
	}

	.site-nav__toggle {
		display: inline-flex;
		margin-left: auto;
	}

	.site-nav {
		position: absolute;
		top: calc(100% - 0.15rem);
		left: 25px;
		right: 25px;
		width: auto;
		justify-content: flex-start;
		z-index: 25;
		pointer-events: none;
	}

	.site-nav__panel {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 0.4rem;
		padding: 1rem;
		border-radius: 1rem;
		box-shadow: var(--arrigoni-shadow);
		transform: translateY(-0.75rem);
		opacity: 0;
		visibility: hidden;
		transition: transform 180ms ease, opacity 180ms ease, visibility 180ms ease;
		pointer-events: none;
		max-height: calc(100vh - 7rem);
		overflow-y: auto;
		overflow-x: hidden;
	}

	.site-header.is-menu-open .site-nav {
		pointer-events: auto;
	}

	.site-header.is-menu-open .site-nav__panel {
		transform: translateY(0);
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.site-nav__list {
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		gap: 0.45rem;
	}

	.site-nav__list > li {
		width: 100%;
	}

	.site-nav__list > li.menu-item-has-children {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: 0.35rem;
	}

	.site-nav__link,
	.site-nav__contact,
	.site-nav__sublink,
	.site-nav__language-toggle {
		width: 100%;
		min-height: 3.35rem;
		justify-content: flex-start;
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.site-nav__contact {
		justify-content: center;
	}

	.site-nav__submenu-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.75rem;
		min-height: 3.35rem;
		padding: 0;
		border: 0;
		border-radius: 0.7rem;
		background: unset;
		color: #264530;
		cursor: pointer;
	}

	.site-nav__submenu-chevron {
		display: block;
		width: 0.6rem;
		height: 0.6rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: translateY(-0.08rem) rotate(45deg);
		transition: transform 160ms ease;
	}

	.menu-item-has-children.is-submenu-open > .site-nav__submenu-toggle .site-nav__submenu-chevron,
	.site-nav__language-switcher.is-language-open > .site-nav__language-toggle .site-nav__language-arrow {
		transform: translateY(0.08rem) rotate(225deg);
	}

	.site-nav__language-switcher {
		margin-left: 0;
		padding-left: 0;
		width: 100%;
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.site-nav__language-menu {
		width: 100%;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
	}

	.site-nav__submenu,
	.site-nav__list .sub-menu {
		position: static;
		grid-column: 1 / -1;
		width: 100%;
		min-width: 0;
		opacity: 1;
		visibility: visible;
		transform: none;
		padding: 0.5rem 0 0;
		box-shadow: none;
		background: transparent;
		pointer-events: auto;
		margin-top: 0;
		display: none;
		transition: none;
	}

	.menu-item-has-children.is-submenu-open > .site-nav__submenu,
	.site-nav__language-switcher.is-language-open > .site-nav__language-menu,
	.site-nav__language-switcher.is-submenu-open > .site-nav__language-menu,
	.menu-item-has-children.is-submenu-open > .sub-menu {
		display: grid !important;
	}

	.menu-item-has-children:not(.is-submenu-open):hover > .site-nav__submenu,
	.menu-item-has-children:not(.is-submenu-open):focus-within > .site-nav__submenu,
	.menu-item-has-children:not(.is-submenu-open):hover > .sub-menu,
	.menu-item-has-children:not(.is-submenu-open):focus-within > .sub-menu {
		display: none !important;
	}

	.site-nav__submenu a.site-nav__link,
	.site-nav__list .sub-menu a.site-nav__link,
	.site-nav__language-menu .site-nav__sublink {
		width: 100%;
		background: transparent;
	}

	.site-nav__submenu > li,
	.site-nav__list .sub-menu > li {
		padding-left: 0.9rem;
	}

	.site-nav__language-menu > li {
		padding-left: 0.9rem;
		opacity: 1;
		transform: none;
		transition: none;
	}

	.site-nav__language-toggle {
		flex-direction: row;
		justify-content: space-between;
	}

	.site-nav__language-arrow {
		margin-left: auto;
		width: 0.65rem;
		height: 0.65rem;
		border-left: 0;
		border-right: 2px solid currentColor;
		border-top: 0;
		border-bottom: 2px solid currentColor;
		transform: translateY(-0.08rem) rotate(45deg);
		transition: transform 160ms ease;
	}

	.is-submenu-open .site-nav__submenu > li, .site-nav__list .is-submenu-open .sub-menu > li {
		opacity: 1 !important;
		transform: unset !important;
	}

	.site-nav__language-menu .site-nav__sublink {
		justify-content: flex-start;
		align-self: flex-start;
		padding-inline: 0;
	}

	.site-nav__language-toggle {
		background: transparent !important;
	}

	.site-nav__link:hover, .site-nav__link:focus-visible, .site-nav__list > .current-menu-item > .site-nav__link, .site-nav__list > .current-menu-ancestor > .site-nav__link {
		background: unset !important;
	}

	.home-brands__card {
		position: relative;
		display: block;

		min-height: 27rem;

	}



	.home-brands__content {

		transform: none !important;

		width: 100%;

		padding-top: 18rem;

	}



	.home-brands__content-inner {

		justify-content: space-between;

	}



	.home-brands__text p {

		max-width: none;

	}



	.home-brands__media {

		position: absolute;

		top: 1rem;

		right: 1rem;

		bottom: auto;

		width: 16rem !important;

		max-width: none;

		min-height: 16rem;

		opacity: 1;

		pointer-events: auto;

	}



	.home-brands__image {

		width: 100%;

		height: 100%;

		border-radius: 1rem;

	}



	.home-brands__cta {

		max-height: none;

		opacity: 1;

		transform: none;

	}



	.home-brands__card:hover .home-brands__content,

	.home-brands__card:focus-within .home-brands__content,

	.home-brands__card:hover .home-brands__media,

	.home-brands__card:focus-within .home-brands__media,

	.home-brands__card:hover .home-brands__cta,

	.home-brands__card:focus-within .home-brands__cta {

		transform: none;

		width: auto;

		max-height: none;

		opacity: 1;

	}



	.home-marquee__content,

	.home-marquee__content p,

	.home-marquee__content h1,

	.home-marquee__content h2,

	.home-marquee__content h3,

	.home-marquee__content h4,

	.home-marquee__content h5,
	.home-marquee__content h6 {
		font-size: 100px;
	}


	.home-news__card--featured {

		grid-template-columns: minmax(0, 42%) minmax(0, 58%);

		gap: 100px;

		align-items: start;

	}



	.home-news__card--featured .home-news__media {

		max-width: none;

		width: 100%;

	}



	.home-news__card--featured .home-news__post-title,

	.home-news__card--featured .home-news__excerpt {

		width: 100%;

		max-width: none;

	}



	.home-news__card--compact .home-news__excerpt {

		padding-right: 0;

	}



	.home-contact {

		padding-top: 130px;

	}



	.site-footer__band-inner {

		padding-left: 25px;

		padding-right: 25px;

		box-sizing: border-box;

	}



	.site-footer__feature-grid {

		grid-template-columns: 1fr;

		gap: 2rem;

	}



	.site-footer__feature-intro {

		max-width: none;

	}



	.site-footer__logos {

		flex-wrap: nowrap;

	}



	.site-footer__logo-item img {
		height: 42px;
	}

	.home-hero__content > h1.home-hero__title {
		margin-top: max(40vh, 320px);
	}
	.home-hero__body {
		margin-bottom: 10vh;
		width: 70%;
	}

	.home-about__slide-text, .home-about__slide-text p {
		font-size: 20px;
	}

	.home-focus__title, .home-focus__title p, .home-focus__title h1, .home-focus__title h2, .home-focus__title h3, .home-focus__title h4, .home-focus__title h5, .home-focus__title h6,
	.news-page__content-title, .news-page__content-title p, .news-page__content-title h1, .news-page__content-title h2, .news-page__content-title h3, .news-page__content-title h4, .news-page__content-title h5, .news-page__content-title h6 {
		font-size: 44px;
	}
	.sustainability-responsibility__content-title, .sustainability-responsibility__content-title p, .sustainability-responsibility__content-title h1, .sustainability-responsibility__content-title h2, .sustainability-responsibility__content-title h3, .sustainability-responsibility__content-title h4, .sustainability-responsibility__content-title h5, .sustainability-responsibility__content-title h6 {
		font-size: 44px;
	}

	.site-nav__toggle {
		width: 45px;
		height: 40px;
		padding: 0;
	}
	.site-nav__toggle-line {
		height: 3px;
	}
	.home-brands__media {
		width: 12rem !important;
		min-height: 12rem;
	}
	.home-brands__grid {
		grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
	}
	.group-intro__title, .group-intro__title p, .group-intro__title h1, .group-intro__title h2, .group-intro__title h3, .group-intro__title h4, .group-intro__title h5, .group-intro__title h6 {
		font-size: 54px;
	}
	.group-intro__content-title, .group-intro__content-title p, .group-intro__content-title h1, .group-intro__content-title h2, .group-intro__content-title h3, .group-intro__content-title h4, .group-intro__content-title h5, .group-intro__content-title h6 {
		font-size: 44px;
	}
	.group-intro__content-body,
	.sustainability-responsibility__content-body {
		display: flex;
		flex-direction: column;
	}
}

@media (max-width: 1620px) {
	.home-hero__inner,
	.home-about__inner,
	.home-focus__inner,
	.home-social__inner,
	.home-news__container,
	.home-contact__inner,
	.group-intro__inner,
	.group-origins__inner,
	.group-ecosystem__inner,
	.sustainability-philosophy__inner,
	.sustainability-crs__inner,
	.sustainability-responsibility__inner,
	.news-page__intro-inner,
	.news-page__archive-inner,
	.contact-page__intro-inner,
	.contact-page__write-inner,
	.contact-page__companies-inner,
	.site-footer__feature-inner,
	.site-footer__inner,
	.site-footer__subfooter-inner {
		padding-left: 25px;
		padding-right: 25px;
		box-sizing: border-box;
	}
	.news-page__content {
		padding: 0 25px 100px;
	}
}

@media (min-width: 1181px) and (max-width: 1600px) {
	.group-intro__divider,
	.home-about__divider,
	.home-focus__divider {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}
}

@media (max-width: 900px) {
	.home-contact__content {

		grid-template-columns: 1fr;

	}



	.home-contact__form {

		width: 100%;

		margin-left: 0;

	}

}

@media (max-width: 1040px) {
	.group-ecosystem__intro {
		width:100%;
	}
	.group-ecosystem__slide-text, .group-ecosystem__slide-text p, .group-ecosystem__slide-text h1, .group-ecosystem__slide-text h2, .group-ecosystem__slide-text h3, .group-ecosystem__slide-text h4, .group-ecosystem__slide-text h5, .group-ecosystem__slide-text h6 {
    font-size: 16px;
	}
}

@media (max-width: 900px) {
	.home-social__body {

		grid-template-columns: 1fr;

	}



	.home-social__text {

		column-count: 1;

	}



	.home-news__header {

		flex-direction: column;

	}



	.home-news__grid,

	.home-news__card--featured {

		grid-template-columns: 1fr;

	}



	.site-footer__top .site-footer__inner,

	.site-footer__menus {

		grid-template-columns: 1fr;

	}



	.site-footer__menu-block {

		padding-left: 0;

		border-left: 0;

		border-top: 1px solid rgba(255, 255, 255, 0.16);

		padding-top: 1rem;

	}



	.site-footer__subfooter-inner {

		flex-direction: column;

		align-items: flex-start;

	}



	.site-footer__logos {

		justify-content: flex-start;

	}

	.contact-page__companies-grid {
		display: flex;
		flex-direction: column;
	}

}

@media (max-width: 767px) {
	.site-header__inner {
		flex-wrap: nowrap;
	}

	.site-nav {
		left: 16px;
		right: 16px;
	}

	.site-nav__panel {
		padding: 0.9rem;
	}

	.custom-logo {
		max-height: 30px;
	}

	.home-brands__content-inner {
        width: 50%;
    }
	.home-contact__form {
		padding: 25px;
	}
	.home-brands__media {
		width: 15rem !important;
		min-height: 15rem;
	}
	.home-news__container {
		padding: 50px 25px;
	}
	.home-news__card--featured {
        gap: 50px;
    }
	.home-news__arrow,
	.home-news__card--compact .home-news__arrow {
		position: relative;
		margin-top: 20px;
        left: calc(100% - 40px);
	}
	.home-news__card-footer {
		padding-top: 0px;
	}
	.home-news__card--compact .home-news__readmore {
		display: none;
	}
	.site-footer__logo-item img {
        height: 25px;
    }
	.site-footer__logos {
        justify-content: space-between;
        width: 100%;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }
	.group-origins__title, .group-origins__title p, .group-origins__title h1, .group-origins__title h2, .group-origins__title h3, .group-origins__title h4, .group-origins__title h5, .group-origins__title h6 {
		font-size: 44px;
	}
	.group-ecosystem__intro {
		width: 100%;
	}
	.group-intro__content-shell,
	.sustainability-responsibility__content-shell {
		padding: 80px 25px;
		border-radius: 2rem;
	}
	.group-origins__inner {
		padding-top: 0;
	}
	.group-ecosystem__slide-text, .group-ecosystem__slide-text p, .group-ecosystem__slide-text h1, .group-ecosystem__slide-text h2, .group-ecosystem__slide-text h3, .group-ecosystem__slide-text h4, .group-ecosystem__slide-text h5, .group-ecosystem__slide-text h6 {
		font-size: 15px;
	}
	.group-ecosystem__slide-inner {
		display: flex;
		flex-direction: column;
	}
	.news-page__content-body,
	.contact-page__content-body {
		display: flex;
		flex-direction: column;
	}
	.contact-page__write-card .wpforms-field-container {
		display: flex !important;
		flex-direction: column !important;
	}
	.contact-page__write-card {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}
	.contact-page__write-card .wpforms-submit-container {
		margin-top: 25px !important;
	}
	.contact-page__companies-columns {
		display: flex;
		flex-direction: column;
	}
	.contact-page__companies-left {
		width: 100%;
		display: flex;
		flex-direction: column;
	}
	.contact-page__companies-column + .contact-page__companies-column {
		padding-left: 0;
		border-left: none;
		padding-top: 1.35rem;
		border-top: 1px solid rgba(38, 69, 48, 0.28);
	}
}


@keyframes arrigoni-hero-in {

	from {

		opacity: 0;

		transform: translateX(-0.6rem);

	}



	to {

		opacity: 1;

		transform: translateX(0);

	}

}



#wpadminbar {

	top: auto;

	bottom: 0;

}



@media (max-width: 767px) {

	.site-header__inner {

		flex-wrap: wrap;

	}



	.site-nav {

		width: calc(100% - 32px);

		justify-content: flex-start;

		flex-wrap: wrap;

	}



	.site-nav__panel {

		width: 100%;

		flex-wrap: wrap;

	}



	.site-nav__list {

		width: 100%;

		justify-content: flex-start;

	}



	.site-nav__submenu {

		position: static;

		min-width: 0;

		width: 100%;

		margin-top: 0.35rem;

	}



	.site-nav__contact {

		margin-top: 0;

	}



	.home-hero__inner {

		padding-top: 0;

	}



	.home-hero__content {

		min-height: 100vh;

	}



	.home-hero__content > h1.home-hero__title {

		max-width: none;

		text-align: left;

	}

    .home-hero__content > h1.home-hero__title {
        margin-top: max(25vh, 180px);
		font-size:44px;
    }

	.home-hero__body {

		width: 100%;
		margin-bottom: 15vh;

	}



	.home-hero__text,

	.home-hero__text p {

		max-width: 100%;
        font-size: 16px;

	}



	.home-about__body {

		grid-template-columns: 1fr;

	}



	.home-about__counter {

		justify-self: start;

	}



	.home-about__slide-inner {

		width: 100%;

	}



	.home-focus__body {

		grid-template-columns: 1fr;

	}



	.home-brands__grid {

		grid-template-columns: 1fr;

	}



	.home-brands__card {

		min-height: 18rem;

	}



	.home-brands__card:hover .home-brands__media,
	.home-brands__card:focus-within .home-brands__media {
		width: min(35%, 12rem);
	}
	.home-about__slide-title {
		padding-bottom: 20px;
	}
	.home-about__slide-title p {
		font-size: 34px !important;
	}

	.group-ecosystem__intro-text, .group-ecosystem__intro-text p, .group-ecosystem__intro-text h1, .group-ecosystem__intro-text h2, .group-ecosystem__intro-text h3, .group-ecosystem__intro-text h4, .group-ecosystem__intro-text h5, .group-ecosystem__intro-text h6 {
		font-size: 16px;
	}
	.group-ecosystem__intro-title, .group-ecosystem__intro-title p, .group-ecosystem__intro-title h1, .group-ecosystem__intro-title h2, .group-ecosystem__intro-title h3, .group-ecosystem__intro-title h4, .group-ecosystem__intro-title h5, .group-ecosystem__intro-title h6 {
		font-size: 2.5rem;
	}
	.site-footer__band-inner{
		display: block;
	}
	.site-footer__band-image {
		width: 100%;
		height: auto;
	}
}

@media (max-width: 768px) {
	.group-origins__body,
	.home-focus__body,
	.home-about__body,
	.sustainability-philosophy__body,
	.sustainability-crs__body,
	.sustainability-responsibility__body,
	.group-intro__body,
	.home-social__body {
        display: flex;
        flex-direction: column;
		gap: 30px;
	}

	.group-origins__spacer,
	.group-origins__content,
	.home-focus__spacer,
	.home-focus__content,
	.home-about__spacer,
	.home-about__content,
	.sustainability-philosophy__left,
	.sustainability-philosophy__right,
	.sustainability-crs__left,
	.sustainability-crs__right,
	.sustainability-responsibility__left,
	.sustainability-responsibility__right,
	.group-intro__left,
	.group-intro__right,
	.home-social__left,
	.home-social__right {
		width: 100%;
		max-width: none;
		margin-left: 0;
		margin-right: 0;
	}

	.home-focus__spacer,
	.home-about__spacer,
	.group-origins__spacer,
	.sustainability-philosophy__left,
	.sustainability-crs__left,
	.sustainability-responsibility__left {
		min-height: 0;
	}

	

	.home-about__slide-text, .home-about__slide-text p {
		font-size: 16px;
	}
	
	.group-ecosystem__inner {
		padding: 70px 25px;
	}
	.group-ecosystem__slide-inner {
		gap: 25px;
	}
	.group-ecosystem__slide-content {
		gap: 15px;
		grid-template-columns: minmax(0, 20%) minmax(0, 80%);
	}
	.group-ecosystem__slide-media {
		max-height:100px;
	}
	.group-ecosystem__slide-media {
		display: none;
	}
}

.single-post {
	background: #ffffff;
	color: #264530;
}


.single-post__hero {

	position: relative;

	min-height: min(52vh, 42rem);

	background: #264530 var(--single-post-hero, none) center center / cover no-repeat;

	display: flex;

	align-items: flex-end;

	overflow: hidden;

}



.single-post__hero-overlay {

	position: absolute;

	inset: 0;

	background: linear-gradient(180deg, rgba(38, 69, 48, 0.25) 0%, rgba(38, 69, 48, 0.65) 100%);

}



.single-post__hero-inner {

	position: relative;

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 8rem 25px 4rem;

	box-sizing: border-box;

}



.single-post__hero-content {

	max-width: 50rem;

	color: #ffffff;

}



.single-post__kicker {

	margin: 0 0 0.75rem;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	letter-spacing: 0.08em;

	text-transform: uppercase;

	opacity: 0.9;

}



.single-post__title {

	margin: 0;

	font-family: var(--arrigoni-hero-title-font);

	font-size: clamp(3rem, 7vw, 5.5rem);

	font-weight: 500;

	line-height: 0.95;

	letter-spacing: -0.04em;

}



.single-post__meta {

	margin: 1rem 0 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 0.95rem;

}



.single-post__inner {

	width: min(100%, var(--arrigoni-max));

	margin: 0 auto;

	padding: 4rem 25px 6rem;

	box-sizing: border-box;

	display: grid;

	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);

	gap: clamp(2rem, 4vw, 4rem);

	align-items: start;

}



.single-post__content {

	min-width: 0;

	font-family: var(--arrigoni-hero-text-font);

	font-size: 18px;

	line-height: 1.65;

	color: #264530;

}



.single-post__content h2,

.single-post__content h3,

.single-post__content h4 {

	font-family: var(--arrigoni-hero-title-font);

	font-weight: 500;

}



.single-post__sidebar {

	min-width: 0;

	padding: 1.25rem;

	border-radius: 1.25rem;

	background: #eef0ea;

}



.single-post__sidebar-title {

	margin: 0 0 1rem;

	font-family: var(--arrigoni-menu-font);

	font-size: 14px;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #264530;

}



.single-post__latest {

	display: grid;

	gap: 1rem;

}



.single-post__latest-link {

	display: grid;

	grid-template-columns: 8rem minmax(0, 1fr);

	gap: 0.9rem;

	padding: 0.85rem;

	border-radius: 1rem;

	background: #ffffff;

	color: inherit;

	text-decoration: none;

	box-shadow: var(--arrigoni-shadow);

	transition: transform 180ms ease, box-shadow 180ms ease;

}



.single-post__latest-link:hover,

.single-post__latest-link:focus-visible {

	transform: translateY(-0.2rem);

	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);

}



.single-post__latest-media {

	display: block;

	overflow: hidden;

	border-radius: 0.85rem;

	aspect-ratio: 3 / 2;

	background: #d9d9d9;

}



.single-post__latest-media img {

	display: block;

	width: 100%;

	height: 100%;

	object-fit: cover;

	transition: transform 240ms ease;

}



.single-post__latest-link:hover .single-post__latest-media img,

.single-post__latest-link:focus-visible .single-post__latest-media img {

	transform: scale(1.05);

}



.single-post__latest-body {

	display: flex;

	flex-direction: column;

	gap: 0.35rem;

	min-width: 0;

}



.single-post__latest-date {

	font-family: var(--arrigoni-menu-font);

	font-size: 12px;

	letter-spacing: 0;

	text-transform: uppercase;

	color: #5c6757;

}



.single-post__latest-heading {

	font-family: var(--arrigoni-hero-title-font);

	font-size: 1.3rem;

	line-height: 1.05;

	color: #264530;

}



.single-post__latest-excerpt {
	font-family: var(--arrigoni-hero-text-font);
	font-size: 0.95rem;
	line-height: 1.5;
	color: #5c6757;
}

.single-manuale {
	background: #f7f7f3;
}

.single-manuale__hero {
	position: relative;
	min-height: 54vh;
	display: flex;
	align-items: flex-end;
	padding: 72px 24px;
	background: #1d2d1b var(--single-manuale-hero, none) center center / cover no-repeat;
	color: #ffffff;
	overflow: hidden;
}

.single-manuale__hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(18, 28, 16, 0.18) 0%, rgba(18, 28, 16, 0.72) 100%);
}

.single-manuale__hero-inner {
	position: relative;
	z-index: 1;
	width: min(100%, var(--arrigoni-max));
	margin: 0 auto;
}

.single-manuale__hero-content {
	max-width: 920px;
}

.single-manuale__kicker {
	margin: 0 0 12px;
	font-family: var(--arrigoni-menu-font);
	font-size: 0.82rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.single-manuale__title {
	margin: 0;
	font-family: var(--arrigoni-hero-title-font);
	font-size: clamp(2.4rem, 4.8vw, 5rem);
	line-height: 0.92;
	font-weight: 500;
	max-width: 11ch;
}

.single-manuale__parent {
	margin: 18px 0 0;
	font-family: var(--arrigoni-hero-text-font);
	font-size: 1rem;
}

.single-manuale__parent a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.single-manuale__inner {
	width: min(100%, var(--arrigoni-max));
	margin: 0 auto;
	padding: 80px 24px 112px;
	display: grid;
	gap: 48px;
}

.single-manuale__content {
	max-width: 920px;
	font-size: 1.03rem;
}

.single-manuale__content h2,
.single-manuale__content h3,
.single-manuale__content h4 {
	font-family: var(--arrigoni-hero-title-font);
	color: var(--arrigoni-accent-dark);
}

.single-manuale__children {
	border-top: 1px solid rgba(31, 42, 28, 0.16);
	padding-top: 32px;
}

.single-manuale__children-title {
	margin: 0 0 18px;
	font-family: var(--arrigoni-menu-font);
	font-size: 0.82rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--arrigoni-muted);
}

.single-manuale__children-grid {
	display: grid;
	gap: 20px;
}

.single-manuale__child-link {
	display: grid;
	grid-template-columns: minmax(0, 180px) minmax(0, 1fr);
	gap: 18px;
	padding: 16px;
	border: 1px solid rgba(31, 42, 28, 0.12);
	background: #ffffff;
	box-shadow: var(--arrigoni-shadow);
	color: inherit;
	text-decoration: none;
	transition: transform 180ms ease, box-shadow 180ms ease;
}

.single-manuale__child-link:hover,
.single-manuale__child-link:focus-visible {
	transform: translateY(-0.2rem);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.14);
}

.single-manuale__child-media img {
	display: block;
	width: 100%;
	height: auto;
}

.single-manuale__child-body {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.single-manuale__child-heading {
	display: block;
	font-family: var(--arrigoni-hero-title-font);
	font-size: 1.2rem;
	line-height: 1.15;
	font-weight: 600;
	color: #264530;
}

.single-manuale__child-excerpt {
	display: block;
	color: var(--arrigoni-muted);
	font-size: 0.98rem;
	line-height: 1.5;
}

@media (max-width: 900px) {
	.single-post__hero-inner,
	.single-post__inner {
		padding-left: 20px;

		padding-right: 20px;

	}



	.single-post__inner {

		grid-template-columns: 1fr;

	}



	.single-post__hero {

		min-height: 32rem;

	}



	.single-post__hero-content {
		max-width: 100%;
	}

	.single-manuale__hero,
	.single-manuale__inner {
		padding-left: 20px;
		padding-right: 20px;
	}

	.single-manuale__hero {
		min-height: 32rem;
	}

	.single-manuale__hero-content {
		max-width: 100%;
	}

	.single-manuale__child-link {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 900px) {
	.single-manuale__children-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


@media (max-width: 900px) {
	.site-footer__subfooter-inner {
		flex-direction: column-reverse;
		align-items: flex-start;
	}

	.site-footer__band-image {
		width: 100%;
	}

	.site-footer__logos {
		width: 100%;
		justify-content: space-between;
	}
}


/* Yoast breadcrumb - internal pages/articles title sections */
.group-intro__title-content,
.contact-page__title-content {
	position: relative;
}

.arrigoni-page-breadcrumb {
	font-family: var(--arrigoni-hero-text-font);
	font-size: 13px;
	text-align: right;
}

.arrigoni-page-breadcrumb a {
	color: inherit;
	text-decoration: none;
	font-weight: 700;
}

.group-intro__title-content .arrigoni-page-breadcrumb,
.contact-page__title-content .arrigoni-page-breadcrumb {
	position: absolute;
	right: 0;
	bottom: 0;
}

.single-post__hero-inner > .arrigoni-page-breadcrumb {
	position: absolute;
	right: 25px;
	bottom: 4rem;
	color: #ffffff;
}

@media (max-width: 768px) {
	.group-intro__title-content .arrigoni-page-breadcrumb,
	.contact-page__title-content .arrigoni-page-breadcrumb {
		position: static;
		text-align: left;
		margin-top: 1rem;
	}

	.single-post__hero-inner > .arrigoni-page-breadcrumb {
		position: static;
		text-align: left;
		margin-top: 0.5rem;
	}
}


/* Legal pages (Privacy Policy / Cookie Policy) */
.legal-page__body {
	padding: 2rem 0 5rem;
}

/* Back to top button */
.back-to-top {
	position: fixed;
	bottom: 30px;
	right: max(25px, calc((100vw - var(--arrigoni-max)) / 2 + 25px));
	width: 40px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: var(--arrigoni-accent);
	color: #ffffff;
	border: none;
	border-radius: 10px;
	box-shadow: var(--arrigoni-shadow);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.3s ease, transform 0.3s ease, background-color 0.3s ease, color 0.3s ease, visibility 0.3s;
	z-index: 999;
}

.back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.back-to-top:hover,
.back-to-top:focus-visible {
	background: #ffffff;
	color: var(--arrigoni-accent-dark);
}

.back-to-top__arrow {
	transition: transform 0.25s ease;
}

.back-to-top:hover .back-to-top__arrow,
.back-to-top:focus-visible .back-to-top__arrow {
	transform: translateY(-3px);
}

@media (max-width: 768px) {
	.back-to-top {
		right: 16px;
		bottom: 16px;
	}
}


@media (max-width: 550px) {
	.home-brands__content-inner {
		width: 100%;
	}
}

.alignleft {
	float: left;
    margin: 0px 40px 40px 0px;
}
@media (max-width: 600px) {
	.alignleft {
		float: none!important;
    	margin: 0px;
	}
}

@media (max-height:700px){
	.home-about__slide-text, .home-about__slide-text p {
	    font-size: 18px;
	}
}

.news-page__filters {
    display: none;
}