/* Gradus — stile principale (v2)
   Requisiti: font minimo 16px, nessun SVG, stile moderno e leggibile.
*/
:root{
  --bg:#0a0f1e;
  --bg2:#0e1630;
  --panel: rgba(255,255,255,.05);
  --card: rgba(255,255,255,.06);
  --stroke: rgba(255,255,255,.12);
  --text:#f3f6ff;
  --muted:#c1c9ee;

  --brand:#ff6b8a;   /* coral */
  --brand2:#7c5cff;  /* violet */
  --brand3:#2ee6c7;  /* mint */
  --accent:#ffd08a;  /* warm */
  --shadow: 0 18px 60px rgba(0,0,0,.50);
  --radius: 20px;

  --focus: rgba(46,230,199,.30);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, "Noto Sans", "Helvetica Neue", sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  background:
    radial-gradient(900px 480px at 10% 10%, rgba(124,92,255,.26), transparent 55%),
    radial-gradient(850px 420px at 90% 12%, rgba(255,107,138,.22), transparent 58%),
    radial-gradient(900px 520px at 55% 92%, rgba(46,230,199,.14), transparent 60%),
    linear-gradient(180deg, #060913 0%, var(--bg) 35%, #050713 100%);
}

a{color:inherit; text-decoration:none}
a:hover{opacity:.95}
img{max-width:100%; height:auto; border-radius:18px; display:block}

.container{width:min(1120px, 92%); margin:0 auto}

.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:var(--accent); color:#141414;
  padding:10px 12px; border-radius:12px; z-index:9999;
}

header.site-header{
  position:sticky; top:0; z-index:60;
  backdrop-filter: blur(10px);
  background: rgba(6,9,19,.70);
  border-bottom:1px solid var(--stroke);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
  gap:12px;
}
.brand{
  display:flex; align-items:center; gap:10px;
  font-weight:900; letter-spacing:.3px;
}
.brand-badge{
  width:40px; height:40px;
  border-radius:16px;
  background:
    radial-gradient(18px 18px at 30% 28%, rgba(255,255,255,.35), transparent 60%),
    linear-gradient(135deg, var(--brand2), var(--brand));
  border:1px solid rgba(255,255,255,.22);
  box-shadow: 0 16px 55px rgba(124,92,255,.20);
}
.brand span small{display:block; font-weight:650; color:var(--muted); letter-spacing:0}

.nav-links{
  display:flex; align-items:center; gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav-links a{
  color:var(--muted);
  font-weight:750;
  padding:8px 10px;
  border-radius:12px;
}
.nav-links a:hover{background: rgba(255,255,255,.07); color:var(--text)}
.nav-cta{display:flex; gap:10px; align-items:center}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color:var(--text);
  font-weight:900;
  cursor:pointer;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
  user-select:none;
}
.btn:hover{transform: translateY(-1px); background: rgba(255,255,255,.09)}
.btn:active{transform: translateY(0px)}
.btn-primary{
  background: linear-gradient(135deg, var(--brand2), var(--brand));
  color:#0b0f1e;
  border-color: rgba(255,255,255,.25);
}
.btn-primary:hover{filter:saturate(1.05)}
.btn-soft{
  background: linear-gradient(135deg, rgba(46,230,199,.22), rgba(255,255,255,.05));
  border-color: rgba(46,230,199,.25);
}
.btn-ghost{background: transparent}

.badge{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color:var(--muted);
  font-weight:800;
}

.nav-toggle{
  display:none;
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: var(--text);
}
.nav-toggle i{font-size:18px}

.hero{
  padding: 48px 0 24px;
}
.hero-grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap:24px;
  align-items:center;
}
.hero h1{
  font-size: clamp(32px, 4vw, 56px);
  line-height:1.05;
  margin:12px 0 12px;
}
.lead{
  color:var(--muted);
  font-size: clamp(16px, 1.2vw, 18px);
  margin:0 0 18px;
}
.hero-actions{display:flex; gap:12px; flex-wrap:wrap; margin: 14px 0 10px}
.hero-highlights{
  margin-top:18px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:12px;
}
.highlight{
  padding:12px;
  border-radius:18px;
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.10);
}
.highlight strong{display:block}
.highlight span{display:block; color:var(--muted); font-weight:700; font-size:14px; margin-top:4px}

