/* ==========================================================================
   Orange1 - Home New 2026
   Layout di base: desktop only, CSS Grid + Flexbox.
   Font-size e font-weight gestiti con classi utility (o1-fs-1..o1-fs-8 / o1-fw-300..o1-fw-800)
   ========================================================================== */

:root {
	--o1-black: #000000;
	--o1-black-soft: #0d0d0d;
	--o1-dark: #141414;
	--o1-orange: #F08400;
	--o1-orange-light: #FFA733;
	--o1-white: #ffffff;
	--o1-gray: #b5b5b5;
	--o1-gray-dark: #7d7d7d;
	--o1-border: rgba(255, 255, 255, .15);

	--o1-font-base: var(--font-fam, 'Montserrat-VF'), Arial, sans-serif;
	--o1-font-serif: 'EB Garamond', Georgia, 'Times New Roman', serif;

	--o1-container: 1700px;
	--o1-gap: 2px;
	/* stacco sottile tra i blocchi immagine, come nel design */
	--o1-hero-height: 70vh;
}

/* --------------------------------------------------------------------------
   Utility - dimensioni testo
   -------------------------------------------------------------------------- */
.o1-fs-1 {
	font-size: .75rem;
}

/* 12px - micro label / date */
.o1-fs-2 {
	font-size: .875rem;
}

/* 14px - link/nav/small */
.o1-fs-3 {
	font-size: 1rem;
}

/* 16px - body */
.o1-fs-4 {
	font-size: 1.2rem;
}

/* 20px - card title piccolo */
.o1-fs-5 {
	font-size: 1.625rem;
}

/* 26px - sub heading */
.o1-fs-6 {
	font-size: 2.125rem;
}

/* 34px - section heading */
.o1-fs-7 {
	font-size: 2.75rem;
}

/* 46px - hero heading */
.o1-fs-8 {
	font-size: 3.55rem;
}

@media(max-width:1250px) {
	.o1-fs-1 {
		font-size: .75rem;
	}

	/* 12px - micro label / date */
	.o1-fs-2 {
		font-size: .875rem;
	}

	/* 14px - link/nav/small */
	.o1-fs-3 {
		font-size: 1rem;
	}

	/* 16px - body */
	.o1-fs-4 {
		font-size: 1.25rem;
	}

	/* 20px - card title piccolo */
	.o1-fs-5 {
		font-size: 1.625rem;
	}

	/* 26px - sub heading */
	.o1-fs-6 {
		font-size: 2.125rem;
	}

	/* 34px - section heading */
	.o1-fs-7 {
		font-size: 2.35rem;
	}

	/* 46px - hero heading */
	.o1-fs-8 {
		font-size: 2.65rem;
	}
}



@media(max-width:990px) {
	.o1-fs-1 {
		font-size: .7rem;
	}

	/* 12px - micro label / date */
	.o1-fs-2 {
		font-size: .8rem;
	}

	/* 14px - link/nav/small */
	.o1-fs-3 {
		font-size: 0.9rem;
	}

	/* 16px - body */
	.o1-fs-4 {
		font-size: 1.02rem;
	}

	/* 20px - card title piccolo */
	.o1-fs-5 {
		font-size: 1.5rem;
	}

	/* 26px - sub heading */
	.o1-fs-6 {
		font-size: 1.4rem;
	}

	/* 34px - section heading */
	.o1-fs-7 {
		font-size: 1.8rem;
	}

	/* 46px - hero heading */
	.o1-fs-8 {
		font-size: 1.6rem;
	}
}


/* 60px - display */

/* Utility - peso testo */
.o1-fw-300 {
	font-weight: 300;
}

.o1-fw-400 {
	font-weight: 400;
}

.o1-fw-500 {
	font-weight: 500;
}

.o1-fw-600 {
	font-weight: 600;
}

.o1-fw-700 {
	font-weight: 700;
}

.o1-fw-800 {
	font-weight: 800;
}

/* Utility - colore testo */
.o1-text-orange {
	color: var(--o1-orange);
}

.o1-text-white {
	color: var(--o1-white);
}

.o1-text-gray {
	color: var(--o1-gray);
}

.o1-text-black {
	color: var(--o1-black);
}

/* Utility - varie */
.o1-font-serif {
	font-family: var(--o1-font-serif);
	font-style: italic;
}

