/* Sottosuolo Italiano — bespoke stylesheet
   Institutional-technical Italian trade register: deep blue, warm ochre, data-forward. */

:root{
  --blu:#0b3c5d;
  --blu-scuro:#072a41;
  --blu-chiaro:#1c6390;
  --ocra:#c8781a;
  --ocra-scuro:#9d5c10;
  --carta:#f6f4f0;
  --carta-2:#eceae4;
  --inchiostro:#1e2529;
  --grigio:#5d676e;
  --bordo:#d8d4cc;
  --misura:38rem;
  --raggio:3px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--carta);
  color:var(--inchiostro);
  font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  font-size:18px;
  line-height:1.62;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--blu-chiaro);text-underline-offset:.15em;text-decoration-thickness:1px}
a:hover{color:var(--ocra-scuro)}

/* ---------- intestazione ---------- */
.sito-top{background:var(--blu-scuro);color:#cfe0ec;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase}
.sito-top .wrap{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;padding:.5rem 1.25rem;font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.sito-top a{color:#cfe0ec;text-decoration:none}
.sito-top a:hover{color:#fff;text-decoration:underline}

.sito-head{background:var(--blu);color:#fff;border-bottom:4px solid var(--ocra)}
.head-inner{
  max-width:76rem;margin:0 auto;padding:1.05rem 1.25rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.marchio{display:flex;align-items:baseline;gap:.6rem;text-decoration:none;color:#fff;min-width:0}
.marchio .nome{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-weight:700;font-size:1.35rem;letter-spacing:.02em;line-height:1.1;
}
.marchio .paylo{
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:#9fc2da;
}
.burger{
  display:none;background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff;
  border-radius:var(--raggio);padding:.4rem .7rem;font-size:.8rem;letter-spacing:.1em;
  text-transform:uppercase;cursor:pointer;font-family:ui-sans-serif,system-ui,sans-serif;
}

.nav-principale{min-width:0}
.nav-principale ul{
  display:flex;flex-wrap:wrap;min-width:0;gap:.15rem .35rem;list-style:none;margin:0;padding:0;
}
.nav-principale li{min-width:0}
.nav-principale a{
  display:block;padding:.42rem .6rem;color:#e6f0f7;text-decoration:none;border-radius:var(--raggio);
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
}
.nav-principale a:hover,.nav-principale a:focus{background:rgba(255,255,255,.14);color:#fff}
.nav-principale a[aria-current="page"]{background:var(--ocra);color:#fff}

@media (max-width:880px){
  .burger{display:block}
  .nav-principale{flex-basis:100%;display:none}
  .nav-principale.aperto{display:block}
  .nav-principale ul{flex-direction:column;gap:0;padding-top:.5rem}
  .nav-principale a{padding:.62rem .35rem;white-space:normal;border-bottom:1px solid rgba(255,255,255,.14)}
}

/* ---------- briciole ---------- */
.briciole{background:var(--carta-2);border-bottom:1px solid var(--bordo)}
.briciole .wrap{
  max-width:76rem;margin:0 auto;padding:.5rem 1.25rem;font-size:.78rem;color:var(--grigio);
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
.briciole a{color:var(--grigio)}

/* ---------- impianto ---------- */
.foglio{max-width:76rem;margin:0 auto;padding:0 1.25rem}
.griglia{display:grid;grid-template-columns:minmax(0,1fr);gap:2.4rem;padding:2.2rem 0 3rem}
@media (min-width:1000px){
  .griglia{grid-template-columns:minmax(0,1fr) 17.5rem;gap:3.2rem}
}

article h1{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:clamp(1.85rem,4.4vw,2.7rem);line-height:1.13;letter-spacing:-.015em;
  margin:.2rem 0 1rem;color:var(--blu-scuro);
}
article h2{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:clamp(1.25rem,2.6vw,1.55rem);line-height:1.25;margin:2.4rem 0 .7rem;color:var(--blu);
  padding-bottom:.35rem;border-bottom:2px solid var(--bordo);
}
article h3{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:1.08rem;margin:1.7rem 0 .45rem;color:var(--ocra-scuro);letter-spacing:.01em;
}
article p,article li{max-width:var(--misura)}
article ul,article ol{padding-left:1.15rem}
article li{margin-bottom:.4rem}
article p{margin:0 0 1.05rem}

.lede{
  font-size:1.12rem;line-height:1.6;color:#2c3940;
  border-left:4px solid var(--ocra);padding-left:1rem;margin-bottom:1.6rem !important;
}
.callout{
  background:#fff;border:1px solid var(--bordo);border-left:5px solid var(--blu-chiaro);
  padding:1rem 1.1rem;border-radius:var(--raggio);font-size:.97rem;
}
.note{
  font-size:.86rem;color:var(--grigio);border-top:1px solid var(--bordo);
  padding-top:.9rem;margin-top:2.4rem;font-style:italic;
}

figure{margin:0 0 1.9rem}
figure img{border-radius:var(--raggio);border:1px solid var(--bordo);width:100%}
figcaption{
  font-size:.79rem;color:var(--grigio);padding-top:.45rem;
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* ---------- glossario ---------- */
.gloss-nav{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:.9rem;letter-spacing:.05em;background:#fff;border:1px solid var(--bordo);
  border-radius:var(--raggio);padding:.7rem .9rem;max-width:none !important;
}
dl.glossario{margin:0 0 1.6rem}
dl.glossario dt{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-weight:700;color:var(--blu-scuro);margin-top:1rem;font-size:.98rem;
}
dl.glossario dd{margin:.15rem 0 0;padding-left:0;max-width:var(--misura);color:#2c3236}

/* ---------- barra laterale ---------- */
.laterale{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:.86rem;min-width:0;
}
.laterale section{background:#fff;border:1px solid var(--bordo);border-radius:var(--raggio);padding:.95rem 1.05rem;margin-bottom:1.2rem}
.laterale h2{
  font-size:.74rem;letter-spacing:.13em;text-transform:uppercase;color:var(--ocra-scuro);
  margin:0 0 .55rem;border:0;padding:0;
}
.laterale ul{list-style:none;margin:0;padding:0}
.laterale li{margin-bottom:.4rem;line-height:1.4}
.laterale a{text-decoration:none;color:var(--blu)}
.laterale a:hover{text-decoration:underline;color:var(--ocra-scuro)}
.laterale a[aria-current="page"]{color:var(--ocra-scuro);font-weight:700}

/* ---------- copertina ---------- */
.copertina{
  position:relative;background:var(--blu-scuro);color:#fff;overflow:hidden;
  border-bottom:4px solid var(--ocra);
}
.copertina img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.42}
.copertina .testo{position:relative;max-width:76rem;margin:0 auto;padding:3.4rem 1.25rem 3rem}
.copertina .testo p{
  max-width:34rem;font-size:1.1rem;color:#dfeaf2;margin:0;
}
.copertina .kicker{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ocra);margin-bottom:.6rem;
}
.copertina h1{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:clamp(2rem,5.2vw,3.15rem);line-height:1.08;letter-spacing:-.02em;
  margin:0 0 .8rem;max-width:20ch;color:#fff;
}

/* ---------- indice a schede ---------- */
.schede{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;margin:1.6rem 0 0}
.scheda{
  background:#fff;border:1px solid var(--bordo);border-top:3px solid var(--blu-chiaro);
  border-radius:var(--raggio);padding:.95rem 1rem;min-width:0;
}
.scheda h3{margin:0 0 .3rem;font-size:1rem;color:var(--blu-scuro)}
.scheda h3 a{text-decoration:none;color:inherit}
.scheda h3 a:hover{color:var(--ocra-scuro)}
.scheda p{font-size:.88rem;color:var(--grigio);margin:0;max-width:none;line-height:1.5}

/* ---------- piede ---------- */
.sito-foot{background:var(--blu-scuro);color:#c3d6e3;margin-top:2rem;padding:2.4rem 0 1.6rem;font-size:.87rem}
.sito-foot .foglio{max-width:76rem}
.foot-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:1.6rem}
.sito-foot h2{
  font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ocra);margin:0 0 .6rem;
}
.sito-foot ul{list-style:none;margin:0;padding:0}
.sito-foot li{margin-bottom:.35rem;line-height:1.4}
.sito-foot a{color:#c3d6e3;text-decoration:none}
.sito-foot a:hover{color:#fff;text-decoration:underline}
.foot-nota{
  border-top:1px solid rgba(255,255,255,.16);margin-top:1.8rem;padding-top:1rem;
  font-size:.8rem;color:#8fadc2;max-width:52rem;
}

/* ---------- 404 ---------- */
.pagina-404{text-align:center;padding:4rem 1.25rem}
.pagina-404 h1{color:var(--blu-scuro)}
.pagina-404 p{margin-left:auto;margin-right:auto}

:focus-visible{outline:3px solid var(--ocra);outline-offset:2px}
