/* ===========================
   FONT
=========================== */
@import url('https://fonts.googleapis.com/css2?family=Montserrat&display=swap');

/* VARIABILI */
:root {
  --nero: #000000;
  --arancione: #dd9933;
  --grigio: #EEEEEE;
  --grigio-scuro: #333333;
  --testo-secondario: #555555;
}

/* RESET BASE */
* { box-sizing: border-box; margin:0; padding:0; font-family: 'Montserrat', sans-serif; }
body, html { height: 100%; background-color: var(--grigio); color: var(--nero); text-align:center; scroll-behavior: smooth; overflow-x:hidden; }
img, video, iframe { max-width:100%; height:auto; }

/* HEADER */
header {
  width: 100%;
  z-index: 1000;
  position: fixed;
  top:0;
  left:0;
}

.header-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background-color: rgba(238,238,238,0.95);
  padding: 1rem 2rem;
  transition: transform 0.3s ease;
}

.header-inner.hidden { transform: translateY(-150%); }

header img.logo { max-height: 100px; }


/* HERO */
.hero-container {
  height:100vh;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  background-color: var(--grigio);
  padding:0 1rem;
}

.hero-container h1 { text-transform:uppercase; font-size:3rem; color:var(--arancione); margin-bottom:0.5rem; font-weight:500; }
.hero-container h2 { text-transform:uppercase; font-size:1.8rem; color:var(--testo-secondario); margin-bottom:1.5rem; font-weight:500; }

/* MAIN CONTENT */
main { max-width:900px; margin:0 auto; padding:4rem 1rem 2rem 1rem; }
.highlight-link { color:var(--arancione); font-weight:500; text-decoration:none; }
.highlight-link:hover { text-decoration:underline; }

/* SEZIONI */
.about-section, .services-section, .contact-section { background-color: var(--grigio); padding:4rem 1.5rem; text-align:center; }
.about-section h3, .services-section h3, .contact-section h3 { font-size:2rem; font-weight:500; color:var(--arancione); margin-bottom:1.5rem; text-transform:uppercase; }
.about-content, .services-content, .contact-content { max-width:900px; margin:0 auto; }
.about-text { font-size:1rem; color:var(--testo-secondario); line-height:1.7; }

/* FADE-IN */
.fade-in { opacity:0; transform:translateY(50px); transition:opacity 0.8s ease-out, transform 0.8s ease-out; }
.fade-in.visible { opacity:1; transform:translateY(0); }

/* FOOTER */
footer { background-color: rgba(238,238,238,0.6); color:var(--nero); padding:1.5rem 2rem; text-align:center; font-size:0.8rem; margin-top:4rem; }
footer .footer-text { text-transform:uppercase; font-weight:400; }

/* RESPONSIVE */
@media screen and (max-width:768px){
  .hero-container h1 { font-size:2.5rem; }
  .hero-container h2 { font-size:1.5rem; }
  .about-section h3, .services-section h3, .contact-section h3 { font-size:1.6rem; }
  .about-text { font-size:0.95rem; }
  header img.logo { max-height:80px; }
}