.o1-uppercase {
	text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   Wrapper generale - esce dal container/row di Bootstrap per essere full-bleed
   -------------------------------------------------------------------------- */
.o1-home {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	background: var(--o1-black);
	font-family: var(--o1-font-base);
	overflow: hidden;
}

.o1-home * {
	box-sizing: border-box;
}

.o1-home img {
	display: block;
	max-width: 100%;
}

/* Placeholder per immagini/media non ancora impostate (ACF le sostituirà) */
.o1-media {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #2a2a2a, #161616);
	background-size: cover;
	background-position: center;
}

.o1-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Bottone standard arancione */
.o1-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	background: var(--o1-orange);
	color: var(--o1-white);
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: background .2s ease;
}

.o1-btn:hover {
	background: var(--o1-orange-light);
	color: var(--o1-white);
}

/* Link con freccia (es. "Scopri il gruppo") */
.o1-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--o1-white);
	text-decoration: none;
	letter-spacing: .05em;
	padding-bottom: 4px;
	width: fit-content;
	border-bottom: 1px solid var(--o1-orange);
}

.o1-link-arrow .o1-arrow {
	color: var(--o1-orange);
	transition: transform .2s ease;
	font-size: 1.4em;
}

.o1-link-arrow:hover .o1-arrow {
	transform: translateX(6px);
}

/* ==========================================================================
   1. HERO - slider 65% + pannello fisso 35%, con cuneo diagonale sulla giuntura
   ========================================================================== */
.o1-hero {
	position: relative;
	display: grid;
	grid-template-columns: 60% 40%;
	height: var(--o1-hero-height);
	overflow: hidden;
	border-top: 1px solid rgba(255, 255, 255, .4);
}

@media(max-width:1700px) {
	.o1-hero {
		grid-template-columns: 55% 45%; 
	}
}


@media(max-width:1500px) {
	.o1-hero {
		grid-template-columns: 50% 50%;
	}
}

@media(max-width:990px) {
	.o1-hero {
		display: block;
		height: auto;
	}
}


.o1-hero__slider {
	position: relative;
	width: 100%;
	height: var(--o1-hero-height);
	overflow: hidden;
}

.o1-hero__slider:after {
	content: "";
	display: block;
	height: 100%;
	width: 100%;  
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(0, 0, 0, .35) 0%,  rgba(255, 136, 0, 0.5) 100%);  
	mix-blend-mode: multiply; 
}


.o1-hero__slider .swiper-wrapper {
	height: var(--o1-hero-height);
}

.o1-hero__slider .swiper-slide {
	height: var(--o1-hero-height);
	overflow: hidden;
}

.o1-hero__slider .o1-media {
	width: 100%;
	height: var(--o1-hero-height);
	overflow: hidden;
}

.o1-hero__slider .o1-media img {
	width: 100%;
	height: var(--o1-hero-height);
	object-fit: cover;
	display: block;
}

/* Cuneo diagonale decorativo, a sinistra del blocco nero, sulla giuntura */
.o1-hero__diagonal {
	position: absolute;
	top: 0;
	right: 40%;
	width: 80px;
	height: var(--o1-hero-height);
	z-index: 2;
	background: var(--o1-black);
	clip-path: polygon(100% 0, 100% 100%, 0 100%);
	pointer-events: none;
}

@media(max-width:1700px) {
.o1-hero__diagonal {
		right: 45%; 
		width: 70px;
	}
}

@media(max-width:1500px) {
	.o1-hero__diagonal {
		right: 50%;
		width: 70px;
	}
}

@media(max-width:990px) {
	.o1-hero__diagonal {
		right: 0;
		width: 100%;
		height: 60px;
		top: calc(60vh - 60px);
	}

	.o1-hero__slider .o1-media,
	.o1-hero__slider .swiper-wrapper,
	.o1-hero__slider .o1-media img,
	.o1-hero__slider {
		height: 60vh;
	}
}


@media(max-width:768px) {
	.o1-hero__diagonal {
		display: none;
	}
}


