/* ==== Fonts (come nel file originale) ==== */

@import url("https://fonts.googleapis.com/css2?family=Didot:ital@1&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Sansation:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap');

/* ==== Palette originale ==== */
:root{
  --bianco: 255, 255, 255;
  --pino: 57, 81, 56;
  --pino-scuro: 54, 68, 53;
  --corallo: 238, 115, 75;
  --peplo: 255, 247, 229;
  --peplo-scuro: 247, 241, 223;
  --grigio-scuro: 65, 65, 65;
}
color:#F7F1DF;

html, 
body{  
	font-family: "Inter", sans-serif;	font-weight:300;
	text-rendering: optimizeLegibility;  background-color: rgb(var(--pino));
	
}
section{scroll-margin-top: 200px;}
html { overflow-x: visible; }
body { overflow-x: clip; }
b,strong{font-weight:600}

.text-pino{color:rgb(var(--pino)) !important;}
.text-pino-scuro{color:rgb(var(--pino-scuro)) !important;}
.bg-pino{background-color:rgb(var(--pino)) !important;}
.text-corallo{color:rgb(var(--corallo)) !important;}
.bg-corallo{background-color:rgb(var(--corallo)) !important;}
.text-bianco{color:rgb(var(--bianco)) !important;}
.bg-bianco{background-color:rgb(var(--bianco)) !important;}
.text-peplo{color:rgb(var(--peplo)) !important;}
.bg-peplo{background-color:rgb(var(--peplo)) !important;}
.bg-peplo-scuro{background-color:rgb(var(--peplo-scuro)) !important;}
.bg-grigio-scuro{background-color:rgb(var(--grigio-scuro)) !important;}

.justified{ text-align: justify; }
.text-coursiv{ font-family: "Didot", "Didot LT STD", "Bodoni MT", serif; font-style: italic;}


/* Taglie originali (per non perdere l'identità tipografica) */
.bold{font-variation-settings:"wght" 800;font-weight:800}
.regular{font-weight:300}
.font-light{font-weight:300}
.font-helvetica{font-family: Helvetica, Arial, sans-serif}
.text-justify {    text-align: justify;}
.f14{font-size:14px;line-height:20px}
.f16{font-size:16px;line-height:22px}
.f22{font-size:22px;line-height:31px}
.f50{font-size:50px;}
.f55{font-size:55px}
.f66{font-size:66px;}
.f85{font-size: 85px;line-height:85px;}
.f100{font-size:100px;line-height:85px}
@media (max-width: 768px) {
	.f66{font-size:40px;}
	.f50{font-size:40px;}
}

/* Linee decorative */
.horizontal-line{  display:block;  height:10px;  width:115px;  margin-top:20px;	margin-bottom:100px}
@media (max-width: 768px) {
	.horizontal-line{ margin-bottom:50px}
}
/* sezione Padding */
.sezione{padding:6rem 0rem;  }
.ombra{box-shadow: 0 0rem 3rem rgb(0 0 0 / 20%) !important;z-index:2;position: relative;}
.sezione a{color:rgb(var(--corallo));text-decoration: none}
.sezione a:hover{color:rgb(var(--pino))}
@media (max-width: 768px) {
	.sezione{padding: 3rem 2rem;}
}

.maxW{max-width:946px}



/*NAV*/
.logo{width:178px;height:69px;object-fit:contain;}
nav{box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.575);}
nav .nav-link{color:rgb(var(--peplo-scuro));font-size:14px;}
nav .nav-link:hover{color:white}
@media (min-width: 991px) 
{
	nav.navbar-expand-lg .navbar-nav .nav-link{padding:1rem 1.5rem}
	
}
@media (max-width: 990px) 
	{
		nav .navbar-brand{padding-left:1rem}
	}

/*VIDEO*/
.sezione.video{padding:0rem}
.sezione.video >div {padding:3rem}
.sezione.video h2{font-size:clamp(18px, 2.2vw, 24px);}



/* HEADER  */
header{overflow: hidden}
.hero-text h1{font-size: clamp(55px, 6.2vw, 100px);font-weight: bold}
.hero-text
{min-height: 70vh;               /* regola se vuoi più/meno alto */
  padding: 6rem 0; 
}
@media (max-width: 768px) {
	.hero-text{padding: 3rem 1rem; min-height: 50vh;}
}

/* HEADER ANIMAZIONE */
.text-1,.text-2,.text-3{opacity:0}
.text-1{animation:slideUpFade 1.5s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:.2s}
.text-2{animation:slideUpFade 1.5s cubic-bezier(.25,.46,.45,.94) forwards;animation-delay:1s}
.text-3{
  font-family: "Didot", "Didot LT STD", "Bodoni MT", serif; font-style: italic;
  color: rgb(var(--corallo));
  animation:slideUpFade 1.5s cubic-bezier(.25,.46,.45,.94) forwards;
  animation-delay:1s;
  font-size: clamp(20px, 7vw, 36px);
}
.text-2 small{font-size:30px;line-height: normal;display: block}
@keyframes slideUpFade{
  0%{opacity:0;transform:translateY(150px)}
  100%{opacity:1;transform:translateY(0)}
}



