/* style.css - Giacco Technologies
   scroll-driven fullscreen backgrounds with fade + glass overlay
*/

/* reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial;line-height:1.5;background:#fafafa;color:#111}

/* header */
.header{
  position:sticky;top:0;z-index:1400;
  backdrop-filter:blur(10px);
  background:rgba(255,255,255,0.78);
  border-bottom:1px solid rgba(0,0,0,0.06);
}
.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 20px}
.logo{height:80px}
.nav ul{display:flex;gap:22px;list-style:none}
.nav a{text-decoration:none;color:#111;padding:8px 12px;border-radius:10px;font-weight:600}
.nav a:hover{background:rgba(0,0,0,0.06);transform:translateY(-2px);transition:all .18s}

/* hero */
.hero{height:62vh;min-height:380px;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 20px;background-image:url('hero.png');background-size:cover;background-position:center}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0.18), rgba(0,0,0,0.45))}
.hero-inner{position:relative;z-index:2;max-width:1100px}
.hero h1{font-size:48px;color:#fff;text-shadow:0 8px 30px rgba(0,0,0,0.6)}
.subtitle{color:#f0f0f0;font-size:1.1rem}

/* main sections (each full viewport) */
main{position:relative}
.bg-section{
  position:relative;
  width:100%;
  height:100vh;
  min-height:520px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

/* background image layer */
.bg-section::before{
  content:"";
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  transition:opacity 700ms ease, transform 900ms cubic-bezier(.2,.8,.2,1);
  opacity:0;
  transform:scale(1.03);
  will-change:opacity,transform;
  z-index:0;
}
/* each section sets its background via inline data attribute - JS will assign style to ::before */
.bg-section.visible::before{opacity:1;transform:scale(1);}

/* glass overlay */
.glass{
  position:relative;
  z-index:5;
  max-width:920px;
  margin:0 20px;
  padding:30px;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.03));
  backdrop-filter:blur(10px) saturate(120%);
  color:#fff;
  box-shadow:0 20px 50px rgba(2,6,23,0.45);
}
.glass h2{font-size:26px;margin-bottom:12px}
.glass p{font-size:15px;line-height:1.6;margin-bottom:10px;color:rgba(255,255,255,0.96)}
.glass ul{margin-top:10px;padding-left:18px}
.glass li{margin:8px 0;color:rgba(255,255,255,0.95)}

/* contact / footer */
.contact{padding:60px 16px;text-align:center;background:#fff}
footer{padding:22px;text-align:center;background:#0b0b0b;color:#fff}

/* back to top */
.back-to-top{position:fixed;right:20px;bottom:20px;width:54px;height:54px;border-radius:50%;border:none;background:rgba(0,0,0,0.78);color:#fff;font-size:20px;display:none;align-items:center;justify-content:center;z-index:1600;backdrop-filter:blur(6px)}
.back-to-top:hover{transform:scale(1.06)}

/* fade-in utility */
.fade-item{opacity:0;transform:translateY(12px);transition:opacity 700ms cubic-bezier(.2,.8,.2,1),transform 700ms cubic-bezier(.2,.8,.2,1)}
.fade-item.visible{opacity:1;transform:none}

/* responsive */
@media(max-width:900px){
  .logo{height:64px}
  .glass{padding:22px}
  .hero h1{font-size:34px}
  .bg-section{min-height:420px}
}
@media(max-width:600px){
  .nav ul{display:none}
  .logo{height:54px}
  .hero{height:50vh}
  .glass{position:relative;background:rgba(255,255,255,0.96);color:#111;backdrop-filter:none;margin:-84px auto 20px}
  .glass p, .glass li{color:#222}
}
/* FIX mobile glass visibility */
@media(max-width:600px){
  .glass{
    background:rgba(255,255,255,0.96) !important;
    color:#111 !important;
  }
  .glass p,
  .glass li {
    color:#111 !important;
  }
}
