@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;1,400&family=Montserrat:wght@300;400;500;700&display=swap');

@font-face {
 font-family: "IvyMode-SemiBold";
 src: url("IvyMode-SemiBold.eot");
}
@font-face {
 font-family: "IvyMode-SemiBold";
 src: url("IvyMode-SemiBold.ttf");
}

@font-face {
 font-family: "IvyMode-Thin";
 src: url("IvyMode-Thin.eot");
}
@font-face {
 font-family: "IvyMode-Thin";
 src: url("IvyMode-Thin.ttf");
}

:root { 
	--celeste-chiaro: #d5e9f2; 
	--testo-chiaro: #ffffff; 
	--overlay-background: rgba(25, 35, 40, 0.45);
	--celeste-scuro: #4a758c; 
	--font-grande: 'IvyMode-Thin', sans-serif; 
	--font-base: 'Montserrat', sans-serif; 
}
* { margin: 0; padding: 0; box-sizing: border-box; }
body { overflow-x: hidden; }
a { text-decoration:none; color:var(--celeste-scuro); }
.top-con{width: 100%;}
.top-con-link{margin:0;}
.top-con-link:nth-child(2){float:right;}
.header-active-1, .noslider .header{background-color: var(--celeste-scuro);}
.header-active-1 a, .noslider .header a{}
.logo-top img { display:none;}
.header-active-1 .logo-top img, .noslider .logo-top img { height: 52px; filter: brightness(0) invert(1);display:block;position: absolute;  top: 10px; left: 50%; transform: translateX(-50%);}
.top-con-link img { display:none;}
/* .header-active-1 .top-con-link img { position: relative; display: inline-block; margin-right: 14px; max-height: 19px; filter: brightness(30) grayscale(1);} */
/* .header-active-1 .top-con-link {font-size:0;} */
.header-active-1 .top-con-link {display:none;} 
.header-active-1 .res {display:block;} 

.noslider #content{padding-top:100px;}
.noslider .top-con{display:none ;}
.noslider .logo-top img{display:block ;}
.noslider .res{display:block ;}


@media screen and (max-width: 1000px) {
	.header{background-color: transparent;box-shadow: none;}
	.header.header-res-active{background-color: var(--celeste-scuro); box-shadow: 0 0 5px rgba(0,0,0,0.5);}
	.header-active-1, .noslider .header{background-color: var(--celeste-scuro);box-shadow: 0 0 5px rgba(0,0,0,0.1);}
	.whatsapp{right: 48px;}
}

/* ========= SEZIONE HERO ================= */ 
.hero-section { position: relative; width: 100%; height: 100vh; display: flex; justify-content: center; align-items: center; text-align: center; background: url('../img/layout/slide-home-ospitalium.jpg') no-repeat center center/cover; padding: 0 20px; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: var(--overlay-background); z-index: 1; }
.hero-content { position: relative; z-index: 2; color: var(--testo-chiaro); display: flex; flex-direction: column; align-items: center; max-width: 1200px; width: 100%; }
.hero-title { font-family: var(--font-grande); font-size:8vw; font-weight: 600; letter-spacing: 2px; color: var(--celeste-chiaro); line-height: 1; margin-bottom: 5px; text-transform: uppercase; }
.hero-title .char { display: inline-block; opacity: 0;  transform: translateY(20px) scale(0.8);  filter: blur(5px);  animation: composeChar 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;}
.hero-title .char { display: inline-block; opacity: 0;  transform: translateY(20px) scale(0.8);  filter: blur(5px);  animation: composeChar 0.6s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;}
@keyframes composeChar { to {  opacity: 1;  transform: translateY(0) scale(1);  filter: blur(0);  }}
.hero-subtitle { font-family: var(--font-base); font-size: 3.9vw; font-weight: 400; letter-spacing: 1px; line-height: 1.2; margin-bottom: 15px; }
.hero-brand { font-family: var(--font-base); font-size: 1.7vw; font-weight: 300; font-style: italic; opacity: 0.9; margin-bottom: 40px; text-align: right; padding-right: 0.5vw;  margin-top: -18px;}
.scroll-down-btn {z-index: 1; position:absolute;bottom:30px;display: flex !important; justify-content: center; align-items: center; width: 8vw; height: 8vw; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 50%; color: var(--testo-chiaro); text-decoration: none; transition: all 0.3s ease; margin-top: 20px; }
.scroll-down-btn svg { width: 3vw; height: 3vw; transition: transform 0.3s ease; }
.scroll-down-btn:hover { background-color: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.8); }
.scroll-down-btn:hover svg { transform: translateY(3px); }


