/* ------------------------------------------------------------------
 Direzione B — "Rivista scientifica"
 Carta: bianco ghiaccio (tinta fredda, blu-grigia). Inchiostro: nero-blu
 di stampa. Un solo accento: verde petrolio, per link, filetti,
 numerazioni. Serif display: Newsreader. Corpo e UI: IBM Plex Sans.
 ------------------------------------------------------------------ */
:root {
  --paper: #F4F6F8;
  /* bianco ghiaccio */
  --paper-2: #E9EDF1;
  /* ghiaccio denso, per fondi di servizio */
  --ink: #131A21;
  /* nero-blu di stampa */
  --ink-2: #3B4650;
  /* grigio inchiostro, testo secondario */
  --muted: #5F6B77;
  /* grigio ardesia, etichette */
  --rule: #CBD3DB;
  /* filetto sottile */
  --rule-2: #9AA6B1;
  /* filetto medio, cornici figure */
  --accent: #0E5A66;
  /* verde petrolio */
  --accent-deep: #083F48;
  /* petrolio scuro, hover */
  --accent-tint: #DCE9EA;
  /* petrolio a velo, fondi hover */
  --screen: #0B1014;
  /* piastra scura delle figure */
  --serif: "Newsreader", "Iowan Old Style", "Palatino", "Times New Roman", serif;
  --sans: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --col-main: 40rem;
  /* ~65–70 caratteri a 17 px */
  --col-side: 15rem;
  --col-gap: 2.5rem;
  --gutter: clamp(16px, 4vw, 48px);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: .14em;
}

a:hover {
  color: var(--accent-deep);
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
  border-radius: 1px;
}

p {
  margin: 0 0 .9rem;
  text-wrap: pretty;
}

h1,
h2 {
  font-family: var(--serif);
  font-optical-sizing: auto;
  font-weight: 500;
  margin: 0;
  text-wrap: balance;
}

h3 {
  font-family: var(--serif);
  font-optical-sizing: auto;
  font-weight: 500;
  margin: 0;
  text-wrap: pretty;
}

code {
  font-family: var(--mono);
  font-size: .88em;
  background: var(--paper-2);
  padding: 1px 4px;
  border-radius: 2px;
}

img {
  max-width: 100%;
}

/* Griglia di pagina: gutter | colonna di lettura | gap | margine per note | gutter */
.sheet {
  display: grid;
  grid-template-columns:
    [full-start] minmax(var(--gutter), 1fr) [main-start] minmax(0, var(--col-main)) [main-end] var(--col-gap) [side-start] var(--col-side) [side-end] minmax(var(--gutter), 1fr) [full-end];
}

/* Larghezza intera per tutto; le righe a due colonne (.row) e i blocchi
   che devono restare stretti (.narrow) fanno eccezione. */
.sheet>* {
  grid-column: main / side-end;
  min-width: 0;
}

.sheet>.narrow {
  grid-column: main;
}

.sheet>.wide {
  grid-column: main / side-end;
}

.sheet>.bleed {
  grid-column: full;
}

.row {
  grid-column: main / side-end;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--col-gap) var(--col-side);
}

.row>.main {
  grid-column: 1;
  min-width: 0;
}

.row>.note {
  grid-column: 3;
  min-width: 0;
}

/* Note a margine */
.note {
  font-size: .86rem;
  line-height: 1.45;
  color: var(--ink-2);
  border-top: 1px solid var(--rule);
  padding-top: .55rem;
  align-self: start;
}

.note p {
  margin-bottom: .5rem;
}

/* Etichette di servizio */
.label {
  font-size: .72rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

.eyebrow {
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 500;
}

/* Testata corrente */
nav.top {
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 20;
  background: color-mix(in srgb, var(--paper) 92%, transparent);
  backdrop-filter: blur(8px);
}

nav.top .bar {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  min-height: 56px;
  flex-wrap: wrap;
  padding-block: .4rem;
}

.brand {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 1.45rem;
  color: var(--ink);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  letter-spacing: -.01em;
}

.brand .mark {
  width: 26px;
  height: 26px;
  background: var(--ink);
  color: var(--paper);
  font-family: var(--serif);
  font-style: italic;
  font-size: .95rem;
  display: grid;
  place-items: center;
  border-radius: 2px;
}

nav.top ul {
  list-style: none;
  display: flex;
  gap: 1.1rem;
  margin: 0 0 0 auto;
  padding: 0;
  flex-wrap: wrap;
}

nav.top a.link {
  color: var(--ink-2);
  text-decoration: none;
  font-size: .92rem;
  font-weight: 500;
  padding-block: .2rem;
  border-bottom: 1px solid transparent;
}

nav.top .lang-switch {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1rem;
  letter-spacing: .02em;
  color: var(--ink-2);
  text-decoration: none;
  padding: .2rem 0 .2rem 1rem;
  border-left: 1px solid var(--rule);
}

nav.top .lang-switch:hover {
  color: var(--accent);
}

nav.top a.link .n {
  font-family: var(--serif);
  font-style: italic;
  color: var(--accent);
  margin-right: .35rem;
  font-size: 1rem;
}

nav.top a.link:hover,
nav.top a.link[aria-current="true"],
nav.top a.link[aria-current="page"] {
  color: var(--ink);
  border-bottom-color: var(--accent);
}

.ruler {
  position: relative;
  height: 12px;
  border-bottom: 1px solid var(--ink);
  background:
    repeating-linear-gradient(to right, var(--ink) 0 1px, transparent 1px 100px) left bottom / 100% 11px no-repeat,
    repeating-linear-gradient(to right, var(--rule-2) 0 1px, transparent 1px 10px) left bottom / 100% 5px no-repeat;
}

.ruler .progress {
  position: absolute;
  left: 0;
  bottom: -1px;
  height: 3px;
  width: 0;
  background: var(--accent);
}

/* Pulsanti */
.cta {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  text-decoration: none;
  font-weight: 600;
  font-size: .95rem;
  padding: .6rem 1.1rem;
  border-radius: 2px;
  border: 1px solid var(--accent);
}

.cta:hover {
  background: var(--accent-deep);
  border-color: var(--accent-deep);
  color: #fff;
}

.cta.ghost {
  background: transparent;
  color: var(--accent);
}

.cta.ghost:hover {
  background: var(--accent-tint);
  color: var(--accent-deep);
}

.cta.small {
  padding: .4rem .85rem;
  font-size: .88rem;
}

/* Frontespizio */
header.front {
  padding-block: 2.5rem 3rem;
}

.kicker {
  grid-column: main / side-end;
  display: flex;
  align-items: baseline;
  gap: 1rem;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--ink-2);
  font-weight: 500;
  border-top: 1.5px solid var(--ink);
  border-bottom: 1px solid var(--rule);
  padding: .55rem 0;
  margin-bottom: 2.2rem;
}

