/* legal.css — layout delle pagine legali */
  :root{--bg:#f4f5f7;--panel:#fff;--ink:#161a22;--muted:#5b6472;--blue:#2894ff;--line:#e4e7ec;
    --tech:"Michroma","Arial Narrow",sans-serif;--body:"Chakra Petch","Segoe UI",Arial,sans-serif}
  *{box-sizing:border-box;margin:0;padding:0}
  body{background:var(--bg);color:var(--ink);font-family:var(--body);line-height:1.7;
    background-image:radial-gradient(50% 40% at 82% -5%,rgba(40,148,255,.10),transparent 60%);min-height:100vh}
  .wrap{max-width:780px;margin:0 auto;padding:clamp(28px,5vw,56px) 24px 80px}
  header.top{display:flex;align-items:center;gap:12px}
  header.top .mk{width:34px;height:34px;flex:0 0 auto}
  header.top .wm{font-weight:700;font-size:18px;letter-spacing:-.01em}
  header.top .wm span{color:var(--blue)}
  .back{display:inline-block;margin-top:16px;font-family:var(--tech);font-size:10px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--muted);text-decoration:none}
  .back:hover{color:var(--blue)}
  h1{font-family:var(--tech);font-size:clamp(21px,4vw,29px);letter-spacing:.02em;margin:24px 0 6px}
  .upd{font-family:var(--tech);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:20px}
  h2{font-size:17px;color:var(--ink);margin:26px 0 8px;padding-top:14px;border-top:1px solid var(--line)}
  p,li{color:#3a414e;font-size:15px}
  ul{margin:8px 0 8px 20px}
  a{color:var(--blue)}
  .todo{background:#fff5cc;border:1px solid #ecd07a;color:#6f5300;padding:1px 6px;border-radius:4px;font-size:.92em;font-weight:500}
  .card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-top:14px}
  .dl{display:grid;grid-template-columns:200px 1fr;gap:10px 16px}
  .dl dt{font-family:var(--tech);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-self:center}
  .dl dd{font-size:15px}
  table.ck{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px}
  table.ck th,table.ck td{border:1px solid var(--line);padding:9px 11px;text-align:left;vertical-align:top}
  table.ck th{background:#eef1f5;font-family:var(--tech);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
  .btn{display:inline-block;margin-top:10px;font-family:var(--body);font-size:14px;color:#fff;background:var(--blue);
    border:0;border-radius:9px;padding:11px 18px;cursor:pointer;text-decoration:none}
  .btn:hover{filter:brightness(1.06)}
  footer.legal{margin-top:44px;padding-top:18px;border-top:1px solid var(--line);
    font-family:var(--tech);font-size:10px;letter-spacing:.14em;text-transform:uppercase;text-align:center}
  footer.legal a{color:var(--muted);text-decoration:none;margin:0 7px}
  footer.legal a:hover{color:var(--blue)}
  @media(max-width:560px){.dl{grid-template-columns:1fr;gap:2px}.dl dd{margin-bottom:8px}}

:root[data-theme="dark"] body{background-image:radial-gradient(50% 40% at 82% -5%,rgba(58,160,255,.12),transparent 60%)}
:root[data-theme="dark"] p,:root[data-theme="dark"] li,:root[data-theme="dark"] .dl dd{color:#c3cad6}
:root[data-theme="dark"] table.ck th{background:#151922;color:#8b94a4}
:root[data-theme="dark"] .todo{background:#3a3212;border-color:#6a5a1e;color:#e8d488}
header.top .logo-img{height:70px;width:auto;display:block}

/* ===== mobile ===== */
html{-webkit-text-size-adjust:100%}
@media(max-width:600px){
  .wrap{padding:22px 16px 74px}
  header.top .logo-img{height:56px}
  h1{font-size:22px}
  .card{padding:16px}
  table.ck th,table.ck td{padding:7px 8px;font-size:12px}
  .back{margin-top:14px}
  .btn{width:100%;text-align:center}
}

/* ===== barra fissa pagine interne ===== */
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:10px 20px;padding-top:calc(10px + env(safe-area-inset-top,0px));
  background:var(--bg);border-bottom:1px solid var(--line)}
.brand-link{display:inline-flex;align-items:center;line-height:0}
.topbar .logo-img{height:46px;width:auto;display:block}
.topbar-right{display:flex;align-items:center;gap:16px}
.topbar .theme-tog{position:static;top:auto;right:auto}
.back{display:inline-block;margin-top:0;font-family:var(--tech);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--muted);text-decoration:none;white-space:nowrap}
.back:hover{color:var(--blue)}
.bk-short{display:none}
.wrap{padding-top:98px}
h1{font-size:clamp(18px,3.2vw,24px)}
h2{font-size:16px}
@media(max-width:600px){
  .topbar{padding:8px 14px;padding-top:calc(8px + env(safe-area-inset-top,0px))}
  .topbar .logo-img{height:38px}
  .topbar-right{gap:10px}
  .bk-full{display:none}
  .bk-short{display:inline}
  .topbar .theme-tog .lbl{display:none !important}
  .wrap{padding-top:74px}
  h1{font-size:20px}
}

/* logo centrato nella barra */
.topbar{display:grid;grid-template-columns:1fr auto 1fr}
.tb-left{justify-self:start;display:flex;align-items:center}
.brand-link{justify-self:center}
.back{justify-self:end;text-align:right}

/* titoli pagina più piccoli */
h1{font-size:clamp(15px,2.4vw,19px);letter-spacing:.06em}
@media(max-width:600px){h1{font-size:16px}}

/* posizioni: back a sinistra, dark mode a destra (coerente con home) */
.back{justify-self:start;text-align:left}
.tb-right{justify-self:end;display:flex;align-items:center}

/* logo barra un po' più grande */
.topbar .logo-img{height:58px}
@media(max-width:600px){.topbar .logo-img{height:46px}}

/* barra: effetto vetro + sfumatura sotto */
.topbar{border-bottom:none;
  background:var(--bg);
  background:color-mix(in srgb, var(--bg) 82%, transparent);
  -webkit-backdrop-filter:saturate(140%) blur(12px);
  backdrop-filter:saturate(140%) blur(12px)}
.topbar::after{content:"";position:absolute;left:0;right:0;top:100%;height:28px;pointer-events:none;
  background:linear-gradient(to bottom, var(--bg), rgba(0,0,0,0))}

/* poligoni ai lati delle sotto-pagine */
#particles-js{position:fixed;top:0;left:0;right:0;bottom:0;z-index:0}
#particles-js canvas{display:block}
.wrap{position:relative;z-index:1;background:var(--bg);box-shadow:0 0 46px 12px var(--bg)}
.topbar{z-index:50}
@media(max-width:600px){.wrap{box-shadow:0 0 26px 8px var(--bg)}}

/* ===== tablet ===== */
@media(min-width:601px) and (max-width:1024px){
  .wrap{max-width:660px;padding:0 28px 80px;padding-top:104px}
  .topbar{padding:11px 24px;padding-top:calc(11px + env(safe-area-inset-top,0px))}
  .topbar .logo-img{height:54px}
  h1{font-size:19px}
  h2{font-size:16px}
  p,li{font-size:15px}
  table.ck th,table.ck td{padding:9px 11px;font-size:14px}
  .dl{grid-template-columns:170px 1fr}
}

/* ===== CV: intro, timeline, certificazioni ===== */
.intro{font-size:15px;color:var(--muted);margin-bottom:6px}
h2.sec{font-family:var(--tech);font-size:12px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--muted);margin-top:36px;border-top:1px solid var(--line);padding-top:16px}

.tl{list-style:none;margin:22px 0 0;padding:0 0 0 20px;border-left:1px solid var(--line)}
.tl-item{position:relative;padding:0 0 26px 14px}
.tl-item::before{content:"";position:absolute;left:-25px;top:6px;width:9px;height:9px;border-radius:50%;
  background:var(--blue);box-shadow:0 0 0 3px var(--bg)}
.tl-date{font-family:var(--tech);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.tl-role{font-size:16px;margin:5px 0 2px;border:0;padding:0}
.tl-org{font-size:13px;color:var(--muted);margin-bottom:8px}
.tl-item p{margin-bottom:6px}
.tl-item ul{margin:6px 0 8px 18px}
.tl-item li{font-size:14px;margin-bottom:3px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.tags span{font-size:11px;letter-spacing:.02em;color:var(--muted);border:1px solid var(--line);
  border-radius:999px;padding:4px 10px;white-space:nowrap}

.certs{display:grid;gap:10px;margin-top:14px}
.cert{display:flex;gap:14px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);
  border-radius:12px;padding:14px 16px}
.cert-badge{flex:0 0 auto;font-family:var(--tech);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--blue);border:1px solid var(--line);border-radius:6px;padding:6px 8px;text-align:center;min-width:78px}
.cert-body h3{font-size:15px;font-weight:600;margin:0}
.cert-sub{font-size:12px;color:var(--muted);margin-top:2px}
.cert-link{display:inline-block;margin-top:6px;font-size:12px;color:var(--blue);text-decoration:none}
.cert-link:hover{text-decoration:underline}
.note-verify{font-size:13px;color:var(--muted);margin-top:12px}
table.exams td:first-child{font-family:var(--tech);font-size:11px;white-space:nowrap;color:var(--blue)}

@media(max-width:600px){
  .tl{padding-left:16px}
  .tl-item{padding-left:10px}
  .tl-item::before{left:-21px}
  .tl-role{font-size:15px}
  .cert{flex-direction:column;gap:8px}
  .cert-badge{min-width:0;align-self:flex-start}
  .tags span{font-size:10px}
}

/* ===== menu pagine interne ===== */
.topbar{display:block;padding-bottom:0}
.tb-row{position:relative;display:flex;align-items:center;justify-content:center}
.tb-right{position:absolute;right:0;top:50%;transform:translateY(-50%);display:flex;align-items:center}
.brand-link{justify-self:auto}
.topnav{display:flex;flex-wrap:wrap;justify-content:center;gap:2px 4px;padding:8px 0 9px}
.topnav a{font-family:var(--tech);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);text-decoration:none;padding:5px 9px;border-radius:999px;
  border:1px solid transparent;transition:color .25s,border-color .25s,background .25s;white-space:nowrap}
.topnav a:hover{color:var(--ink);border-color:var(--line)}
.topnav a.on{color:var(--blue);border-color:var(--line);background:color-mix(in srgb,var(--blue) 10%,transparent)}
.wrap{padding-top:132px}
@media(max-width:600px){
  .topnav{gap:1px 2px;padding:6px 0 7px}
  .topnav a{font-size:8.5px;letter-spacing:.1em;padding:5px 7px}
  .wrap{padding-top:112px}
}
@media(min-width:601px) and (max-width:1024px){.wrap{padding-top:138px}}

/* ===== loghi certificazioni ===== */
.cert-badge{min-width:96px;padding:8px 10px}
.logo{display:flex;flex-direction:column;align-items:center;gap:5px}
.logo svg{width:22px;height:22px;display:block}
.logo-name{font-family:var(--tech);font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.cert-badge{color:inherit}
@media(max-width:600px){
  .cert{flex-direction:row;align-items:center;gap:12px}
  .cert-badge{min-width:80px}
}

/* logo PeopleCert: wordmark (il marchio ufficiale non ha emblema) */
.logo.pc{justify-content:center;min-height:38px}
.pc-mark{font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:-.01em;
  color:#ff3200;line-height:1;text-align:center}

/* logo PeopleCert (marchio ufficiale) */
.logo.pc{flex-direction:column;gap:5px;min-height:0}
.logo.pc svg{width:26px;height:26px;border-radius:6px}