.o1-hero__panel {
	position: relative;
	width: 100%;
	height: var(--o1-hero-height);
	background: var(--o1-black);
	padding: clamp(50px, 5vw, 90px) clamp(20px, 5vw, 40px);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.o1-hero__panel-top {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.o1-hero__label {
	color: var(--o1-white);
}

.o1-hero__title {
	line-height: 1.15;
}

.o1-hero__text {
	max-width: 420px;
	line-height: 1.5;
}

.o1-hero__bottom {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.o1-hero__divider {
	height: 1px;
	width: 100%;
	background: var(--o1-border);
}

.o1-hero__stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.o1-stat {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.o1-stat__number {
	line-height: 1;
}

.o1-stat__label {
	color: var(--o1-gray);
	line-height: 1.3;
	letter-spacing: .03em;
}


@media(min-width:768px) {
	.o1-stat {
		text-align: center;
	}
	.o1-hero__stats {
		display: flex;
		justify-content: flex-start;
		gap: clamp(15px, 4vw, 50px);   
	}
}



@media(max-width:990px) {
	.o1-hero__panel {
		height: auto;
	}
}

@media(max-width:600px) {
	.o1-stat__label {
		font-size: 12px;
		letter-spacing: .02em;
	}

	.o1-hero__stats {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 7px;
		padding-top: 20px;
	}

	.o1-stat__number {
		font-size: 32px;
		margin-bottom: 5px;
	}

	.o1-stat {
		background-color: rgba(255, 255, 255, .1);
		padding: 15px;
	}
}

/* ==========================================================================
   2. QUOTE - citazione + grafica circolare logo
   ========================================================================== */
.o1-quote {
	border-top: 1px solid rgba(255, 255, 255, .4);
	display: grid;
	grid-template-columns: 65% 35%;
	background: var(--o1-black-soft);
	min-height: 520px;
	margin-bottom: 0;
}

.o1-quote p,
.o1-split__text p {
	color: #d4d4d4;
}

.o1-quote__content {
	padding: clamp(50px, 5vw, 90px) clamp(20px, 5vw, 60px);
	display: flex;
	flex-direction: column;
	gap: 26px;
	justify-content: center;
}

.o1-quote__label {
	color: var(--o1-white);
}

.o1-quote__text {
	line-height: 1.15;
	max-width: 720px;
	font-weight: 400;
}

.o1-quote__text strong {
	color: var(--o1-orange);
	font-weight: 700;
	font-size: 1.2em;
}

.o1-quote__subtext {
	max-width: 560px;
	line-height: 1.6;
	color: var(--o1-white);
}

.o1-scroll-btn {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .25);
	background: transparent;
	color: var(--o1-white);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 1.9rem;
	margin-top: 10px;
}

.o1-quote__graphic {
	position: relative;
	aspect-ratio: 1;
	opacity: 0.1;
}

.o1-quote__graphic img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.o1-quote blockquote {
	border: none;
	margin: 0;
	padding: 0;
}

.o1-quote blockquote:before,
.o1-quote blockquote:after {
	display: none;
}


@media(max-width:990px) {
	.o1-quote__graphic {
		position: absolute;
		right: 0;
		bottom: 0;
		transform: translate(50%, 50%);
		width: 70vw;
		height: auto;
	}

	.o1-quote__graphic img {
		width: 100%;
		height: auto;
	}

	.o1-quote {
		display: block;
		position: relative;
	}
}


@media(max-width:768px) {
	.o1-quote__graphic {
		width: 100vw;
	}
}

@media(max-width:600px) {
	html {
		overflow-x: clip;
	}
}


/* ==========================================================================
   3. GRID 4 - Industries / Sport / Social / Capital
   ========================================================================== */

.home_divisioni {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 2px;
}



.home_divisioni__item {
	position: relative;
	overflow: hidden;
	aspect-ratio: 8/5;
	width: 100%;
	height: auto;
}

@media (min-width: 1400px) {
	.home_divisioni {
		grid-template-columns: repeat(6, 1fr);
	}

	/* i primi 2 → occupano 3 colonne ciascuno (2 per riga) */
	.home_divisioni>*:nth-child(-n+2) {
		grid-column: span 3;
	}

	/* dal 3° in poi → occupano 2 colonne ciascuno (3 per riga) */
	.home_divisioni>*:nth-child(n+3) {
		grid-column: span 2;
	}

	.home_divisioni__item:nth-child(3),
	.home_divisioni__item:nth-child(4),
	.home_divisioni__item:nth-child(5) {
		aspect-ratio: 1;
	}
}

.home_divisioni__item__img {
	width: 100%;
	height: 100%;
	position: relative;
}

.home_divisioni__item__img img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.home_divisioni__item__content {
	padding: clamp(20px, 4.5vw, 40px);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	height: 100%;
	width: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.home_divisioni__item__img:after {
	content: '';
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background-color: rgba(0, 0, 0, .65);
}

.o1-grid4__top,
.o1-grid4__links {
	position: relative;
	z-index: 2;
}

.o1-grid4__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.o1-grid4__number {
	display: block;
	border-bottom: 2px solid var(--o1-orange);
	padding-bottom: 8px;
	width: fit-content;
	margin-bottom: 10px;
}

.o1-grid4__links {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.o1-grid4__link {
	display: flex;
	align-items: center;
	gap: 5px;
	color: var(--o1-orange);
	text-decoration: none;
	line-height: 1.3;
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}


@media(min-width:768px) {
	.o1-grid4__links:hover .o1-grid4__link {
		opacity: 0.7;
	}

	.o1-grid4__links:hover .o1-grid4__link:hover {
		opacity: 1;
	}
}


.o1-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	flex-shrink: 0;
	/* Icona SVG da aggiungere qui */
}

.o1-icon img {
	height: clamp(40px, 6vw, 55px);
	width: auto;
}

@media(max-width:1250px) {
	.o1-grid4__top {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}
}

@media(max-width:768px) {
	.home_divisioni {
		display: grid;
		grid-template-columns: 1fr;
	}

	.home_divisioni__item {
		aspect-ratio: 1;
	}

	.o1-grid4__link {
		font-size: 15px;
		line-height: 1.15;
		padding: 12px;
		background-color: rgba(0, 0, 0, .2);
		border: 1px solid rgba(255, 255, 255, .35);
		margin-top: 5px;
	}

	.o1-grid4__links {
		display: block;
	} 
	.o1-grid4__top h3 {
		font-size: 27px;
	}
}


/* ==========================================================================
   4. SPLIT - Ingegneria applicata dal 1970
   ========================================================================== */
.o1-split {
	display: grid;
	grid-template-columns: 50% 50%;
	background: var(--o1-black);
	min-height: 520px;
}

.o1-split__text {
	padding: clamp(50px, 5vw, 90px) clamp(20px, 5vw, 60px);
	display: flex;
	flex-direction: column;
	gap: 22px;
	justify-content: center;
	color: white;
	font-weight: 400;
}

.o1-split__text strong {
	color: var(--o1-orange);
	font-weight: 600px;
}

.o1-split__label {
	color: var(--o1-white);
}

.o1-split__title {
	line-height: 1.15;
}

.o1-split__desc {
	max-width: 480px;
	line-height: 1.6;
	color: var(--o1-white);
}
 
.o1-split__cta {
	margin-top: 10px;
	width: fit-content;
}
 
.o1-split__image {
	position: relative;
}

.o1-split__image__inner {
	position: relative;
}  

/* .o1-split__image__inner:after {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(255, 136, 0, .55) 0%,  rgba(255, 136, 0, 0) 100%);  
} */

.o1-split__image {
	aspect-ratio: 5/4;
	padding: clamp(50px, 5vw, 90px) clamp(20px, 5vw, 60px);
}

.o1-split__image img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}


@media(max-width:768px) {
	.o1-split {
		display: flex;
		flex-direction: column-reverse;
		min-height: auto;
	}

	.o1-split__image {
		padding-bottom: 0;
	}

}


/* ==========================================================================
   5. LINKS 8 - grid di card con overlay + link (Filosofia, Company profile, ecc.)
   ========================================================================== */
.o1-links8 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2px;
	padding: 0 clamp(20px, 5vw, 50px);
}


@media(max-width:1250px) {
	.o1-links8 {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
	}
}

@media(max-width:768px) {
	.o1-links8 {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}

@media(max-width:600px) {
	.o1-links8 {
		display: flex;
		padding: 0 20px;
		width: 100vw;
		flex-wrap: nowrap;
		gap: 10px;
		overflow-x: scroll;
	}

	.o1-links8__item {
		min-width: 80vw;
		width: 80vw;
	}
}

.o1-links8__item {
	position: relative;
	overflow: hidden;
	text-decoration: none;
	aspect-ratio: 4/3;
}

.o1-links8__item .o1-media {
	height: 100%;
	width: 100%;
}

.o1-links8__item .o1-media img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}

.o1-links8__item:hover .o1-media img {
	transform: scale(1.05);
}

.o1-links8__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(0, 0, 0, .5);
	transition: background .2s ease;
}


.o1-links8__content {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
}

.o1-links8__content__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
}