.hero-media{
  position:relative;
  padding:14px;
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);
  box-shadow: var(--shadow);
}
.hero-media .overlay{
  position:absolute;
  inset:14px;
  border-radius:16px;
  background:
    radial-gradient(260px 160px at 18% 18%, rgba(46,230,199,.22), transparent 55%),
    radial-gradient(260px 160px at 88% 18%, rgba(255,107,138,.22), transparent 55%),
    linear-gradient(135deg, rgba(0,0,0,.18), rgba(0,0,0,.58));
  pointer-events:none;
}
.hero-media .caption{
  position:absolute;
  left:18px; bottom:18px; right:18px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(6,9,19,.56);
  backdrop-filter: blur(10px);
}
.hero-media .caption p{margin:0; color:var(--muted); font-weight:700}
.hero-media .caption p b{color:var(--text)}

.section{padding: 40px 0}
.section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}
.section-title h2{
  margin:0;
  font-size: clamp(24px, 2.4vw, 36px);
  line-height:1.1;
}
.section-title p{
  margin:0;
  color:var(--muted);
  max-width: 680px;
  font-weight:700;
}

.grid-3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
}
.grid-2{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:14px;
}
.card{
  background: rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding:16px;
}
.card h3{margin:10px 0 8px; font-size:18px}
.card p{margin:0; color:var(--muted); font-weight:700}
.card .icon{
  width:44px; height:44px;
  display:grid; place-items:center;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.16);
  background: rgba(255,255,255,.06);
  color: var(--brand3);
}
.card .icon i{font-size:18px}

.split{
  display:grid;
  grid-template-columns: .95fr 1.05fr;
  gap:18px;
  align-items:stretch;
}
.panel{
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.14);
  box-shadow: 0 14px 50px rgba(0,0,0,.28);
  padding:18px;
}

.kicker{
  font-weight:950;
  color:#0b0f1e;
  display:inline-flex;
  gap:8px; align-items:center;
  background: linear-gradient(135deg, rgba(255,208,138,.95), rgba(46,230,199,.75));
  padding:8px 12px;
  border-radius:999px;
}
.kicker i{color:#0b0f1e}

.list{
  display:grid; gap:10px;
  margin:12px 0 0; padding:0; list-style:none;
}
.list li{
  display:flex; gap:12px; align-items:flex-start;
  padding:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
}
.li-dot{
  width:36px; height:36px;
  border-radius:14px;
  display:grid; place-items:center;
  background: rgba(124,92,255,.16);
  border:1px solid rgba(124,92,255,.28);
  flex:0 0 auto;
}
.li-dot i{color: #d8d0ff}
.list b{display:block}
.list span{color:var(--muted); font-weight:700}

.pain-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:14px;
}
.pain{
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  padding:16px;
}
.pain h3{margin:10px 0 8px}
.pain p{margin:0; color:var(--muted); font-weight:700}

.timeline{
  display:grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:12px;
}
.step{
  padding:16px;
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.step small{
  display:inline-block;
  color: var(--muted);
  font-weight:900;
  letter-spacing:.3px;
}
.step h3{margin:10px 0 8px}
.step p{margin:0; color:var(--muted); font-weight:700}

.reviews{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:14px;
}
.review{
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
  padding:16px;
}
.stars{color: var(--accent)}
.review p{color:var(--muted); font-weight:750; margin:10px 0}
.person{
  display:flex; gap:10px; align-items:center;
}
.avatar{
  width:46px; height:46px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  overflow:hidden;
}
.person b{display:block}
.person span{color:var(--muted); font-weight:700; font-size:14px}

.faq{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:14px;
}
details{
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
  padding:14px 16px;
}
summary{
  cursor:pointer;
  font-weight:950;
}
details p{color:var(--muted); font-weight:750; margin:10px 0 0}

.form-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:12px;
}
label{display:block; font-weight:850; margin:10px 0 6px}
input, textarea, select{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(6,9,19,.48);
  color:var(--text);
  outline:none;
  font-size:16px;
}
textarea{min-height:120px; resize:vertical}
input:focus, textarea:focus, select:focus{
  border-color: rgba(46,230,199,.55);
  box-shadow: 0 0 0 3px var(--focus);
}

.notice{font-size:14px; color:var(--muted); font-weight:700}

footer{
  padding: 26px 0 34px;
  border-top:1px solid rgba(255,255,255,.12);
  margin-top: 22px;
}
.footer-grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr;
  gap:14px;
  align-items:start;
}
.footer-grid p, .footer-grid a{color:var(--muted); font-weight:700}
.footer-links{
  display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end;
}
.footer-links a{
  padding:8px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.03);
}
.footer-links a:hover{background: rgba(255,255,255,.07); color:var(--text)}