h1 {
  font-size: clamp(2.3rem, 6.2vw, 4.6rem);
  line-height: 1.02;
  letter-spacing: -.02em;
  margin-bottom: 2rem;
}

h1 em {
  font-style: italic;
  font-weight: 400;
}

.abstract {
  font-family: var(--serif);
  font-size: 1.28rem;
  line-height: 1.5;
  color: var(--ink);
  max-width: 34em;
}

.front .label {
  display: block;
  margin-bottom: .5rem;
}

.actions {
  display: flex;
  gap: .7rem;
  flex-wrap: wrap;
  margin-top: 1.4rem;
}

.facts {
  border-top: 1.5px solid var(--ink);
  padding-top: 0;
}

.fact {
  padding: .7rem 0;
  border-bottom: 1px solid var(--rule);
}

.fact b {
  display: block;
  font-family: var(--serif);
  font-weight: 500;
  font-size: 2.1rem;
  line-height: 1;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}

.fact b.txt {
  font-size: 1.15rem;
  padding-top: .3rem;
  letter-spacing: .01em;
}

.fact span {
  display: block;
  font-size: .82rem;
  color: var(--muted);
  margin-top: .25rem;
  line-height: 1.35;
}

/* Figure numerate */
figure.fig {
  margin: 0;
}

/* Figure 2-7 a coppie sopra i 900 px: la pagina si accorcia di un terzo e le
 schermate restano leggibili; sotto, una per riga come nel resto. */
.fig-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 1.6rem;
  margin-top: 1.6rem;
}

@media (max-width: 900px) {
  .fig-grid {
    grid-template-columns: 1fr;
  }
}

.front figure.fig {
  margin-top: 2.6rem;
}

figure.fig .zoom {
  display: block;
  width: 100%;
  padding: 0;
  margin: 0;
  border: 1px solid var(--rule-2);
  background: var(--screen);
  cursor: zoom-in;
  border-radius: 2px;
}

figure.fig .zoom:hover {
  border-color: var(--accent);
}

figure.fig img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1px;
}

figure.fig figcaption {
  font-size: .88rem;
  line-height: 1.45;
  color: var(--ink-2);
  padding: .6rem 0 0;
  max-width: 62em;
}

.fignum {
  font-family: var(--serif);
  font-style: italic;
  color: var(--accent);
  font-size: 1rem;
  white-space: nowrap;
}

.fignum::after {
  content: "\00a0\2014\00a0";
  color: var(--rule-2);
}

.pending {
  aspect-ratio: 16 / 10;
  border: 1px dashed var(--rule-2);
  display: grid;
  place-items: center;
  color: var(--muted);
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Sezioni numerate */
section {
  padding-block: 3.2rem 2.4rem;
}

.sec-head {
  grid-column: main / side-end;
  display: flex;
  align-items: baseline;
  gap: .8rem;
  border-top: 1.5px solid var(--ink);
  padding-top: .6rem;
  margin-bottom: .9rem;
}

.sec-head .num {
  font-family: var(--serif);
  font-style: italic;
  font-size: 1.5rem;
  line-height: 1;
  color: var(--accent);
}

h2 {
  font-size: clamp(1.9rem, 3.6vw, 2.75rem);
  line-height: 1.08;
  letter-spacing: -.015em;
  margin-bottom: 1.1rem;
}

.lead {
  font-family: var(--serif);
  font-size: 1.18rem;
  line-height: 1.5;
  color: var(--ink-2);
}

h3 {
  font-size: 1.35rem;
  line-height: 1.2;
}

h3 .num {
  font-style: italic;
  font-weight: 400;
  color: var(--accent);
  margin-right: .5rem;
  font-size: 1.05rem;
}

/* §1 tre colonne di rivista */
.cols3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 2rem;
  margin-top: 1.4rem;
  border-top: 1px solid var(--rule);
}

.cols3>div {
  padding: 1.1rem 0 .6rem;
}

.cols3>div+div {
  border-left: 1px solid var(--rule);
  padding-left: 2rem;
  margin-left: -1rem;
}

.cols3 .eyebrow {
  display: block;
  color: var(--accent);
  margin-bottom: .55rem;
}

.cols3 .eyebrow .num {
  font-family: var(--serif);
  font-style: italic;
  text-transform: none;
  letter-spacing: 0;
  font-size: 1rem;
  margin-right: .5rem;
}

.cols3 h3 {
  font-size: 1.3rem;
  margin-bottom: .5rem;
}

.cols3 p {
  font-size: .95rem;
  color: var(--ink-2);
  margin-bottom: 0;
}

/* §2 legenda a margine, elenchi con badge a margine */
.legend div {
  padding: .35rem 0;
}

.legend .tag {
  display: block;
  width: max-content;
  margin-bottom: .3rem;
}

.tag {
  font-family: var(--sans);
  font-size: .68rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  font-weight: 500;
  line-height: 1;
  padding: .3rem .5rem;
  border-radius: 2px;
  white-space: nowrap;
  display: inline-block;
  border: 1px solid transparent;
}

.tag.c {
  color: var(--muted);
  border-color: var(--rule-2);
}

.tag.r {
  color: var(--accent);
  border-color: var(--accent);
}

.tag.x {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}

.area {
  margin-top: 2.4rem;
}

.area .row {
  border-top: 1px solid var(--ink);
  padding-top: .8rem;
}

.area .sub {
  font-family: var(--serif);
  font-style: italic;
  font-size: .94rem;
  line-height: 1.4;
  color: var(--ink-2);
  margin: 0;
  border-top: 0;
  padding-top: .2rem;
}

.feats {
  list-style: none;
  margin: .2rem 0 0;
  padding: 0;
  grid-column: main / side-end;
}

.feats li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--col-gap) var(--col-side);
  align-items: start;
}

.feats li>div {
  grid-column: 1;
  padding: .55rem 0;
  border-bottom: 1px solid var(--rule);
  font-size: .97rem;
  min-width: 0;
}

.feats li>.tag {
  grid-column: 3;
  margin-top: .7rem;
  justify-self: start;
}