.o1-links8__title {
	color: var(--o1-white);
	text-align: center;
	letter-spacing: .03em;
}

.o1-links8__plus {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--o1-white);
	color: var(--o1-white);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.3rem;
	line-height: 1;
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}


@media(min-width:768px) {
	.o1-links8__item:hover .o1-links8__overlay {
		background: rgba(0, 0, 0, .6);
	}

	.o1-links8__item:hover .o1-links8__plus {
		background-color: #F08400;
		border-color: #F08400;
	}

}


/* ==========================================================================
   6. NEWS - heading + swiper carosello
   ========================================================================== */
.o1-news {
	background: var(--o1-black);
	padding: clamp(30px, 7vw, 80px) clamp(20px, 5vw, 50px);
}

.o1-news__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-bottom: 40px;
	max-width: var(--o1-container);
	margin-left: auto;
	margin-right: auto;
	flex-wrap: wrap;
}

.o1-news__heading {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.o1-news__subtitle {
	color: var(--o1-white);
}

.o1-news__slider {
	max-width: var(--o1-container);
	margin: 0 auto;
	overflow: visible !important;
}

.o1-news__card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	text-decoration: none;
}

.o1-news__image-wrap {
	width: 100%;
	aspect-ratio: 16/9;
	overflow: hidden;
	margin-bottom: 10px;
}

