/* Stile comune delle pagine della guida «Ingegneria agentica» — stessa grammatica visiva delle figure */
:root { --navy:#1F2A44; --grey:#E8ECF2; --line:#D3D9E3; --ink:#1E2433; --muted:#5B6573; --bg:#F7F9FC; --white:#fff;
        --oggi:#2E7D32; --integrazione:#1565C0; --prospettiva:#6A1B9A; --rischio:#C77700; }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:Helvetica, Arial, sans-serif; color:var(--ink); background:var(--bg); line-height:1.6; font-size:17px; }
a { color:var(--integrazione); }
.wrap { max-width:880px; margin:0 auto; padding:0 18px; }
.top { background:var(--white); border-bottom:1px solid var(--line); }
.top .wrap { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:12px 18px; flex-wrap:wrap; }
.top a { text-decoration:none; color:var(--navy); font-weight:600; font-size:15px; }
.top nav { display:flex; gap:14px; flex-wrap:wrap; }
.top nav a { font-weight:400; color:var(--muted); }
header.hero { background:var(--navy); color:#fff; padding:44px 0 36px; }
header.hero .kicker { font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:#C9D3E6; }
header.hero h1 { font-family:Georgia, serif; font-size:clamp(28px,5vw,40px); line-height:1.15; margin:10px 0 12px; }
header.hero p { color:#DCE3EF; max-width:40em; }
main { padding:28px 0 40px; }
section { margin:26px 0; }
h2 { font-family:Georgia, serif; color:var(--navy); font-size:24px; margin-bottom:10px; }
h3 { color:var(--navy); font-size:18px; margin:14px 0 6px; }
p + p { margin-top:10px; }
ul, ol { padding-left:22px; } li { margin:4px 0; }
.box { background:var(--white); border:1px solid var(--line); border-radius:12px; padding:18px 20px; margin:14px 0; }
.box.sintesi { background:var(--grey); border-color:var(--grey); }
.box.attenzione { border-color:var(--rischio); background:#FFF6E8; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:14px; }
.card { background:var(--white); border:1px solid var(--line); border-radius:12px; padding:16px 18px; text-decoration:none; color:inherit; display:block; }
.card:hover { border-color:var(--navy); }
.card h3 { margin-top:0; }
.tag { display:inline-block; font-size:12px; font-weight:600; padding:2px 9px; border-radius:999px; color:#fff; }
.tag.oggi { background:var(--oggi); } .tag.integrazione { background:var(--integrazione); } .tag.prospettiva { background:var(--prospettiva); }
label { display:block; font-weight:600; font-size:15px; margin:12px 0 4px; }
input[type=text], input[type=email], input[type=number], input[type=date], select, textarea {
  width:100%; font:inherit; font-size:16px; padding:9px 11px; border:1px solid var(--line); border-radius:8px; background:#fff; }
.check { display:flex; gap:10px; align-items:flex-start; font-weight:400; }
.check input { margin-top:5px; }
button, .btn { font:inherit; font-weight:600; background:var(--navy); color:#fff; border:0; border-radius:999px; padding:11px 20px; cursor:pointer; text-decoration:none; display:inline-block; }
button.secondario, .btn.secondario { background:#fff; color:var(--navy); border:1px solid var(--navy); }
table { width:100%; border-collapse:collapse; background:#fff; font-size:15px; }
th, td { border:1px solid var(--line); padding:7px 9px; text-align:left; vertical-align:top; }
th { background:var(--grey); color:var(--navy); }
.muted { color:var(--muted); font-size:14px; }
.privacy { font-size:13px; color:var(--muted); margin-top:8px; }
footer { border-top:1px solid var(--line); background:#fff; padding:22px 0; font-size:14px; color:var(--muted); }
@media print { .top, footer, .noprint { display:none; } body { background:#fff; } }