.feats li b {
  font-weight: 600;
}

.feats li small {
  display: block;
  color: var(--ink-2);
  font-size: .86rem;
  line-height: 1.4;
  margin-top: .1rem;
}

/* §4 tabella da articolo */
.tablewrap {
  margin-top: 1.4rem;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: .93rem;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
  border-top: 1.5px solid var(--ink);
  border-bottom: 1.5px solid var(--ink);
}

caption {
  text-align: left;
  caption-side: top;
  font-family: var(--serif);
  font-style: italic;
  color: var(--accent);
  font-size: 1rem;
  padding: 0 0 .4rem;
}

th {
  font-size: .7rem;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--muted);
  font-weight: 500;
  text-align: left;
  padding: .55rem .6rem .45rem;
  border-bottom: 1px solid var(--ink);
  vertical-align: bottom;
}

td {
  padding: .55rem .6rem;
  border-bottom: 1px solid var(--rule);
  vertical-align: top;
}

th.n,
td.n {
  text-align: right;
  padding-left: 0;
  padding-right: .4rem;
  width: 2.2rem;
  color: var(--muted);
  font-family: var(--serif);
  font-style: italic;
}

td:first-of-type,
th:first-of-type {
  padding-left: 0;
}

td:last-child,
th:last-child {
  padding-right: 0;
}

tbody tr:hover td {
  background: color-mix(in srgb, var(--accent-tint) 55%, transparent);
}

tr.total td {
  border-top: 3px double var(--ink-2);
  border-bottom: 0;
  font-weight: 500;
}

.ok {
  color: var(--accent);
  font-weight: 600;
}

/* §6 verifica del browser in uso */
.bc {
  margin-top: 1.6rem;
  border-top: 1.5px solid var(--ink);
  border-bottom: 1.5px solid var(--ink);
  padding: 1rem 0 1.1rem;
  --cu-ok: #DCEFE0;
  --cu-ok-ink: #1F5A2E;
  --cu-no: #F6DCD7;
  --cu-no-ink: #8A2D22;
}

.bc-title {
  font-family: var(--sans);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--ink);
  margin: 0 0 .7rem;
}

.bc-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .5rem 1.2rem;
  margin-bottom: .9rem;
}

.bc-verdict {
  font-family: var(--sans);
  font-weight: 600;
  font-size: 1.05rem;
  padding: .35rem .7rem;
  border-radius: 2px;
}

.bc-verdict.ok { background: var(--cu-ok); color: var(--cu-ok-ink); }
.bc-verdict.no { background: var(--cu-no); color: var(--cu-no-ink); }

.bc-ua {
  font-family: var(--sans);
  font-size: .92rem;
  color: var(--ink-2);
}

.bc-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 2rem;
}

.bc-label {
  display: block;
  font-family: var(--sans);
  font-size: .68rem;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: .35rem;
}

.bc ul {
  list-style: none;
  margin: 0;
  padding: 0;
  font-family: var(--sans);
  font-size: .92rem;
}

.bc li {
  padding: .25rem 0;
  border-bottom: 1px solid var(--rule);
  display: flex;
  gap: .55rem;
  align-items: baseline;
}

.bc li .mark { font-weight: 700; width: 1em; }
.bc li.pass .mark { color: var(--cu-ok-ink); }
.bc li.fail .mark { color: var(--cu-no-ink); }
.bc li.fail { color: var(--ink-2); }

.bc-note {
  font-size: .88rem;
  color: var(--ink-2);
  margin: .9rem 0 0;
}

.bc-noscript {
  font-family: var(--sans);
  font-size: .92rem;
  color: var(--ink-2);
}

/* §5 compatibilità dei browser, come su caniuse.com: una colonna per browser,
   le ultime versioni in alto, verde funziona / rosso non si avvia. */