/* MAPPA */
.sezione.mappa{padding:0px}
.custom-marker{
  background-color: rgb(var(--corallo));
  width:25px;height:25px;
  border-radius:50% 50% 50% 0;
  border:3px solid white;
  transform:rotate(-45deg);
  box-shadow:0 2px 10px rgba(0,0,0,.3);
  position:relative;
}
.custom-marker:after{
  content:"";
  position:absolute;
  top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(45deg);
  width:8px;height:8px;
  background-color:rgb(var(--bianco));
  border-radius:50%;
}

/* Mobile tweaks */
@media (max-width: 768px){
  .f85{font-size:56px;line-height:56px}
  .f100{font-size:70px;line-height:70px}
}



.icona{ max-width:200px}
@media (max-width: 992px) {
	.icona{ max-width:100px}
}
h3 .text-pino,h3 .text-bianco{ font-weight:600}

/*CHI SIAMO*/

.chisiamo_cont{padding: 4rem 0rem;font-weight:200}
.chisiamo_cont li{font-weight:200}
.chisiamo_cont li p{margin-bottom:0.5rem}
aside { padding:6rem 3rem;}

@media (max-width: 768px) {
	aside{padding: 3rem 2rem;}
	.chisiamo_cont{padding: 3rem 3rem;}
	
}


.sezione.chisiamo{padding:0}
.sezione.chisiamo.parte2 .container-fluid{padding:0rem 7rem }
.chisiamo_cont .row .col-lg-4{padding:0rem 3rem}
.chisiamo_cont > div{max-widxth:540px}
.chisiamo_cont{background:url("images/bilancia.png") no-repeat  right center;background-size:cover; }
.chisiamo_cont2{padding: 3rem}
.chisiamo_cont2 .team-column{margin-right:2rem}
@media (max-width: 1200px) 
{
.chisiamo_cont .row .col-lg-4{padding:0rem 1rem}
	
}
@media (max-width: 991px) 
{
	.chisiamo_cont{        background-size: 200%;
        background-position: top center;
    }
	.sezione.chisiamo aside{padding-bottom:0}
	.chisiamo_cont2 .team-column{margin-right:0px}
	
@media (max-width: 767px) 
{
	.sezione.chisiamo.parte2 .container-fluid{padding:0rem 0rem }
}
}
/*COLONNA SX*/
/* TEAM */
.box-team-label{
  color: rgb(var(--text-peplo));
  background-color: rgb(var(--pino));
  display: inline-block;
  padding: 13px 18px;
  margin-top: -30px;
  width: 250px;
}
.box-team-name{ display:block; font-size: 20px;;font-weight:600}
.box-team-role{ display:block; opacity:.9; }
.team-column {  width: 100%;  max-width: 320px;display: inline-block}
.team-column img{width: 100%;}
@media (min-width: 992px) {
  .team-column {    margin-left: 0; display: block}
}
@media (max-width: 991px) {
	 .team-column {     display: block}
}
.team-column {
  width: 100%;
  max-width: 320px; /* = larghezza immagini */
}

@media (min-width: 992px) {
  .team-column {    margin-left: 0;  }
}


/*SEZIONE BOX*/

.sezione.boxes{padding:0}
.boxes .col-md-4{aspect-ratio:1}
.box-cont{min-height:300px;max-width:300px;font-size: 20px;}
.box-cont h4{   font-size: 32px;font-weight:600}
.box-cont p{font-weight:300}
@media (max-width: 768px) {
	.box-cont{min-height:auto;}
}

/*FASCIA*/
.sezione.fascia{padding:4rem}
.fascia p{font-size:25px;font-weight:600}

.fascia h2{font-size:40px;}
.fascia .maxW{max-width:800px}
.fascia.due .maxW{max-width:915px}
.fascia.due .small{font-size:20px}
@media (max-width: 768px) {
	.sezione.fascia{padding:3rem 2rem}
}
@media (max-width: 768px) {
	.fascia p{font-size:20px;}
	.fascia h2{font-size:30px;}
}
/*MISSION*/
.sezione.mission{padding:0px}
.mission h3{font-size:85px;line-height:85px}
.mission h3 .text-coursiv{font-size:100px}
.mission h4{font-size:38px;line-height:38px;font-weight:800}

