/* --------- Design tokens --------- */
:root{
  --bg: #0b1220;
  --bg-2:#0f172a;
  --surface:#0b1220;
  --muted:#0b1220;
  --text:#e5e7eb;
  --text-dim:#b6bdc7;
  --primary:#22c55e; /* emerald */
  --accent:#38bdf8; /* sky */
  --card: #0b1220;
  --glass: rgba(255,255,255,.06);
  --border: rgba(255,255,255,.12);
  --radius: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu,"Helvetica Neue",Arial,"Noto Sans","Apple Color Emoji","Segoe UI Emoji";
  color:var(--text);
  background: linear-gradient(180deg,var(--bg),var(--bg-2) 60%);
  line-height:1.6;
}

img{max-width:100%;height:auto;border-radius:12px}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.2;margin:0 0 .6rem}
h1{font-size:clamp(2rem,3.8vw,3rem)}
h2{font-size:clamp(1.6rem,2.6vw,2rem)}
h3{font-size:1.15rem}
p{margin:.3rem 0 1rem}
.center{text-align:center}
.lead{font-size:1.125rem;color:var(--text-dim)}

.container{max-width:1100px;margin:0 auto;padding:0 20px}
.section{padding:72px 0}
.section--muted{background:linear-gradient(180deg,transparent,rgba(255,255,255,.02))}
.section--accent{background: radial-gradient(80% 120% at 50% 10%, rgba(56,189,248,.18), transparent 40%), linear-gradient(180deg,transparent,rgba(255,255,255,.02))}

/* Skip link */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:12px;top:12px;width:auto;height:auto;background:#111;color:#fff;padding:8px 10px;border-radius:8px;z-index:999}

/* Header */
.site-header{position:sticky;top:0;z-index:1000;backdrop-filter:saturate(1.2) blur(6px);background:rgba(11,18,32,.6);border-bottom:1px solid var(--border)}
.nav{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand img{display:block}
.menu{display:flex;gap:22px;align-items:center}
.menu a{padding:10px 0;color:var(--text-dim)}
.menu a:hover{color:#fff;text-decoration:none}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--border);border-radius:10px;background:var(--glass);position:relative}
.nav-toggle::before,.nav-toggle::after{content:"";position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:transform .25s ease}
.nav-toggle::before{top:16px}
.nav-toggle::after{bottom:16px}
.btn{display:inline-block;background:var(--primary);color:#08101f;border:none;border-radius:12px;padding:12px 18px;font-weight:600;box-shadow:var(--shadow)}
.btn:hover{filter:brightness(1.1);text-decoration:none}
.btn--ghost{background:transparent;border:1px solid var(--border);color:#fff;box-shadow:none}
.btn--small{padding:8px 12px;border-radius:10px}

/* Hero */
.hero{position:relative;padding:96px 0 32px;overflow:hidden}
.hero__inner{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}
.hero__copy .cta{display:flex;gap:12px;margin:18px 0 12px}
.usp{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:10px 0 0;list-style:none;color:var(--text-dim);font-size:.95rem}
.hero__media{display:flex;justify-content:center}
.hero__wave{position:absolute;left:0;right:0;bottom:-1px;height:100px;background:radial-gradient(120% 140% at 50% 0, rgba(34,197,94,.18), transparent 40%)}

/* Grids */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}

/* Cards */
.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:18px}
.card{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.card--glass{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.04));border:1px solid var(--border)}
.icon{font-size:24px;margin-bottom:6px}

/* Stats */
.stats{display:flex;gap:16px;margin-top:14px;flex-wrap:wrap}
.stats .num{display:block;font-weight:800;font-size:1.5rem}
.stats .label{display:block;color:var(--text-dim);font-size:.9rem}

/* Gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gallery__item{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);padding:10px;text-align:center}
.gallery__item img{border-radius:10px}
.gallery__item figcaption{font-size:.9rem;color:var(--text-dim);margin-top:6px}

/* Checklist */
.checklist{list-style:none;padding:0;margin:10px 0 0}
.checklist li{padding-left:26px;position:relative;margin:8px 0}
.checklist li::before{content:"✓";position:absolute;left:0;color:var(--primary)}

/* Contact */
.contact{list-style:none;padding:0;margin:0 0 12px}
.contact li{margin:6px 0}
.form{background:var(--glass);border:1px solid var(--border);border-radius:var(--radius);padding:18px}
.form__row{display:flex;flex-direction:column;margin:10px 0}
.form__row input,.form__row textarea{background:#0b1324;border:1px solid var(--border);border-radius:12px;padding:10px 12px;color:#fff}
.form__row input:focus,.form__row textarea:focus{outline:2px solid var(--accent);border-color:transparent}
.form__actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.form__privacy{color:var(--text-dim);font-size:.85rem;margin:0}
.hp{display:none !important}

.map iframe{width:100%;min-height:300px;border:0;border-radius:12px;margin-top:18px}

/* Footer */
.site-footer{border-top:1px solid var(--border);padding:32px 0 16px;background:rgba(0,0,0,.2)}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:24px}
.footer__bar{display:flex;justify-content:space-between;align-items:center;margin-top:12px;border-top:1px solid var(--border);padding-top:12px}
.list{list-style:none;padding:0;margin:0}
.social{list-style:none;display:flex;gap:12px;margin:0;padding:0}

/* Toast */
.toast{position:fixed;right:16px;bottom:16px;background:#0b1324;border:1px solid var(--border);color:#fff;padding:12px 14px;border-radius:12px;box-shadow:var(--shadow);max-width:320px}

/* Utilities */
.u-gradient{background: linear-gradient(90deg,var(--accent),var(--primary));-webkit-background-clip:text;background-clip:text;color:transparent}

/* Responsive */
@media (max-width: 980px){
  .hero__inner{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .cards{grid-template-columns:repeat(2,1fr)}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .usp{grid-template-columns:repeat(2,1fr)}
  .menu{display:none;position:absolute;right:20px;top:66px;background:#0b1220;border:1px solid var(--border);border-radius:12px;padding:10px;flex-direction:column;min-width:220px}
  .nav-toggle{display:inline-block}
}
@media (max-width: 520px){
  .cards{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr}
}


/* --- Sicurezza illustration theming --- */
.illu-card{position:relative;overflow:hidden}
.illu-card::after{
  content:""; position:absolute; inset:-1px;
  background:conic-gradient(from 180deg, rgba(56,189,248,.25), rgba(34,197,94,.25), rgba(56,189,248,.25));
  filter:blur(28px); opacity:.18; z-index:0;
}
.illu-card .themed-illustration{
  position:relative; z-index:1; display:block;
  background:
    radial-gradient(60% 80% at 30% 20%, rgba(56,189,248,.15), transparent 40%),
    radial-gradient(60% 80% at 70% 80%, rgba(34,197,94,.15), transparent 40%),
    #0b1324;
  border:1px solid var(--border);
  border-radius: var(--radius);
  padding: 12px;
}