.cu {
  --ico-chrome: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23DB4437' d='M12 12L2.474 6.5A11 11 0 0 1 21.526 6.5Z'/><path fill='%23F4B400' d='M12 12L21.526 6.5A11 11 0 0 1 12 23Z'/><path fill='%230F9D58' d='M12 12L12 23A11 11 0 0 1 2.474 17.5Z'/><circle cx='12' cy='12' r='5.4' fill='%23fff'/><circle cx='12' cy='12' r='4.2' fill='%234285F4'/></svg>");
  --ico-edge: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230078D7'><path d='M21.86 17.86q.14 0 .25.12.1.13.1.25t-.11.33l-.32.46-.43.53-.44.5q-.21.25-.38.42l-.22.23q-.58.53-1.34 1.04-.76.51-1.6.91-.86.4-1.74.64t-1.67.24q-.9 0-1.69-.28-.8-.28-1.48-.78-.68-.5-1.22-1.17-.53-.66-.92-1.44-.38-.77-.58-1.6-.2-.83-.2-1.67 0-1 .32-1.96.33-.97.87-1.8.14.95.55 1.77.41.82 1.02 1.5.6.68 1.38 1.21.78.54 1.64.9.86.36 1.77.56.92.2 1.8.2 1.12 0 2.18-.24 1.06-.23 2.06-.72l.2-.1.2-.05zm-15.5-1.27q0 1.1.27 2.15.27 1.06.78 2.03.51.96 1.24 1.77.74.82 1.66 1.4-1.47-.2-2.8-.74-1.33-.55-2.48-1.37-1.15-.83-2.08-1.9-.92-1.07-1.58-2.33T.36 14.94Q0 13.54 0 12.06q0-.81.32-1.49.31-.68.83-1.23.53-.55 1.2-.96.66-.4 1.35-.66.74-.27 1.5-.39.78-.12 1.55-.12.7 0 1.42.1.72.12 1.4.35.68.23 1.32.57.63.35 1.16.83-.35 0-.7.07-.33.07-.65.23v-.02q-.63.28-1.2.74-.57.46-1.05 1.04-.48.58-.87 1.26-.38.67-.65 1.39-.27.71-.42 1.44-.15.72-.15 1.38zM11.96.06q1.7 0 3.33.39 1.63.38 3.07 1.15 1.43.77 2.62 1.93 1.18 1.16 1.98 2.7.49.94.76 1.96.28 1 .28 2.08 0 .89-.23 1.7-.24.8-.69 1.48-.45.68-1.1 1.22-.64.53-1.45.88-.54.24-1.11.36-.58.13-1.16.13-.42 0-.97-.03-.54-.03-1.1-.12-.55-.1-1.05-.28-.5-.19-.84-.5-.12-.09-.23-.24-.1-.16-.1-.33 0-.15.16-.35.16-.2.35-.5.2-.28.36-.68.16-.4.16-.95 0-1.06-.4-1.96-.4-.91-1.06-1.64-.66-.74-1.52-1.28-.86-.55-1.79-.89-.84-.3-1.72-.44-.87-.14-1.76-.14-1.55 0-3.06.45T.94 7.55q.71-1.74 1.81-3.13 1.1-1.38 2.52-2.35Q6.68 1.1 8.37.58q1.7-.52 3.58-.52Z'/></svg>");
  --ico-firefox: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23FF7139'><path d='M8.824 7.287c.008 0 .004 0 0 0zm-2.8-1.4c.006 0 .003 0 0 0zm16.754 2.161c-.505-1.215-1.53-2.528-2.333-2.943.654 1.283 1.033 2.57 1.177 3.53l.002.02c-1.314-3.278-3.544-4.6-5.366-7.477-.091-.147-.184-.292-.273-.446a3.545 3.545 0 01-.13-.24 2.118 2.118 0 01-.172-.46.03.03 0 00-.027-.03.038.038 0 00-.021 0l-.006.001a.037.037 0 00-.01.005L15.624 0c-2.585 1.515-3.657 4.168-3.932 5.856a6.197 6.197 0 00-2.305.587.297.297 0 00-.147.37c.057.162.24.24.396.17a5.622 5.622 0 012.008-.523l.067-.005a5.847 5.847 0 011.957.222l.095.03a5.816 5.816 0 01.616.228c.08.036.16.073.238.112l.107.055a5.835 5.835 0 01.368.211 5.953 5.953 0 012.034 2.104c-.62-.437-1.733-.868-2.803-.681 4.183 2.09 3.06 9.292-2.737 9.02a5.164 5.164 0 01-1.513-.292 4.42 4.42 0 01-.538-.232c-1.42-.735-2.593-2.121-2.74-3.806 0 0 .537-2 3.845-2 .357 0 1.38-.998 1.398-1.287-.005-.095-2.029-.9-2.817-1.677-.422-.416-.622-.616-.8-.767a3.47 3.47 0 00-.301-.227 5.388 5.388 0 01-.032-2.842c-1.195.544-2.124 1.403-2.8 2.163h-.006c-.46-.584-.428-2.51-.402-2.913-.006-.025-.343.176-.389.206-.406.29-.787.616-1.136.974-.397.403-.76.839-1.085 1.303a9.816 9.816 0 00-1.562 3.52c-.003.013-.11.487-.19 1.073-.013.09-.026.181-.037.272a7.8 7.8 0 00-.069.667l-.002.034-.023.387-.001.06C.386 18.795 5.593 24 12.016 24c5.752 0 10.527-4.176 11.463-9.661.02-.149.035-.298.052-.448.232-1.994-.025-4.09-.753-5.844z'/></svg>");
  --ico-safari: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23006CFF'><path d='M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm-.004.953h.006c.063 0 .113.05.113.113v1.842c0 .063-.05.113-.113.113h-.006a.112.112 0 0 1-.113-.113V1.066c0-.063.05-.113.113-.113zm-.941.041c.056.001.104.046.11.104l.077.918a.112.112 0 0 1-.101.12h-.01a.11.11 0 0 1-.12-.1l-.08-.919a.112.112 0 0 1 .102-.12h.01l.012-.003zm1.892 0H12.965a.113.113 0 0 1 .103.121l-.08.92a.111.111 0 0 1-.12.102h-.009a.111.111 0 0 1-.101-.121l.078-.92a.112.112 0 0 1 .111-.102zm-2.838.123a.11.11 0 0 1 .106.092l.32 1.818c.01.06-.03.119-.09.13l-.01.001a.111.111 0 0 1-.128-.09l-.32-1.818a.111.111 0 0 1 .09-.129l.01-.002a.103.103 0 0 1 .022-.002zm3.784.002h.021l.008.002c.061.01.102.07.092.131l-.32 1.814c-.011.062-.07.101-.132.09h-.005a.113.113 0 0 1-.092-.13l.32-1.815a.111.111 0 0 1 .108-.092zm-4.715.203c.048.002.09.035.103.084l.239.893a.112.112 0 0 1-.079.139l-.005.001a.114.114 0 0 1-.14-.08l-.237-.894a.11.11 0 0 1 .078-.137l.006-.002a.123.123 0 0 1 .035-.004zm5.644 0a.11.11 0 0 1 .033.004l.006.002c.06.016.097.079.08.139l-.24.892a.112.112 0 0 1-.137.08l-.005-.002a.114.114 0 0 1-.08-.138l.24-.893a.112.112 0 0 1 .103-.084zm-6.562.285a.11.11 0 0 1 .107.073L9 3.42a.107.107 0 0 1-.064.139l-.012.005a.11.11 0 0 1-.14-.066L8.15 1.76a.11.11 0 0 1 .065-.14l.014-.005a.106.106 0 0 1 .03-.008zm7.469.002c.014 0 .028.001.042.006l.012.006c.057.02.087.082.067.139l-.633 1.738a.11.11 0 0 1-.14.066l-.013-.003A.11.11 0 0 1 15 3.42l.633-1.738a.108.108 0 0 1 .096-.073zm-8.352.366a.112.112 0 0 1 .105.064l.393.838a.112.112 0 0 1-.055.148l-.008.004a.11.11 0 0 1-.146-.054l-.395-.838a.112.112 0 0 1 .055-.149l.008-.004a.11.11 0 0 1 .043-.01zm9.246 0a.11.11 0 0 1 .043.01l.006.003a.11.11 0 0 1 .053.149l-.391.838a.112.112 0 0 1-.148.054l-.006-.002a.112.112 0 0 1-.055-.148l.393-.84a.112.112 0 0 1 .105-.064zm-10.092.44c.04-.002.08.018.102.056l.922 1.597a.113.113 0 0 1-.041.155l-.006.002a.113.113 0 0 1-.154-.041l-.922-1.598a.113.113 0 0 1 .04-.154l.007-.002a.11.11 0 0 1 .052-.016zm10.94.001c.018 0 .035.004.052.014l.004.002a.114.114 0 0 1 .041.156l-.923 1.596a.114.114 0 0 1-.157.04l-.004-.001a.112.112 0 0 1-.04-.155l.925-1.595a.113.113 0 0 1 .102-.057zM5.729 2.93a.11.11 0 0 1 .093.047l.532.753a.114.114 0 0 1-.028.159l-.004.002a.114.114 0 0 1-.158-.028l-.531-.752a.114.114 0 0 1 .027-.158l.006-.002a.113.113 0 0 1 .063-.021zm12.542 0a.11.11 0 0 1 .063.02l.006.003a.112.112 0 0 1 .027.156l-.531.756a.112.112 0 0 1-.156.028l-.006-.004a.112.112 0 0 1-.028-.157l.532-.755a.11.11 0 0 1 .093-.047zm.747.578a.11.11 0 0 1 .08.027l.006.004c.047.04.053.111.013.158L17.932 5.11a.11.11 0 0 1-.157.016l-.005-.006a.11.11 0 0 1-.014-.156l1.185-1.414a.114.114 0 0 1 .077-.041zM4.984 3.51a.11.11 0 0 1 .077.039L6.244 4.96a.112.112 0 0 1-.014.158l-.003.004a.112.112 0 0 1-.159-.014L4.883 3.697a.112.112 0 0 1 .013-.158l.006-.004a.111.111 0 0 1 .082-.025zm-.714.64c.027 0 .055.01.076.032l.658.66a.107.107 0 0 1 0 .152l-.01.01a.107.107 0 0 1-.152 0l-.66-.658a.11.11 0 0 1 0-.155l.01-.01a.111.111 0 0 1 .078-.03zm15.462 0c.028 0 .055.01.077.032l.007.007a.109.109 0 0 1 0 .155l-.658.66a.109.109 0 0 1-.154 0l-.008-.008a.109.109 0 0 1 0-.154l.658-.66a.11.11 0 0 1 .078-.032zm.707.66c.038 0 .071.02.092.075a.112.112 0 0 1-.023.117l-7.606 8.08c-3.084 2.024-6.149 4.04-9.222 6.05-.078.051-.17.082-.211-.028a.112.112 0 0 1 .023-.118l7.594-8.08c3.084-2.023 6.161-4.039 9.234-6.049a.247.247 0 0 1 .12-.046zm-16.824.045a.109.109 0 0 1 .08.026l1.416 1.187a.11.11 0 0 1 .014.157l-.006.005a.11.11 0 0 1-.156.014L3.549 5.057a.109.109 0 0 1-.014-.155l.006-.007a.108.108 0 0 1 .074-.04zm17.336.756c.036 0 .072.017.094.05l.004.003a.114.114 0 0 1-.028.158l-.753.53a.112.112 0 0 1-.157-.028l-.004-.004a.114.114 0 0 1 .028-.158l.754-.53a.113.113 0 0 1 .062-.02zm-17.904.002c.02 0 .042.007.06.02l.76.531c.05.035.06.103.026.152l-.006.01a.109.109 0 0 1-.153.026l-.76-.532a.109.109 0 0 1-.025-.152l.006-.01a.108.108 0 0 1 .092-.045zm-.512.803c.018 0 .036.006.053.016l1.596.923a.111.111 0 0 1 .04.153l-.003.006a.111.111 0 0 1-.153.04L2.473 6.63a.111.111 0 0 1-.041-.152l.004-.006a.11.11 0 0 1 .1-.055zm18.932 0a.11.11 0 0 1 .1.055l.001.004a.113.113 0 0 1-.04.154l-1.596.926a.113.113 0 0 1-.155-.041l-.002-.004a.113.113 0 0 1 .041-.155l1.596-.925a.115.115 0 0 1 .055-.014zm-19.373.846c.014 0 .029.003.043.01l.838.392a.11.11 0 0 1 .052.147l-.004.01a.11.11 0 0 1-.146.052l-.838-.393a.11.11 0 0 1-.053-.146l.004-.01a.109.109 0 0 1 .104-.062zm19.81.002a.11.11 0 0 1 .106.062l.002.008a.11.11 0 0 1-.053.146l-.838.393a.11.11 0 0 1-.146-.053l-.004-.008a.11.11 0 0 1 .052-.146l.838-.393a.11.11 0 0 1 .043-.01zm-20.183.88c.014 0 .028.001.043.006l1.732.631a.112.112 0 0 1 .067.145l-.002.006a.11.11 0 0 1-.143.066l-1.732-.63a.113.113 0 0 1-.069-.145l.002-.004a.115.115 0 0 1 .102-.074zm20.549 0a.113.113 0 0 1 .11.075l.003.004a.115.115 0 0 1-.069.146l-1.732.629a.112.112 0 0 1-.145-.066l-.001-.006a.113.113 0 0 1 .068-.145l1.732-.63a.11.11 0 0 1 .034-.006zm-20.836.909a.11.11 0 0 1 .033.004l.892.24c.06.016.096.077.08.137l-.002.007a.11.11 0 0 1-.136.079l-.895-.239a.113.113 0 0 1-.078-.138l.002-.006a.113.113 0 0 1 .104-.084zm21.13.002a.115.115 0 0 1 .106.084v.004a.112.112 0 0 1-.078.138l-.893.239a.112.112 0 0 1-.138-.079v-.005a.112.112 0 0 1 .078-.14l.892-.237a.11.11 0 0 1 .033-.004zm-21.335.93.023.001 1.814.323c.062.01.101.069.09.13v.006a.111.111 0 0 1-.13.09l-1.815-.322a.113.113 0 0 1-.092-.131l.002-.006a.11.11 0 0 1 .108-.092zm21.519.001h.022c.052.002.1.038.109.092v.006c.01.062-.03.12-.092.13l-1.814.321a.113.113 0 0 1-.131-.092v-.005a.113.113 0 0 1 .092-.131l1.814-.32zm-21.644.944h.011l.922.084a.11.11 0 0 1 .102.119l-.002.01a.11.11 0 0 1-.121.1l-.922-.083a.11.11 0 0 1-.1-.12v-.009a.111.111 0 0 1 .11-.101zm21.779.002h.012c.056 0 .106.043.11.101v.008a.111.111 0 0 1-.1.121l-.923.08a.111.111 0 0 1-.12-.101v-.008a.111.111 0 0 1 .1-.121l.92-.08zm-11.82.73L6.091 16.95c2.02-1.324 4.039-2.646 6.066-3.976l-1.095-1.31zm11.87.219c.063 0 .114.05.114.113v.004c0 .063-.05.113-.113.113l-1.844.004a.113.113 0 0 1-.113-.113v-.004c0-.063.05-.113.113-.113l1.844-.004zm-21.869.002h1.844c.062 0 .112.05.112.111v.008c0 .062-.05.111-.112.111H1.064a.111.111 0 0 1-.11-.111v-.008c0-.061.049-.111.11-.111zm.952.875h.011a.11.11 0 0 1 .11.101v.006a.111.111 0 0 1-.102.121l-.922.08a.11.11 0 0 1-.119-.101l-.002-.006a.111.111 0 0 1 .102-.121l.922-.08zm19.955 0h.011l.922.08a.11.11 0 0 1 .102.119v.008a.112.112 0 0 1-.121.101l-.922-.08a.11.11 0 0 1-.102-.119v-.008a.111.111 0 0 1 .11-.101zm-18.924.705c.053.001.098.04.107.094l.002.004c.011.061-.03.12-.092.13l-1.812.32a.113.113 0 0 1-.13-.091v-.004a.115.115 0 0 1 .09-.133l1.811-.318a.117.117 0 0 1 .024-.002zm17.902 0c.008 0 .016 0 .024.002l1.816.32c.061.011.1.07.09.131v.004a.113.113 0 0 1-.131.092l-1.816-.32a.112.112 0 0 1-.09-.131v-.004a.113.113 0 0 1 .107-.094zM2.332 14.477a.11.11 0 0 1 .104.082l.002.005c.016.06-.02.121-.08.137l-.891.24a.112.112 0 0 1-.137-.08l-.002-.006a.112.112 0 0 1 .08-.136l.89-.239a.112.112 0 0 1 .034-.003zm19.332 0c.011 0 .024 0 .035.003l.893.239c.06.016.096.077.08.136l-.002.006a.111.111 0 0 1-.137.078l-.894-.238a.111.111 0 0 1-.078-.137l.002-.005a.109.109 0 0 1 .101-.082zm-18.213.517a.11.11 0 0 1 .11.074l.002.004a.112.112 0 0 1-.067.145l-1.732.63a.113.113 0 0 1-.145-.068l-.002-.004a.113.113 0 0 1 .069-.144L3.418 15a.11.11 0 0 1 .033-.006zm17.086 0c.015 0 .029 0 .043.006l1.734.63a.111.111 0 0 1 .067.143l-.002.008a.111.111 0 0 1-.143.067l-1.734-.631a.111.111 0 0 1-.066-.143l.002-.008a.111.111 0 0 1 .1-.072zM2.92 16.117a.109.109 0 0 1 .103.063l.004.01a.108.108 0 0 1-.052.144l-.838.393a.11.11 0 0 1-.147-.055l-.004-.008a.11.11 0 0 1 .053-.146l.838-.391a.112.112 0 0 1 .043-.01zm18.158 0a.11.11 0 0 1 .043.01l.838.39c.056.027.08.093.055.149l-.002.004a.112.112 0 0 1-.149.055l-.838-.391a.112.112 0 0 1-.054-.148l.002-.004a.112.112 0 0 1 .105-.065zm-16.957.315c.04-.001.078.02.1.056l.004.004a.11.11 0 0 1-.041.153l-1.596.921a.113.113 0 0 1-.154-.04l-.002-.005a.113.113 0 0 1 .04-.154l1.596-.922a.109.109 0 0 1 .053-.013zm15.756 0c.018 0 .036.004.053.013l1.597.924a.11.11 0 0 1 .041.152l-.002.004a.11.11 0 0 1-.152.041l-1.598-.921a.113.113 0 0 1-.04-.155l.001-.002a.111.111 0 0 1 .1-.056zm.328 1.193a.11.11 0 0 1 .06.021l.758.534c.05.035.061.102.026.152l-.004.008a.111.111 0 0 1-.154.027l-.756-.535a.109.109 0 0 1-.028-.152l.006-.008a.11.11 0 0 1 .092-.047zm-16.412.002c.035 0 .072.016.094.047l.004.008a.109.109 0 0 1-.028.152l-.756.531a.108.108 0 0 1-.152-.025l-.006-.008a.109.109 0 0 1 .028-.152l.755-.534a.107.107 0 0 1 .061-.019zm15.162.102a.112.112 0 0 1 .082.025l1.414 1.187a.11.11 0 0 1 .014.157l-.004.004a.113.113 0 0 1-.158.013L18.89 17.93a.11.11 0 0 1-.014-.157l.004-.005a.108.108 0 0 1 .074-.04zm-12.812 1.12a.11.11 0 0 1 .08.026l.007.008a.11.11 0 0 1 .014.154L5.06 20.451a.11.11 0 0 1-.155.012l-.008-.006a.11.11 0 0 1-.013-.154l1.185-1.414a.11.11 0 0 1 .075-.04zm11.703 0c.032 0 .065.015.088.042l1.181 1.41c.04.048.035.12-.013.16l-.002.002a.114.114 0 0 1-.16-.014l-1.182-1.41a.114.114 0 0 1 .013-.16l.002-.002a.115.115 0 0 1 .073-.027zm-12.928.114c.027 0 .054.01.074.031l.014.012a.107.107 0 0 1 0 .15l-.662.66a.105.105 0 0 1-.149 0l-.011-.011a.105.105 0 0 1 0-.149l.66-.662a.105.105 0 0 1 .074-.031zm14.164 0c.027 0 .053.01.074.031l.66.662a.106.106 0 0 1 0 .15l-.011.012a.106.106 0 0 1-.15-.002l-.66-.66a.106.106 0 0 1 .001-.15l.01-.012a.108.108 0 0 1 .076-.031zm-11.627.797c.018 0 .034.006.05.015l.007.004a.11.11 0 0 1 .04.15l-.921 1.598a.11.11 0 0 1-.15.041l-.008-.004a.111.111 0 0 1-.04-.152l.922-1.596a.113.113 0 0 1 .1-.056zm9.088.002a.11.11 0 0 1 .1.054l.925 1.596a.113.113 0 0 1-.04.154h-.005a.11.11 0 0 1-.152-.039l-.926-1.595a.113.113 0 0 1 .041-.155l.004-.002a.108.108 0 0 1 .053-.013zm-10.285.324c.021 0 .043.008.062.021l.004.002c.051.036.063.106.028.157l-.53.755a.112.112 0 0 1-.156.028l-.004-.002a.112.112 0 0 1-.027-.156l.53-.756a.113.113 0 0 1 .093-.05zm11.484.002c.036 0 .072.015.094.047l.53.756c.035.05.023.12-.028.156l-.004.002a.112.112 0 0 1-.156-.028l-.53-.755a.112.112 0 0 1 .028-.157l.004-.002a.112.112 0 0 1 .062-.02zm-8.863.342a.11.11 0 0 1 .043.006l.012.005c.056.02.084.081.064.137l-.633 1.74a.105.105 0 0 1-.136.063l-.014-.004a.106.106 0 0 1-.065-.137l.633-1.74a.107.107 0 0 1 .096-.07zm6.232 0a.107.107 0 0 1 .106.07l.633 1.738a.107.107 0 0 1-.065.137l-.015.006a.107.107 0 0 1-.137-.065L15 20.578a.107.107 0 0 1 .064-.137l.014-.005a.117.117 0 0 1 .033-.006zm-4.695.41c.008 0 .014 0 .021.002l.006.002c.062.01.101.067.09.129l-.318 1.812a.113.113 0 0 1-.131.092l-.004-.002a.111.111 0 0 1-.092-.129l.32-1.812a.113.113 0 0 1 .108-.094zm3.146.002c.008-.002.015 0 .022 0a.111.111 0 0 1 .107.092l.32 1.812c.012.061-.03.12-.091.131l-.004.002a.113.113 0 0 1-.13-.092l-.321-1.812a.113.113 0 0 1 .092-.131l.005-.002zm-5.79.119a.11.11 0 0 1 .042.01l.004.002a.114.114 0 0 1 .055.15l-.393.834a.112.112 0 0 1-.148.055l-.004-.002a.112.112 0 0 1-.055-.149l.393-.836a.112.112 0 0 1 .105-.064zm8.458 0a.108.108 0 0 1 .104.062l.39.84a.11.11 0 0 1-.052.147l-.008.004a.11.11 0 0 1-.146-.055l-.391-.838a.11.11 0 0 1 .053-.146l.008-.004a.11.11 0 0 1 .042-.01zm-4.236.018H12c.063 0 .115.05.115.113l.002 1.84c0 .063-.05.113-.113.113h-.006a.113.113 0 0 1-.113-.113l-.004-1.838c0-.063.05-.115.113-.115zm-2.592.578c.011 0 .022 0 .034.004l.005.002c.06.016.095.077.079.136l-.24.893a.111.111 0 0 1-.137.078l-.006-.002a.111.111 0 0 1-.078-.137l.24-.89a.113.113 0 0 1 .103-.084zm5.196.002a.11.11 0 0 1 .103.082l.24.89a.11.11 0 0 1-.078.137l-.006.002a.11.11 0 0 1-.136-.078l-.24-.89a.11.11 0 0 1 .078-.138l.005-.002a.112.112 0 0 1 .034-.003zm-3.475.302h.01l.008.002c.061.006.107.06.101.121l-.08.92a.112.112 0 0 1-.121.102h-.008a.11.11 0 0 1-.1-.121l.08-.922a.111.111 0 0 1 .11-.102zm1.736 0h.02a.11.11 0 0 1 .107.102l.08.924a.11.11 0 0 1-.101.119l-.008.002a.11.11 0 0 1-.12-.102l-.08-.924a.112.112 0 0 1 .102-.12z'/></svg>");
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: .5rem;
  margin-top: 1.4rem;
}

