
@font-face{font-family:"Bricolage";font-weight:700;font-display:swap;src:url(/assets/fonts/bricolage-700.woff2) format("woff2")}
@font-face{font-family:"Bricolage";font-weight:800;font-display:swap;src:url(/assets/fonts/bricolage-800.woff2) format("woff2")}
:root{color-scheme:light dark;
  --font-display:"Bricolage",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --stage:#04213f;--stage-2:#0a3560;--signal:#ef1921;--signal-ink:#ce0e16;--navy:#00366e;
  --bg:#f5f6f8;--bg-2:#eceef3;--surface:#fff;--text:#0b2238;--text-dim:#5a6675;--hair:#dde1e8;--hair-strong:#c8cfda;
  --accent:var(--signal-ink);--on-stage:#eef3f9;--on-stage-dim:#9fb2c9}
@media (prefers-color-scheme:dark){:root{--bg:#0a1626;--bg-2:#0e1d31;--surface:#122237;--text:#eaf1f9;--text-dim:#93a4bb;
  --hair:#1c2f45;--hair-strong:#294059;--accent:var(--signal)}}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-size:18px;line-height:1.7;-webkit-font-smoothing:antialiased;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;line-height:1.08;margin:0}
.wrap{max-width:760px;margin:0 auto;padding:0 24px}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:600}
:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:3px}
/* nav */
header.nav{position:sticky;top:0;z-index:50;background:var(--stage);border-bottom:1px solid #0c2c4e}
.nav-in{max-width:1180px;margin:0 auto;padding:0 24px;height:70px;display:flex;align-items:center;justify-content:space-between}
.brand img{height:30px;width:auto;display:block}
.nlinks{display:flex;align-items:center;gap:26px}
.nlinks a{color:#c9d7e8;font-size:14.5px;font-weight:540}
.nlinks a:hover,.nlinks a.on{color:#fff}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:640;font-size:14.5px;padding:12px 20px;border-radius:100px;
  background:var(--signal);color:#fff;transition:.18s}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px -12px var(--signal)}
@media(max-width:720px){.nlinks a:not(.btn){display:none}}
/* hero blog */
.blog-hero{background:var(--stage);color:var(--on-stage);padding:64px 0 56px;border-bottom:1px solid #0c2c4e}
.blog-hero h1{color:#fff;font-size:clamp(34px,6vw,56px)}
.blog-hero p{color:var(--on-stage-dim);font-size:19px;margin:18px 0 0;max-width:38rem}
/* lista articoli */
.posts{padding:56px 0 80px}
.pcard{display:block;padding:30px 0;border-top:1px solid var(--hair)}
.pcard:last-child{border-bottom:1px solid var(--hair)}
.pcard:hover h2{color:var(--accent)}
.pmeta{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--text-dim);text-transform:uppercase}
.pcard h2{font-size:clamp(22px,3vw,30px);margin:12px 0 0;transition:color .2s}
.pcard p{color:var(--text-dim);font-size:16.5px;margin:12px 0 0}
.pmore{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:var(--accent);font-weight:600;font-size:15px}
/* articolo */
article.post{padding:56px 0 40px}
.post .kicker{margin-bottom:18px}
.post h1{font-size:clamp(30px,5vw,52px);margin:14px 0 0}
.post .lead{font-size:20px;color:var(--text-dim);margin:22px 0 0;line-height:1.55}
.post .meta{display:flex;gap:16px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12.5px;letter-spacing:.05em;
  color:var(--text-dim);text-transform:uppercase;margin-top:26px;padding-top:22px;border-top:1px solid var(--hair)}
.body{margin-top:36px}
.body h2{font-size:clamp(22px,3.2vw,30px);margin:44px 0 0}
.body h3{font-size:20px;margin:32px 0 0;font-weight:700}
.body p{margin:18px 0 0}
.body ul,.body ol{margin:18px 0 0;padding-left:22px}
.body li{margin:9px 0}
.body strong{color:var(--text)}
.body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.body blockquote{margin:28px 0 0;padding:6px 0 6px 22px;border-left:3px solid var(--signal);color:var(--text);
  font-size:20px;font-family:var(--font-display);font-weight:700;letter-spacing:-.02em}
.cta-box{margin:52px 0 0;padding:32px;border:1px solid var(--hair);border-radius:20px;background:var(--bg-2)}
.cta-box h3{font-size:22px}
.cta-box p{color:var(--text-dim);margin:10px 0 20px}
.backlink{display:inline-flex;align-items:center;gap:8px;margin-top:44px;color:var(--text-dim);font-weight:560;font-size:15px}
.backlink:hover{color:var(--accent)}
footer{background:var(--stage);color:var(--on-stage-dim);border-top:1px solid #0c2c4e;padding:40px 0;margin-top:60px}
.foot-in{max-width:1180px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13.5px}
.foot-in img{height:26px;opacity:.9}
