@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;600&display=swap');
/* AGENTIC — stile pagine /progetti · coerente con la landing (navy + blu elettrico + giallo fluo) */
:root{
  --bg:#0A1628; --bg-deep:#060F1C; --bg-card:#0D1B2A; --bg-card-elev:#122236;
  --blu:#1A75FF; --blu-deep:#0F2748; --blu-glow:rgba(26,117,255,.18);
  --giallo:#FAFF00; --giallo-warm:#FFE600; --giallo-lime:#E1FF00;
  --giallo-soft:rgba(250,255,0,.14); --giallo-glow:rgba(250,255,0,.35);
  --text:#F5F7FA; --mut:#94A3B8; --dim:#5A6B82;
  --display:'Titillium Web',-apple-system,Segoe UI,Arial,sans-serif;
  --mono:'JetBrains Mono','SF Mono',Consolas,monospace;
  --r:4px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--display); font-weight:400; line-height:1.6; color:var(--text);
  background:var(--bg); overflow-x:hidden; position:relative; min-height:100vh; letter-spacing:.005em;
}
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:1;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.014) 0,rgba(255,255,255,.014) 1px,transparent 1px,transparent 3px);
}
body::after{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:radial-gradient(circle at 15% 12%,var(--blu-glow) 0%,transparent 35%),
             radial-gradient(circle at 85% 88%,rgba(250,255,0,.05) 0%,transparent 35%);
}
.wrap{width:100%;max-width:900px;margin:0 auto;padding:0 22px;position:relative;z-index:2}
a{color:var(--giallo);text-decoration:none;transition:opacity .15s ease}
a:hover{opacity:.75}
h1,h2,h3{font-family:var(--display);line-height:1.12;letter-spacing:-.015em;color:var(--text)}
h1{font-size:clamp(2rem,5.5vw,3.4rem);font-weight:700;letter-spacing:-.025em;margin:10px 0 16px;max-width:18ch}
h2{font-size:clamp(1.4rem,3.4vw,2rem);font-weight:600;color:var(--text);margin:2em 0 .4em}
p,li{font-size:1.0625rem;color:#D7E2F0}

/* header */
header{position:sticky;top:0;z-index:100;background:rgba(10,22,40,.82);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--blu-deep)}
header .wrap{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;max-width:1100px}
.logo{font-family:var(--display);font-weight:700;font-size:1.05rem;letter-spacing:-.01em;color:var(--text)}
.logo b{color:var(--giallo)}
.cta{background:var(--giallo);color:var(--bg) !important;font-weight:600;font-size:.9rem;padding:.6rem 1.1rem;border-radius:var(--r);border:1px solid var(--giallo);transition:all .18s ease}
.cta:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--giallo-glow);opacity:1}

.bc{color:var(--mut);font-family:var(--mono);font-size:.8rem;letter-spacing:.03em;padding:20px 0 0}
.bc a{color:var(--mut)}.bc a:hover{color:var(--giallo);opacity:1}

/* hero */
.hero{padding:30px 0 42px}
.k{font-family:var(--mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--giallo);font-weight:600}
.lead{font-size:1.15rem;color:var(--mut);max-width:60ch;margin:0}

main{padding:10px 0 46px}
main p{margin-bottom:.6em}
main strong{color:var(--text);font-weight:600;background:var(--giallo-soft);padding:0 .12em}
main ul{margin:.3em 0 1.1em;padding:0;list-style:none}
main ul li{position:relative;padding:.35em 0 .35em 1.5em;border-bottom:1px solid var(--blu-deep);color:#D7E2F0;font-size:1rem}
main ul li:last-child{border-bottom:none}
main ul li::before{content:"→";position:absolute;left:0;color:var(--giallo);font-family:var(--mono);font-weight:600}

.live{
  display:inline-block;background:var(--giallo);color:var(--bg);font-family:var(--display);font-weight:600;
  font-size:.95rem;padding:.8rem 1.6rem;border-radius:var(--r);border:1px solid var(--giallo);margin:16px 0;transition:all .18s ease;
}
.live:hover{transform:translateY(-2px);box-shadow:0 6px 24px var(--giallo-glow);opacity:1}

/* cards (hub) */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:26px}
@media(max-width:700px){.cards{grid-template-columns:1fr}}
.card{
  display:block;background:var(--bg-card);border:1px solid var(--blu);border-radius:var(--r);
  padding:22px;text-decoration:none;color:var(--text);transition:all .2s ease;
}
.card:hover{border-color:var(--giallo);transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.4),0 0 0 1px var(--giallo);opacity:1}
.card .k{display:block;color:var(--giallo-warm);margin-bottom:.4em}
.card h3{margin:.25em 0 .3em;color:var(--text);font-size:1.2rem;font-weight:600}
.card p{margin:0;color:var(--mut);font-size:.95rem}

/* CTA band */
.band{
  background:linear-gradient(135deg,var(--blu-deep) 0%,var(--bg-card) 100%);
  border:1px solid var(--blu);border-radius:var(--r);padding:28px;margin:38px 0;text-align:center;position:relative;overflow:hidden;
}
.band::before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--blu-glow) 0%,transparent 50%);pointer-events:none}
.band>*{position:relative;z-index:1}
.band h2{margin:.1em 0 .3em}
.band p{color:var(--mut);margin-bottom:.4em}

footer{border-top:1px solid var(--blu);background:var(--bg-deep);padding:26px 0;color:var(--dim);font-family:var(--mono);font-size:.78rem;letter-spacing:.04em;position:relative;z-index:2}
footer a{color:var(--dim)}footer a:hover{color:var(--giallo);opacity:1}

::selection{background:var(--giallo);color:var(--bg)}
:focus-visible{outline:2px solid var(--giallo);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