.cu .chrome { --ico: var(--ico-chrome); }
.cu .edge { --ico: var(--ico-edge); }
.cu .firefox { --ico: var(--ico-firefox); }
.cu .safari { --ico: var(--ico-safari); }

.cu-col {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.cu-h {
  font-family: var(--sans);
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--ink);
  padding: 0 0 .5rem;
  border-bottom: 1.5px solid var(--ink);
  margin-bottom: .3rem;
  display: flex;
  align-items: center;
  gap: .45rem;
  white-space: nowrap;
}

.cu-h::before {
  content: '';
  flex: 0 0 auto;
  width: 1.5rem;
  height: 1.5rem;
  background: var(--ico) center / contain no-repeat;
}

.cu-c {
  font-family: var(--sans);
  font-size: .92rem;
  font-variant-numeric: tabular-nums;
  text-align: center;
  padding: .55rem .4rem;
  border-radius: 2px;
  line-height: 1.25;
}

.cu-c.ok {
  background: var(--cu-ok);
  color: var(--cu-ok-ink);
}

.cu-c.no {
  background: var(--cu-no);
  color: var(--cu-no-ink);
}

.cu-c.cur {
  font-weight: 600;
  box-shadow: inset 0 0 0 1.5px currentColor;
}

.cu-c small {
  display: block;
  font-weight: 400;
  font-size: .7rem;
  letter-spacing: .04em;
  margin-top: .15rem;
  opacity: .85;
}