/* ========= left MAIN ================= */ 
.left-section { background-color: var(--celeste-chiaro); width: 100%; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 40px 20px; }
.left-container { display: flex; max-width: 1400px; width: 100%; align-items: center; gap: 5%; justify-content: space-between;text-align: justify; }
.left-content { flex: 1; max-width: 600px; padding: 20px; display: flex; flex-direction: column; gap: 25px; }
.h1 { font-family: var(--font-grande); font-size: clamp(1.3rem, 2.1vw, 4rem); font-weight: 400; color: var(--celeste-scuro); line-height: 1.05; text-transform: none; margin: 0;}
.h1 strong{ font-size: clamp(2rem, 3.3rem, 5rem);font-weight: 400;margin-bottom:20px;line-height: 1.2em;  }
.h2{ font-family: var(--font-base); font-size: clamp(1.1rem, 2vw, 1.4rem); /*font-weight: 500;*/color: var(--celeste-scuro); line-height: 1.4; }
.left-content p { font-family: var(--font-base); font-size: clamp(0.95rem, 1.5vw, 1.1rem); font-weight: 300; color: var(--celeste-scuro); line-height: 1.6; }
.left-content p strong { font-weight: 700; }
.left-btn { align-self: flex-start; font-family: var(--font-base); font-size: 0.7rem; font-weight: 500; letter-spacing: 1px; color: var(--celeste-scuro); border: 1px solid var(--celeste-scuro); padding: 15px 35px; border-radius: 12px; text-decoration: none; transition: all 0.3s ease; display: inline-block;
  margin: 20px 20px 20px 0;text-transform: uppercase;}
.left-btn:hover { background-color: var(--celeste-scuro); color: var(--celeste-chiaro); }
.left-image-wrapper { flex: 1; display: flex; justify-content: flex-end;margin-right: -20px; }
.left-img { width: 100%; max-width: 600px; height: auto; object-fit: cover; border-radius: 0px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }

/* --- PORTFOLIO --- */
.opportunities-section { width: 100%; min-height: 100vh; background-color: var(--celeste-scuro); position: relative; padding: 120px 40px 80px 40px;  justify-content: center; align-items: center; z-index: 4; overflow: hidden; }
.bg-watermark {font-size: 140px;margin-bottom:-60px;  font-family: var(--font-grande);  font-weight: 300; color: rgba(255, 255, 255, 0.5); text-align: center; width: 100%; pointer-events: none; white-space: nowrap; }
.opportunities-container { width: 100%; max-width: 1300px;/* display: flex; flex-direction: column; gap: 80px; */margin:0 auto;position: relative; z-index: 5; }
.cards-grid { /*display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px;*/ width: 100%; margin-top: 20px; }
.location-card { position: relative; height: 550px; width: 100%; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; padding: 30px 20px; box-shadow: 0 15px 35px rgba(0,0,0,0.15); }
.card-img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; }
.card-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0,0,0,0.6) 0%, rgba(0,0,0,0.1) 40%, rgba(255,255,255,0.1) 100%); z-index: 1; }
.card-title { font-family: var(--sans-font); font-size: 1.1rem; font-weight: 400; color: var(--testo-chiaro); letter-spacing: 0.08em; text-align: center; position: relative; z-index: 2; text-shadow: 0 2px 4px rgba(0,0,0,0.3); }
.location-card:hover .card-img { transform: scale(1.04); }
.quote-container { width: 100%; display: flex; justify-content: center; text-align: center;margin-top: 80px; }
.quote-text { font-family: var(--font-grande); font-size: clamp(1.6rem, 3.5vw, 2.6rem); font-weight: 400; color: var(--testo-chiaro); line-height: 1.4; max-width: 900px; opacity: 0.95; }

/* ========= right ================= */ 
.right-section { background-color: var(--celeste-chiaro); width: 100%; min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 40px 20px; text-align: left; }
.right-container { display: flex; max-width: 1400px; width: 100%; align-items: center; gap: 5%; justify-content: space-between; flex-direction: row-reverse;}
.right-content { flex: 1; max-width: 600px; padding: 20px; display: flex; flex-direction: column; gap: 25px;text-align: justify; }
.right-content p { font-family: var(--font-base); font-size: clamp(0.95rem, 1.5vw, 1.1rem); font-weight: 300; color: var(--celeste-scuro); line-height: 1.6; }
.right-content p strong { font-weight: 700; }
.right-btn { align-self: flex-start; font-family: var(--font-base); font-size: 0.9rem; font-weight: 500; letter-spacing: 1px; color: var(--celeste-scuro); border: 1px solid var(--celeste-scuro); padding: 15px 35px; border-radius: 12px; text-decoration: none; transition: all 0.3s ease; }
.right-btn.btn_chiaro {color: var(--celeste-scuro);border: 1px solid var(--celeste-scuro); display: inline-block; margin-top: 20px; background: var(--celeste-chiaro); text-transform: uppercase; font-size: 0.7rem;  }
.right-btn:hover { background-color: var(--celeste-scuro); color: var(--celeste-chiaro); }
.right-image-wrapper { flex: 1; display: flex; justify-content: flex-end;margin-left: -20px; }
.right-img { width: 100%; max-width: 600px; height: auto; object-fit: cover; border-radius: 0px; box-shadow: 0 20px 40px rgba(0,0,0,0.1); }