.cookie-banner{
  position:fixed;
  left:14px; right:14px; bottom:14px;
  z-index:90;
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.16);
  background: rgba(6,9,19,.74);
  backdrop-filter: blur(12px);
  padding:14px;
  box-shadow: var(--shadow);
}
.cookie-row{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; flex-wrap:wrap;
}
.cookie-banner p{
  margin:0;
  color:var(--muted);
  font-weight:750;
  max-width: 860px;
}
.cookie-actions{display:flex; gap:10px; align-items:center; flex-wrap:wrap}
.cookie-actions a{color:var(--text); text-decoration:underline; font-weight:800}

.modal{
  position:fixed;
  inset:0;
  background: rgba(0,0,0,.58);
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  z-index:140;
}
.modal.active{display:flex}
.modal-card{
  width:min(560px, 96%);
  border-radius: 22px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(14,22,48,.92);
  backdrop-filter: blur(10px);
  box-shadow: var(--shadow);
  padding:18px;
}
.modal-card h3{margin:0 0 8px}
.modal-card p{margin:0; color:var(--muted); font-weight:750}
.modal-actions{display:flex; gap:10px; justify-content:flex-end; margin-top:14px}

.page-hero{padding: 34px 0 16px}
.page-hero h1{margin:0 0 8px; font-size: clamp(28px, 3.4vw, 44px)}
.page-hero p{margin:0; color:var(--muted); font-weight:750}
.content{padding: 18px 0 22px}
.content h2{margin:22px 0 10px}
.content p, .content li{color:var(--muted); font-weight:750}
.content ul{margin:10px 0 0}

@media (max-width: 980px){
  .hero-grid{grid-template-columns:1fr}
  .hero-highlights{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .timeline{grid-template-columns:1fr 1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .reviews{grid-template-columns:1fr}
  .faq{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .footer-links{justify-content:flex-start}
  .form-grid{grid-template-columns:1fr}

  .nav-toggle{display:inline-flex; align-items:center; justify-content:center}
  .nav-links{
    position:absolute;
    left:4%; right:4%;
    top:74px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:6px;
    padding:12px;
    border-radius: 18px;
    border:1px solid rgba(255,255,255,.14);
    background: rgba(6,9,19,.86);
    box-shadow: 0 18px 60px rgba(0,0,0,.45);
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 12px}
.section-title{flex-direction:column; align-items:flex-start}
  .section-title p{max-width:100%}
  .pain-grid{grid-template-columns:1fr}
}


@media (max-width: 560px){
  .section{padding: 30px 0}
  .hero{padding: 34px 0 18px}
  .panel{padding:14px}
  .card{padding:14px}
  .hero-actions .btn{width:100%}
  .cookie-actions .btn{width:100%}
  .cookie-row{align-items:stretch}
  .timeline{grid-template-columns:1fr}
  .brand span small{display:none}
  .nav{padding:12px 0}
  .nav-links{top:66px}
  .hero-media .caption{left:14px; right:14px; bottom:14px}
  input, textarea, select{padding:12px}
.section-title{flex-direction:column; align-items:flex-start; gap:8px}
  .section-title h2{width:100%}
  .section-title p{width:100%}
  .pain-grid{grid-template-columns:1fr}
}

/* Icon placeholders after removing images */
.avatar i{font-size:18px; color: var(--muted)}
.panel > .icon{margin-bottom:12px}