.cu,
.cu-legend {
  --cu-ok: #DCEFE0;
  --cu-ok-ink: #1F5A2E;
  --cu-no: #F6DCD7;
  --cu-no-ink: #8A2D22;
}

.cu-legend {
  font-family: var(--sans);
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
  margin-top: .9rem;
  display: flex;
  flex-wrap: wrap;
  gap: .4rem 1.6rem;
}

.cu-legend .sw {
  display: inline-block;
  width: 1em;
  height: 1em;
  border-radius: 2px;
  vertical-align: -.15em;
  margin-right: .45em;
}

.cu-legend .sw.ok { background: var(--cu-ok); box-shadow: inset 0 0 0 1px var(--cu-ok-ink); }
.cu-legend .sw.no { background: var(--cu-no); box-shadow: inset 0 0 0 1px var(--cu-no-ink); }

.tablenote {
  font-size: .88rem;
  color: var(--ink-2);
  margin-top: 1rem;
}

/* §5 scheda */
.kv {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 2.5rem;
  margin-top: 1.2rem;
  border-top: 1px solid var(--ink);
}

.kv div {
  padding: .8rem 0;
  border-bottom: 1px solid var(--rule);
  display: grid;
  grid-template-columns: 8.6rem minmax(0, 1fr);
  gap: .8rem;
}