.mission aside{background:url("images/bilancia.png") no-repeat  right center;background-size:cover;}
.mission aside h3{ max-width:300px;text-align:left;display: inline-block;margin-bottom: 2rem} 
.mission-cont > div{max-width:590px}
.mission aside .testo{max-width:300px;text-align:left;display: inline-block;margin-bottom: 2rem}
.mission-cont h4{margin-bottom: 2rem} 
.mission-cont{ padding:6rem 3rem}

@media (max-width: 768px) {
	.mission-cont{ padding:3rem 2rem}
	.mission h3{font-size:65px;line-height:65px}
	.mission h3 .text-coursiv{font-size:70px}
	.mission aside h3{width:100%}
}
/* Colonna mission SX con immagine di sfondo (come originale) */
.bg-mission-sx{
  background-image: url(/bg_grigio.avif);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

/* Iconcina mission (replica del +) */
.mission-icon{
  width:60px;height:60px;
  background: rgb(var(--corallo));
  clip-path: polygon(40% 0, 60% 0, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0 60%, 0 40%, 40% 40%);
}
	
	@media (max-width: 768px) {
		.mission-icon{width:40px;height:40px;}
}
	
/*PROFESSIONALE*/
.professionale{background: #fafafa}
.professionale p{font-weight:200}

.professionale h3{font-weight: bold}
.professionale .row {margin-top:2rem}
.professionale .row p{font-weight: bold;    font-size: 20px;line-height:normal}
@media (max-width: 768px) {
	.professionale .row p{font-size:16px}
	
}
.professionale img{width: 70px;margin-bottom:1rem}
.professionale .row .col-md-4{margin-bottom: 2rem}




/*CONTATTI*/

.sezione.contatti{padding:0px}
.contatti h3{font-size:85px;line-height:85px}
.contatti aside{}
.contatti aside h3{ max-width:300px;text-align:left;display: inline-block;margin-bottom: 4rem} 
.contatti .horizontal-line{margin-bottom:2rem}
.contatti-cont > div{max-width:590px}
.contatti-cont h4{margin-bottom: 2rem} 
.contatti-cont{ padding:6rem 3rem}
.contact-block{margin-bottom: 2rem}
@media (max-width: 768px) {
	.contatti-cont{ padding:3rem 2rem}
	
	.contact-block{margin-bottom: 0rem}
}



.contact-label{    font-weight:700;    margin-bottom:.25rem;    color:rgb(var(--peplo-scuro));  }
.contact-text{    opacity:.95;    line-height:1.35;	 color: rgb(var(--bianco));  }
.sezione.contatti a{color:rgb(var(--bianco))}
.sezione.contatti a:hover{color:rgb(var(--peplo))}
@media (max-width: 768px) {
	.contact-label,.contact-text{display: inline-block}
	.contact-label{margin-right: 1rem}
}


/* form */
.contact-form .form-label{    color:rgba(255,255,255,.9);    margin-bottom:.5rem;  }
.contact-form .req{ opacity:.3; }
.contact-input{    border-radius:0;    border:0;    background-color:rgb(var(--bianco));    height:46px;  }
textarea.contact-input{    height:auto;    min-height:140px;  }
.contact-btn{    border-radius:0;    border:0;    background:rgb(var(--peplo-scuro));    color:rgb(var(--pino-scuro));
 padding:14px 18px;    font-weight:600;  }
.contact-btn:hover{    filter:brightness(.8);	  background:rgb(var(--peplo-scuro));  }


.social{ display: inline-flex;align-items: center;color:white;text-decoration: none;border-radius:var(--border-min-radius);font-size: 1.5rem; margin:0px 1rem}

footer{font-size:14px}
footer  span{opacity: 0.5;}
footer  a{ color:rgb(var(--peplo))}
footer  a:hover{color:white}



.fade-box{
  position: relative;
  background: var(--fade-to, #fff);
  overflow: hidden;
}

/* overlay */
.fade-box::before{
  content:"";
  position:absolute;
  inset:0;
  background: var(--fade-from, transparent);
  opacity: var(--fade, 1);
  pointer-events: none;
  z-index: 1;
}

.fade-box > *{
  position: relative;
  z-index: 2;
}

nav.navbar-expand-lg .navbar-nav .lingua .nav-link{background: rgb(var(--peplo));  padding: 0.5rem 1rem;   margin:0.5rem 1rem;color:rgb(var(--pino)); }

.navbar-expand-lg .navbar-nav .dropdown-menu{min-width:2rem;left: 1rem;    max-width: 4.3rem;font-size:14px;border-radius:0;border:none;margin:0px;margin-top:-0.5rem;background: rgb(var(--pino-scuro));}


.dropdown-item:focus, .dropdown-item:hover{background: black;}
@media (max-width: 768px) {
nav.navbar-expand-lg .navbar-nav .lingua .nav-link{margin:0px;}
.nav-item.dropdown.lingua{width: 70px}
	.navbar-expand-lg .navbar-nav .dropdown-menu{margin-top:0px}
}