.o1-news__image-wrap .o1-media {
	width: 100%;
	height: 100%;
}

.o1-news__image-wrap .o1-media img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}


@media(min-width:768px) {
	.o1-news__card:hover .o1-news__image-wrap .o1-media img {
		transform: scale(1.06);
	}
}

.o1-news__title {
	color: var(--o1-white);
}

.o1-news__date {
	color: var(--o1-orange);
	margin-bottom: 0;
}

.o1-news__nav {
	display: flex;
	justify-content: space-between;
	max-width: var(--o1-container);
	margin: 10px auto 0;
}

.o1-news__prev,
.o1-news__next {
	padding: 15px 25px;
	border-radius: 50px;
	border: 1px solid rgba(255, 255, 255, .5);
	background: transparent;
	color: var(--o1-white);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 1.2rem;
}

.o1-news__prev img,
.o1-news__next img {
	width: 33px;
	height: auto;
}

.o1-news__prev:hover,
.o1-news__next:hover {
	background: var(--o1-orange);
	border-color: var(--o1-orange);
}

.js-news-next img {
	transform: rotate(180deg);
}

.o1-news__category {
	color: white;
	display: flex;
	align-items: center;
	gap: 5px;
}

.o1-news__category-term {
	border-radius: 50px;
	padding: 5px 15px;
	background-color: rgba(255, 255, 255, .125);
}

.o1-news__info {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 12px;
}

@media(max-width:600px) {
	.o1-news__title {
		font-size: 18px;
	}

	.o1-news__prev,
	.o1-news__next {
		padding: 10px 20px;
	}

	.o1-news {
		padding-top: 50px;
	}
}

/* ==========================================================================
   7. CTA banner finale
   ========================================================================== */
.o1-cta {
	position: relative;
	height: clamp(350px, 45vh, 800px);
	display: flex;
	align-items: center;
	overflow: hidden;
}

.o1-cta__sfondo {
	position: absolute;
	top: 0;
	left: 0;
	inset: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.o1-cta__sfondo img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.o1-cta__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(240, 132, 0, .55) 0%, rgba(0, 0, 0, .55) 55%, rgba(0, 0, 0, .75) 100%);
}

.o1-cta__inner {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--o1-container);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding: clamp(30px, 7vw, 80px) clamp(20px, 5vw, 50px);
}

.o1-cta__logo img {
	width: 220px;
	height: auto;
}