.kv b {
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--ink);
  padding-top: .2rem;
}

.kv span {
  font-size: .93rem;
  color: var(--ink-2);
  line-height: 1.45;
}

.ip {
  border-left: 3px solid var(--accent);
  padding: .3rem 0 .3rem 1rem;
  margin-top: 1.8rem;
  font-size: .93rem;
  color: var(--ink-2);
}

.ip b {
  color: var(--ink);
}

/* Colophon */
footer {
  padding-block: 1.8rem 3.5rem;
  font-size: .86rem;
  color: var(--ink-2);
}

footer .cols {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 1.6rem;
  padding-top: 1.2rem;
}

footer b {
  color: var(--ink);
  font-weight: 600;
}

footer .ruler {
  grid-column: main / side-end;
  border-bottom: 1.5px solid var(--ink);
}

/* Ingrandimento figure */
dialog.lb {
  padding: 0;
  border: 0;
  background: var(--screen);
  color: var(--paper);
  max-width: min(96vw, 1800px);
  width: auto;
  max-height: 96vh;
  border-radius: 3px;
  overflow: hidden;
}

dialog.lb::backdrop {
  background: rgba(19, 26, 33, .86);
}

dialog.lb img {
  display: block;
  max-width: 100%;
  max-height: calc(96vh - 4.4rem);
  width: auto;
  height: auto;
  margin: 0 auto;
  object-fit: contain;
}

