/* ============================================================
   seo.css — stile condiviso per le pagine di contenuto/SEO
   Coerente con la palette della homepage (index.html)
   ============================================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#0a1228; --bg2:#0c1a38; --card:rgba(255,255,255,.045);
  --line:rgba(125,211,252,.14); --txt:#e8eefc; --mut:rgba(232,238,252,.62);
  --sky:#38bdf8; --sky2:#7dd3fc; --gold:#fbbf24;
}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--txt);line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.wrap{max-width:1000px;margin:0 auto;padding:0 22px}
.grad{background:linear-gradient(135deg,#7dd3fc,#818cf8 55%,#ec4899);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* HEADER */
header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);background:rgba(10,18,40,.72);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;max-width:1160px;margin:0 auto;padding:0 22px}
.logo{display:flex;align-items:center;gap:13px;font-weight:800;font-size:24px;letter-spacing:-.3px}
.logo img{height:58px;width:auto;border-radius:14px;box-shadow:0 6px 22px rgba(2,132,199,.40)}
.logo .ai{background:linear-gradient(135deg,#7dd3fc,#ec4899);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.nav-links{display:flex;align-items:center;gap:24px;font-size:14px;color:var(--mut)}
.nav-links a:hover{color:var(--txt)}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;border-radius:11px;cursor:pointer;border:none;font-family:inherit;transition:.18s;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,#1d4ed8,#0891b2);color:#fff;padding:11px 20px;font-size:14px;box-shadow:0 6px 20px rgba(29,78,216,.40)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(29,78,216,.55)}
.btn-lg{padding:15px 30px;font-size:16px}

/* BREADCRUMB */
.crumb{font-size:13px;color:var(--mut);padding:22px 0 0}
.crumb a:hover{color:var(--sky2)}

/* HERO articolo */
.art-hero{padding:34px 0 26px;border-bottom:1px solid var(--line)}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--sky)}
.art-hero h1{font-size:clamp(30px,5vw,48px);font-weight:900;line-height:1.1;letter-spacing:-1.2px;margin:12px 0 16px}
.art-hero p.sub{font-size:clamp(16px,2.2vw,20px);color:var(--mut);max-width:720px}

/* PROSE (corpo articolo) */
.prose{padding:40px 0 10px;font-size:16.5px}
.prose h2{font-size:clamp(22px,3vw,30px);font-weight:900;letter-spacing:-.6px;margin:42px 0 14px;line-height:1.2}
.prose h3{font-size:19px;font-weight:800;margin:28px 0 10px}
.prose p{color:#d5def2;margin:0 0 16px;max-width:760px}
.prose ul,.prose ol{color:#d5def2;margin:0 0 18px 22px;max-width:760px}
.prose li{margin:0 0 9px}
.prose strong{color:var(--txt)}
.prose a{color:var(--sky2);text-decoration:underline;text-underline-offset:3px}
.prose a:hover{color:#fff}

/* Callout / box */
.callout{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--sky);border-radius:12px;padding:20px 22px;margin:24px 0;max-width:760px}
.callout p{margin:0}

/* GRID feature mini */
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin:24px 0;max-width:780px}
.feat{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 20px}
.feat i{font-size:22px;color:var(--sky2)}
.feat h3{font-size:16px;font-weight:800;margin:10px 0 6px}
.feat p{color:var(--mut);font-size:14.5px;margin:0}

/* CTA */
.cta{position:relative;text-align:center;background:linear-gradient(135deg,rgba(29,78,216,.22),rgba(8,145,178,.16));border:1px solid rgba(56,189,248,.30);border-radius:22px;padding:48px 26px;overflow:hidden;margin:50px 0}
.cta h2{font-size:clamp(24px,3.6vw,34px);font-weight:900;letter-spacing:-.7px;margin-bottom:12px}
.cta p{color:var(--mut);max-width:520px;margin:0 auto 24px;font-size:16px}
.cta .micro{font-size:13px;margin-top:16px}

/* FAQ */
.faq{max-width:780px;margin:8px 0}
.faq details{border:1px solid var(--line);border-radius:12px;padding:0;margin-bottom:10px;background:var(--card)}
.faq summary{cursor:pointer;font-weight:700;padding:16px 20px;list-style:none;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--sky2);font-weight:900}
.faq details[open] summary::after{content:"–"}
.faq details p{color:var(--mut);padding:0 20px 18px;margin:0;max-width:none}

/* FOOTER */
footer{border-top:1px solid var(--line);padding:44px 0 32px;margin-top:30px}
.foot-grid{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;margin-bottom:26px;max-width:1160px;margin-left:auto;margin-right:auto;padding:0 22px}
.foot-col h4{font-size:12px;text-transform:uppercase;letter-spacing:1px;color:var(--sky);margin-bottom:12px}
.foot-col a,.foot-col span{display:block;color:var(--mut);font-size:14px;margin-bottom:8px}
.foot-col a:hover{color:var(--txt)}
.foot-bottom{border-top:1px solid var(--line);padding-top:20px;font-size:13px;color:var(--mut);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;max-width:1160px;margin:0 auto;padding-left:22px;padding-right:22px}

@media(max-width:820px){
  .nav-links a:not(.btn){display:none}
  .grid{grid-template-columns:1fr}
}
