:root{
  --bg0:#050912;--bg1:#07152a;--bg2:#0b2a53;
  --text:#eaf2ff;--muted:#b8c7e3;--accent:#2ED1FF;
  --btn1:#2f64ff;--btn2:#2249b9;--radius:18px;
  --shadow:0 18px 60px rgba(0,0,0,.45);--max:1160px;
  --font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
}

*{box-sizing:border-box}

body{
  margin:0;
  font-family:var(--font);
  color:var(--text);
  background:
    radial-gradient(1200px 700px at 20% 0%, rgba(46,209,255,.16), transparent 55%),
    radial-gradient(900px 600px at 85% 20%, rgba(58,99,255,.18), transparent 55%),
    linear-gradient(180deg,var(--bg0),var(--bg1) 45%,var(--bg2));
}

.container{max-width:var(--max);margin:0 auto;padding:0 18px}
a{text-decoration:none;color:inherit}

/* HEADER */
.header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(5,9,18,.6);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.1);
}

.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
}

/* brand */
.brand{margin:0;padding:0;display:flex;align-items:center}
.brand img{height:110px;width:auto;display:block;margin:0}

/* NAV: fix mobile wrapping */
.nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:14px;
  max-width:60%;
}

.nav a{
  margin-left:0;
  font-size:13px;
  color:var(--muted);
  white-space:nowrap;
}

.nav a:hover{color:#fff}

/* HERO */
.hero{
  padding:56px 0;
  position:relative;
  z-index:1;
}

.hero__inner{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:32px;
  align-items:center;
}

.hero__phones img{
  width:min(560px,100%);
  filter:drop-shadow(0 26px 55px rgba(0,0,0,.55));
}

h1{font-size:clamp(30px,3vw,44px)}
.tagline{font-size:18px}
.dot{color:var(--accent)}

.btn{
  padding:13px 20px;
  border-radius:14px;
  font-weight:800;
  background:linear-gradient(180deg,var(--btn1),var(--btn2));
  color:#fff;
  margin-right:10px;
}

/* SECTIONS */
.section{padding:40px 0}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}

.card{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);
  padding:22px;
}

/* FORM */
.form{display:grid;gap:12px;max-width:720px}

.input,.textarea{
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.03);
  color:var(--text);
}

.textarea{min-height:160px}

/* FOOTER */
.footer{
  border-top:1px solid rgba(255,255,255,.1);
  padding:18px 0;
  margin-top:40px;
}

.small{font-size:13px;color:var(--muted)}

/* Spacing refinements requested */
.subpoints{margin-top:14px}
.subpoints .line{margin:10px 0}
.hero__cta{margin-top:42px}

/* Chi siamo section */
.about{
  margin-top:60px;
  padding-top:40px;
  border-top:1px solid rgba(255,255,255,.12);
}

.about__wrap{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:32px;
  align-items:center;
}

.about__photo{
  width:160px;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(0,0,0,.45);
}

.about__name{margin-top:14px;font-weight:700}
.about__role{font-size:14px;color:var(--muted)}

/* RESPONSIVE */
@media(max-width:900px){
  .hero__inner{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .brand img{height:80px}
  .about__wrap{grid-template-columns:1fr}
}

/* PHONE: menu sotto logo, niente sovrapposizioni */
@media (max-width:520px){
  .header__inner{
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .nav{
    width:100%;
    max-width:100%;
    justify-content:flex-start;
    gap:12px;
  }
  .brand img{height:64px;}
}
