*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:#070a12;font-family:'Manrope',system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:#eef1f6;}
::selection{background:rgba(212,175,55,0.32);color:#fff;}
a{text-decoration:none;color:inherit;}
/* Skip link per accessibilità da tastiera: visibile solo al focus */
.skip-link{position:fixed;left:12px;top:-80px;z-index:200;background:#d4af37;color:#0a0d16;padding:11px 18px;border-radius:6px;font-weight:700;font-size:14px;transition:top .2s ease;}
.skip-link:focus{top:12px;outline:2px solid #fff;outline-offset:2px;}
@keyframes evosFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-16px);}}
@keyframes evosGlow{0%,100%{opacity:.45;}50%{opacity:.85;}}
[data-reveal].is-in{opacity:1 !important;transform:none !important;}

/* hover states (originariamente attributi style-hover del framework) */
.nav-link{transition:color .25s;}
.nav-link:hover{color:#d4af37;}
.nav-cta:hover{background:rgba(212,175,55,0.1);border-color:#d4af37;}
.btn-gold:hover{transform:translateY(-3px);box-shadow:0 20px 50px -12px rgba(212,175,55,0.6);}
.btn-ghost:hover{border-color:rgba(212,175,55,0.5);color:#d4af37;}
.card:hover{border-color:rgba(212,175,55,0.45);}
.btn-gold-lg:hover{transform:translateY(-3px);box-shadow:0 22px 56px -12px rgba(212,175,55,0.62);}
.email-link:hover{border-color:#d4af37;}

/* ============ RESPONSIVE (mobile-first overrides) ============ */
/* immagini fluide come default sicuro */
img{max-width:100%;height:auto;}

/* Nav: lo switch desktop <-> burger è gestito in CSS, così è corretto
   già al primo paint (niente flash prima che parta il JS). Breakpoint 860px. */
@media (max-width:859px){
  #desktop-nav{display:none !important;}
  #evos-burger{display:flex !important;}
}
@media (min-width:860px){
  #evos-menu{display:none !important;}   /* il menu mobile non resta mai aperto su desktop */
}

/* Tablet / schermi medi: riduce il respiro verticale eccessivo */
@media (max-width:900px){
  #chisiamo, #servizi, #perche{padding-top:88px !important;padding-bottom:88px !important;}
  #contatti{padding-top:96px !important;padding-bottom:96px !important;}
}

/* Telefoni */
@media (max-width:600px){
  #evos-nav > div:first-child{padding:16px 20px !important;}
  #evos-menu{padding-left:20px !important;padding-right:20px !important;}
  #top{padding:108px 20px 76px !important;}
  #chisiamo, #servizi, #perche{padding:72px 20px !important;}
  #chisiamo > div{gap:40px !important;}
  #contatti{padding:80px 20px !important;}
  footer{padding:36px 20px !important;}
  footer > div{justify-content:center !important;text-align:center !important;}
  [data-hero-pin]{padding-left:20px !important;padding-right:20px !important;}
  [data-hero-stage]{height:260vh !important;}     /* meno scroll "a vuoto" su mobile */
  #perche-intro{position:static !important;top:auto !important;margin-bottom:4px;}
}

/* Telefoni molto piccoli */
@media (max-width:380px){
  #top h1{font-size:32px !important;letter-spacing:-1px !important;}
}

/* Accessibilità: rispetta chi preferisce meno movimento */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto !important;}
  *{animation-duration:.001ms !important;animation-iteration-count:1 !important;}
}