/* --- SEZIONE DETTAGLIO localita --- */
.localita-detail { background-color: var(--celeste-chiaro); color: var(--celeste-scuro); padding: 60px 0; font-family: 'Inter', sans-serif; }
.container-detail { width: 90%; max-width: 1100px; margin: 0 auto; }
.localita-detail p { font-family: var(--font-base); font-size: clamp(0.95rem, 1.5vw, 1.1rem); font-weight: 300; color: var(--celeste-scuro); line-height: 1.6; }
.localita .hero-title { font-size: 7vw;}
/* #localita_slider .swiper-slide{width:100% !important;} */

/* --- GRIGLIA LAYOUT IMMAGINI --- */
.image-gallery { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 25px; margin: 25px auto 50px; height: 100vh; }
.gallery-left { height: 100%; min-height: 0; }
.gallery-right { display: grid; grid-template-rows: minmax(0, 1fr) minmax(0, 1fr); gap: 25px; height: 100%; min-height: 0; }
.gallery-left img, .gallery-right img { width: 100%; height: 100%; object-fit: cover; display: block; }
.example-link { display: block; font-size: 0.8rem; opacity: 0.7; text-transform: uppercase; letter-spacing: 1px; margin-top: 25px; }
.gallery-btn-container{display:none;}

/* --- servizi --- */
.servizi-section { background-color: var(--celeste-scuro); padding: 60px 20px; display: flex; justify-content: center; align-items: center; font-family: var(--font-base); }
.servizi-container { max-width: 1200px; width: 100%; text-align: center; }
.servizi-title { font-family: var(--font-grande); font-size: clamp(3rem, 8vw, 6rem); font-weight: 100; color: var(--celeste-chiaro); opacity: 0.4; margin-bottom: 40px; margin-top: 0; text-transform: none; letter-spacing: 2px; }
.servizi-grid { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; }
.servizio-item { flex: 1; min-width: 160px; display: flex; flex-direction: column; align-items: center; gap: 20px; }
.icon-circle { width: 130px; height: 130px; background-color: var(--celeste-chiaro); border-radius: 50%; display: flex; justify-content: center; align-items: center; }
.servizio-icon { width: 55%; height: 55%; object-fit: contain; }
.servizio-text { color: var(--celeste-chiaro); font-size: 0.95rem; font-weight: 300; line-height: 1.4; max-width: 180px; margin: 0; min-height: 100px;}