.o1-cta__text {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 26px;
}

.o1-cta__title {
	color: var(--o1-white);
	text-align: right;
	line-height: 1.2;
	max-width: 50vw;
}

.o1-cta__title {
	margin-bottom: 20px;
}

@media(max-width:600px) {

	.o1-cta {
		height: auto;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.o1-cta__logo img {
		width: 120px;
		height: auto;
		margin-bottom: 30px;
	}


	.o1-cta__inner {
		display: block;
	}

	.o1-cta__title {
		text-align: left;
		max-width: 80%
	}

	.o1-cta__text {
		display: block;
	}

	.o1-cta__overlay {
		position: absolute;
		top: 0;
		left: 0;
		background: linear-gradient(180deg, rgba(240, 132, 0, .55) 0%, rgba(0, 0, 0, .55) 55%, rgba(0, 0, 0, .75) 100%);
	}
}

/* footer */

.footer-legal {
	font-size: 15px;
}

/* template industrial division 2026 */

.hero_pagina {
	height: clamp(350px, 45vh, 600px);
	position: relative;
	width: 100%;
}

.hero_pagina__sfondo {
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

.hero_pagina__text {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
	height: 100%;
	display: flex;
	align-items: center;
	padding: 0 clamp(20px, 5vw, 50px);
	color: white;
}

.hero_pagina__text h1 {
	color: var(--o1-orange);
	margin-bottom: 15px;
}


@media(min-width:768px) {
	.hero_pagina__text__inner {
		padding-right: 30%;
	}
}


.hero_pagina__sfondo:after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .2) 100%);
}

.hero_pagina__sfondo img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.elenco_divisione_industria {
	background-color: black;
	color: white
}


.elenco_divisione_industria :is(a, p, li, strong) {
	color: white;
}

.elenco_divisione_industria__intro {
	padding: clamp(70px, 7vw, 120px) clamp(20px, 5vw, 60px);
}

.divisione_industria {
	padding: clamp(50px, 5vw, 90px) clamp(20px, 5vw, 60px);
	border-bottom: 1px solid rgba(255, 255, 255, .25);
	display: grid;
	grid-template-columns: 1fr 4fr;
	grid-gap: clamp(30px, 10vw, 90px);
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}

.divisione_industria:hover {
	background-color: #111111;
	border-bottom: 1px solid rgba(255, 255, 255, .45);
}

.divisione_industria__sub__item__ico img {
	height: 18px;
	width: auto;
}

.divisione_industria__sub__item__ico {
	margin-bottom: 27px;
}


.divisione_industria__sub__item {
	text-decoration: none;
}

.divisione_industria__sub {
	display: flex;
	gap: clamp(15px, 5vw, 50px);
	align-items: flex-start;
}

.divisione_industria__sub p {
	font-size: 0.9em;
	color: #bbbbbb;
	line-height: 110%;
	margin-top: 10px;
}

.divisione_industria__sub :is(h3, p) {
	-webkit-transition: all 0.35s ease;
	transition: all 0.35s ease;
}

.divisione_industria__sub__item:hover :is(h3, p) {
	color: var(--o1-orange);
}

.divisione_industria__sx h2 {
	padding-top: 10px;
}

.divisione_industria__sx .o1-grid4__number {
	opacity: 0.7;
}

.divisione_industria__sub__item p {
	margin-bottom: 0;
}

@media(min-width:990px) {
	.divisione_industria__sx {
		min-width: 20vw;
	}
}

@media(max-width:1250px) {
	.divisione_industria__sub {
		flex-wrap: wrap;
	}
}

@media(max-width:768px) {
	.divisione_industria__sub {
		display: block;
	}

	.divisione_industria {
		display: block;
	}

	.divisione_industria__sub {
		margin-top: 22px;
	}

	.divisione_industria__sub__item {
		background-color: rgba(255, 255, 255, .1);
		padding: 15px;
		margin-top: 7px;
		display: block;
	}

	.elenco_divisione_industria__intro {
		padding-top: 30px;
		padding-bottom: 0;
	}

	.divisione_industria__sub__item__ico img {
		height: 15px;
	}

	.divisione_industria__sub__item__ico {
		margin-bottom: 11px;
	}

	.divisione_industria__sub h3 {
		font-size: 19px;
	}
}