dialog.lb .lb-cap {
  margin: 0;
  padding: .7rem 3.4rem .8rem 1rem;
  font-size: .86rem;
  color: #B9C6CE;
  line-height: 1.45;
}

dialog.lb .lb-cap .fignum {
  color: #8FD3C9;
}

dialog.lb .lb-close {
  position: absolute;
  top: .5rem;
  right: .5rem;
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid #3A4B56;
  background: rgba(11, 16, 20, .8);
  color: var(--paper);
  font-size: 1.3rem;
  line-height: 1;
  border-radius: 2px;
  cursor: pointer;
}

dialog.lb .lb-close:hover {
  border-color: var(--paper);
}

body:has(dialog.lb[open]) {
  overflow: hidden;
}

/* Movimento: solo transizioni brevi di stato, nessun contenuto parcheggiato */
@media (prefers-reduced-motion: no-preference) {

  a,
  .cta,
  figure.fig .zoom,
  nav.top a.link {
    transition: color .12s ease, background-color .12s ease, border-color .12s ease;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

/* Sotto i 900 px il margine rientra in colonna */
@media (max-width: 900px) {
  .sheet {
    grid-template-columns: [full-start] var(--gutter) [main-start side-start] minmax(0, 1fr) [main-end side-end] var(--gutter) [full-end];
  }

  .row {
    grid-template-columns: minmax(0, 1fr);
  }

  .row>.note {
    grid-column: 1;
    margin-top: 1.2rem;
  }

  .facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 1.5rem;
    margin-top: 1.6rem;
  }

  .fact b {
    font-size: 1.8rem;
  }

  .area .sub {
    margin-top: .3rem;
  }

  .feats li {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: .8rem;
  }

  .feats li>.tag {
    grid-column: 2;
    margin-top: .75rem;
  }

  .cols3 {
    grid-template-columns: 1fr;
  }

  .cols3>div+div {
    border-left: 0;
    padding-left: 0;
    margin-left: 0;
    border-top: 1px solid var(--rule);
  }

  .kv {
    grid-template-columns: 1fr;
  }

  footer .cols {
    grid-template-columns: 1fr;
  }

  h1 {
    margin-bottom: 1.4rem;
  }
}

@media (max-width: 640px) {

  :is(.tablewrap, .wp-block-table.stack) table,
  :is(.tablewrap, .wp-block-table.stack) thead,
  :is(.tablewrap, .wp-block-table.stack) tbody,
  :is(.tablewrap, .wp-block-table.stack) tr,
  :is(.tablewrap, .wp-block-table.stack) td,
  :is(.tablewrap, .wp-block-table.stack) th,
  :is(.tablewrap, .wp-block-table.stack) caption {
    display: block;
  }

  :is(.tablewrap, .wp-block-table.stack) thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }

  :is(.tablewrap, .wp-block-table.stack) tbody tr {
    padding: .75rem 0;
    border-bottom: 1px solid var(--rule);
  }

  :is(.tablewrap, .wp-block-table.stack) tbody tr.total {
    border-top: 3px double var(--ink-2);
    border-bottom: 0;
  }

  :is(.tablewrap, .wp-block-table.stack) tbody tr:hover td {
    background: transparent;
  }

  :is(.tablewrap, .wp-block-table.stack) td {
    border: 0;
    padding: .15rem 0;
    width: auto;
  }

  :is(.tablewrap, .wp-block-table.stack) td.n {
    text-align: left;
    width: auto;
    font-size: .85rem;
  }

  :is(.tablewrap, .wp-block-table.stack) tr.total td {
    border-top: 0;
  }

  :is(.tablewrap, .wp-block-table.stack) td[data-th="Funzione"],
  :is(.tablewrap, .wp-block-table.stack) td[data-th="Function"] {
    font-weight: 600;
  }

  :is(.tablewrap, .wp-block-table.stack) td[data-th]::before {
    content: attr(data-th);
    display: block;
    font-size: .66rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 500;
    margin-top: .3rem;
  }

  :is(.tablewrap, .wp-block-table.stack) td[data-th="Funzione"]::before,
  :is(.tablewrap, .wp-block-table.stack) td[data-th="Function"]::before {
    display: none;
  }

  .cu {
    gap: .35rem;
  }

  .cu-h {
    font-size: .68rem;
    gap: .3rem;
  }

  .cu-h::before {
    width: 1.2rem;
    height: 1.2rem;
  }

  .cu-c {
    font-size: .8rem;
    padding: .45rem .2rem;
  }

  .bc-cols {
    grid-template-columns: 1fr;
    gap: .8rem;
  }

  .kv div {
    grid-template-columns: 1fr;
    gap: .2rem;
  }
}

@media (max-width: 560px) {
  nav.top .bar {
    justify-content: space-between;
    gap: .3rem 1rem;
  }

  /* Una riga sola che scorre in orizzontale: niente a capo su due righe,
   niente numeri di sezione, che sul telefono sono rumore. */
  nav.top .lang-switch {
    margin-left: auto;
    border-left: 0;
    padding-left: 0;
  }

  nav.top ul {
    order: 3;
    width: 100%;
    margin: 0;
    gap: .85rem;
    padding: 0 0 .45rem;
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  nav.top ul::-webkit-scrollbar {
    display: none;
  }

  nav.top li {
    flex: 0 0 auto;
  }

  nav.top a.link {
    font-size: .82rem;
    white-space: nowrap;
  }

  nav.top ul {
    gap: .7rem;
  }

  nav.top a.link .n {
    display: none;
  }
}