/* --- consulenza --- */
.consulenza-section { position: relative; width: 100%; min-height: 100vh; background-image: url('../img/layout/consulenza-ospitalium.jpg'); background-size: cover; background-position: center; display: table;color:#fff; }
.consulenza-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to right, rgba(0,0,0,0.15), var(--overlay-background)); z-index: 1; }
.consulenza-cell { display: table-cell; vertical-align: middle; padding: 40px 80px; position: relative; z-index: 2; }
.consulenza-container { max-width: 540px; margin-left: auto; margin-right: 5%; text-align: justify; }
.consulenza-subtitle { font-family: var(--font-grande); font-size: 26pt; font-weight: 300; color: var(--testo-chiaro); margin-bottom: 2px; line-height: 1.2; letter-spacing: 0.5px; }
.h1.h1_white{color:var(--h1_white);margin-bottom:30px;}
.consulenza-description { font-size: 11pt; font-weight: 300; line-height: 1.75; color: rgba(255, 255, 255, 0.92); margin-bottom: 45px; letter-spacing: 0.2px; }
.consulenza-button { display: inline-block; border: 1px solid var(--testo-chiaro); color: var(--testo-chiaro); text-decoration: none; padding: 14px 36px; border-radius: 30px; font-size: 9pt; font-weight: 400; letter-spacing: 2px; text-transform: uppercase; transition: all 0.3s ease-in-out; background-color: transparent; }
.consulenza-button:hover { background-color: var(--testo-chiaro); color: #192328; border-color: var(--testo-chiaro); }
.consulenza-section p { font-family: var(--font-base); font-size: clamp(0.95rem, 1.5vw, 1.1rem); font-weight: 300; color: var(--testo-chiaro); line-height: 1.6; }


/* --- conatti --- */
.contatti-section { width: 100%; background-color: var(--celeste-scuro); display: flex; align-items: center; justify-content: center; padding: 60px 20px; text-align: center; }
.contatti-container { width: 100%; max-width: 1200px; display: flex; flex-direction: column; align-items: center; gap: 80px; }
.contatti-brand { display: flex; flex-direction: column; align-items: center; }
.contatti-main-title { font-family: var(--font-grande); font-size: 72pt; font-weight: 100; color: var(--celeste-chiaro); line-height: 1; letter-spacing: 2px; }
.contatti-subtitle { font-family: var(--font-base); font-size: 34pt; font-weight: 300; color: var(--testo-chiaro); line-height: 1.2; margin-top: 10px; letter-spacing: 0.5px; }
.contatti-author { font-family: var(--font-base); font-size: 18pt; font-style: italic; font-weight: 300; color: var(--testo-chiaro); margin-top: 15px; opacity: 0.85; }
.contatti-author img{ width:50vw;max-width:300px; }
.contatti-info { display: flex; flex-direction: column; align-items: center; gap: 15px; }
.contatti-label { font-size: 1.2em; font-weight: 400; color: var(--testo-chiaro); letter-spacing: 2px; opacity: 0.9; }
.contatti-links { display: flex; align-items: center; justify-content: center; gap: 15px; flex-wrap: wrap; }
.contatti-links a { font-size: 1.2em; font-weight: 300; color: var(--testo-chiaro); text-decoration: none; transition: opacity 0.2s ease; opacity: 0.9; }
.contatti-links a:hover { opacity: 1; text-decoration: underline; }
.contatti-separator { color: var(--testo-chiaro); opacity: 0.5; }


@media (max-width: 1200px) {
	.bg-watermark {font-size: 100px;margin-bottom:-50px; white-space: initial; }
}
@media (max-width: 992px) {
    .contatti-main-title { font-size: 55pt; }
    .contatti-subtitle { font-size: 26pt; }
    .contatti-container { gap: 60px; }

    .consulenza-container { margin-right: auto; margin-left: auto; max-width: 600px; }
    .consulenza-cell { padding: 40px; }

    .left-container { flex-direction: column; gap: 40px;  } 
    .left-image-wrapper { justify-content: center; width: 100%;margin: 0; } 
    .left-btn { align-self: center; } 
    
    .right-container { flex-direction: column; gap: 40px; } 
    .right-image-wrapper { justify-content: center; width: 100%;margin: 0; } 
    .right-btn { align-self: center; } 
    
    .cards-grid { /*grid-template-columns: 1fr; gap: 40px; max-width: 500px;*/ margin: 0 auto; }
    .location-card { height: 480px; }
    
    .image-column { height: 60vh; min-height: 400px; }
	.bg-watermark {font-size: 80px;margin-bottom:-20px; }

}

@media (max-width: 830px) {
	.bg-watermark {font-size: 50px;margin-bottom:-15px; }
}
@media (max-width: 768px) {
	.bg-watermark {font-size: 30px;margin-bottom:-10px; }
	.image-gallery { grid-template-columns: 1fr; height: auto; gap: 15px; } 
	.gallery-right { grid-template-rows: auto; gap: 15px; } 
	.gallery-left img, .gallery-right img { height: auto; }
    .servizi-grid { justify-content: center; gap: 40px 20px; }
    .servizio-item { flex: auto; width: 40%; }

    .contatti-main-title { font-size: 38pt; letter-spacing: 1px; }
    .contatti-subtitle { font-size: 20pt; }
    .contatti-author { font-size: 14pt; }
    .contatti-links { flex-direction: column; gap: 12px; }
    .contatti-separator { display: none; }
    .contatti-container { gap: 50px; }

    .consulenza-container { text-align: center; }
    .consulenza-title { font-size: 46pt; }
    .consulenza-subtitle { font-size: 20pt; }
    .consulenza-cell { padding: 40px 20px; }
    .consulenza-description { font-size: 10.5pt; margin-bottom: 35px; }
	
	.res {left: 20px;}
	.whatsapp { right: 30px;}
	.scroll-down-btn { bottom: 100px;  width: 70px; height: 70px; border-width: 2px;}
.contatti-impressum a {display:block;}
.hero-title { font-size:15vw;}
.hero-subtitle { font-size: 7.1vw;  }
.hero-brand { font-size: 3vw; }
.left-content{width: 100vw;}
.left-btn{margin:10px auto 0;}

}

@media (max-width: 480px) {
    .servizio-item { width: 100%; }

    .hero-title { letter-spacing: 1px; } 
    .scroll-down-btn { width: 50px; height: 50px; } 
}