.pagina { padding-block:clamp(28px, 4vw, 44px) var(--sezione); }

.briciole { margin-bottom:clamp(26px, 4vw, 40px); }
.briciole ol {
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px;
  font-size:.72rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--ink-faint);
}
.briciole li + li::before { content:"/"; margin-right:10px; color:var(--ink-faint); opacity:.6; }
.briciole a { color:var(--ink-soft); transition:color .3s var(--ease); }
.briciole a:hover { color:var(--accent); }
.briciole [aria-current] { color:var(--ink-faint); }

.intestazione-pagina {
  position:relative; padding-bottom:clamp(34px, 4.4vw, 56px);
  margin-bottom:clamp(40px, 5vw, 68px); border-bottom:1px solid var(--line);
}
.intestazione-pagina .segno { color:var(--accent); margin-bottom:22px; }
.intestazione-pagina h1 {
  margin:0; font-family:var(--font-display); font-weight:500;
  font-size:clamp(2.3rem, 5.6vw, 3.8rem); line-height:1.06; letter-spacing:-.014em;
}
.intestazione-pagina .lettera {
  margin:22px 0 0; font-size:clamp(1.05rem, 1.6vw, 1.24rem);
  line-height:1.62; color:var(--ink-soft);
}

.grappoli {
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:clamp(36px, 5vw, 80px); row-gap:clamp(44px, 5.5vw, 72px);
}
.grappolo { position:relative; padding-top:26px; }
.grappolo::before {
  content:""; position:absolute; top:0; left:0; right:0; height:1px;
  background:var(--line-strong); transform:scaleX(var(--sx, 1)); transform-origin:left center;
}
.grappolo h2 {
  margin:0; font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.5rem, 2.6vw, 2.05rem); line-height:1.12;
}
.grappolo-sotto { margin:12px 0 0; color:var(--ink-soft); font-size:.98rem; line-height:1.6; }
.grappolo-elenco { list-style:none; margin:22px 0 0; padding:0; }
.grappolo-elenco li { margin-bottom:11px; }
.grappolo-elenco a {
  display:inline-block; font-size:1rem; line-height:1.4; color:var(--ink-soft);
  background:linear-gradient(var(--accent), var(--accent)) left bottom / 0 1px no-repeat;
  transition:color .3s var(--ease), background-size .35s var(--ease);
}
.grappolo-elenco a:hover { color:var(--ink); background-size:100% 1px; }
.grappolo-conta {
  margin:20px 0 0; font-size:.68rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.18em; color:var(--ink-faint); font-variant-numeric:tabular-nums;
}

.archivio { display:grid; gap:clamp(44px, 5.5vw, 76px); }
.gruppo-archivio { scroll-margin-top:32px; }
.gruppo-archivio h2 {
  margin:0 0 26px; padding-bottom:16px; border-bottom:1px solid var(--line-strong);
  display:flex; align-items:baseline; justify-content:space-between; gap:20px;
  font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.6rem, 2.8vw, 2.2rem); line-height:1.1;
}
.gruppo-archivio h2 span {
  font-family:var(--font-body); font-size:.7rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.18em; color:var(--ink-faint);
  font-variant-numeric:tabular-nums; flex:0 0 auto;
}
.elenco-archivio { list-style:none; margin:0; padding:0; columns:2; column-gap:clamp(36px, 5vw, 80px); }
.elenco-archivio li {
  break-inside:avoid; display:flex; align-items:baseline; justify-content:space-between;
  gap:18px; padding-block:11px; border-bottom:1px solid var(--line);
}
.elenco-archivio a {
  color:var(--ink-soft); font-size:1rem; line-height:1.4; min-width:0;
  transition:color .3s var(--ease);
}
.elenco-archivio a:hover { color:var(--accent-viva); }
.elenco-archivio time {
  flex:0 0 auto; font-size:.7rem; font-weight:500; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink-faint); font-variant-numeric:tabular-nums;
}

.scheda-firma {
  display:grid; grid-template-columns:auto minmax(0, 1fr);
  gap:clamp(26px, 4vw, 56px); align-items:center;
  padding-bottom:clamp(36px, 4.6vw, 60px); margin-bottom:clamp(40px, 5vw, 68px);
  border-bottom:1px solid var(--line);
}
.scheda-firma > img {
  width:clamp(112px, 15vw, 190px); aspect-ratio:1; object-fit:cover;
  border:1px solid var(--line-strong); border-radius:2px; filter:saturate(.92);
}
.scheda-firma .occhiello { color:var(--accent); margin-bottom:14px; }
.scheda-firma h1 {
  margin:0; font-family:var(--font-display); font-weight:500;
  font-size:clamp(2rem, 4.4vw, 3.1rem); line-height:1.08;
}
.scheda-firma .lettera { margin:18px 0 0; color:var(--ink-soft); font-size:1.02rem; line-height:1.65; }
.suoi-articoli .titolo-sezione { text-align:left; margin-bottom:clamp(30px, 4vw, 44px); }
.suoi-articoli .titolo-sezione h2 { font-size:clamp(1.6rem, 3vw, 2.2rem); }
.suoi-articoli .elenco-voci {
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2, minmax(0, 1fr));
  column-gap:clamp(40px, 6vw, 88px);
}
@media (max-width: 900px) { .suoi-articoli .elenco-voci { grid-template-columns:1fr; } }

.contatti-int {
  display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(0, 1fr);
  gap:clamp(36px, 5vw, 80px); align-items:start;
}
.modulo { display:grid; gap:clamp(20px, 2.4vw, 28px); }
.campo { display:grid; gap:8px; }
.campo label {
  font-size:.74rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.14em; color:var(--ink-soft);
}
.campo input,
.campo select,
.campo textarea {
  width:100%; padding:13px 15px; min-height:48px;
  font-family:var(--font-body); font-size:1rem; line-height:1.5; color:var(--ink);
  background:var(--srf-1); border:1px solid var(--line-strong); border-radius:2px;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.campo textarea { min-height:170px; resize:vertical; }
.campo select { color:var(--ink); appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23A39D92' stroke-width='1.4'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 15px center; background-size:12px 8px;
  padding-right:40px;
}
.campo input::placeholder, .campo textarea::placeholder { color:var(--ink-faint); }
.campo input:hover, .campo select:hover, .campo textarea:hover { border-color:rgba(241,239,233,.32); }
.campo input:focus-visible, .campo select:focus-visible, .campo textarea:focus-visible {
  border-color:var(--accent); background:var(--srf-2);
}
.campo .aiuto { margin:0; font-size:.82rem; line-height:1.5; color:var(--ink-soft); }
.campo .errore {
  margin:0; font-size:.82rem; line-height:1.5; color:#E9A5A5; font-weight:500;
}
.campo.non-valido input,
.campo.non-valido select,
.campo.non-valido textarea { border-color:#C77A7A; }

.campo-scelta {
  grid-template-columns:auto minmax(0, 1fr); align-items:start; gap:12px;
}
.campo-scelta input {
  width:20px; height:20px; min-height:0; margin-top:2px; padding:0;
  accent-color:var(--accent); cursor:pointer;
}
.campo-scelta label {
  text-transform:none; letter-spacing:0; font-size:.92rem; font-weight:400;
  line-height:1.55; color:var(--ink-soft); cursor:pointer;
}

.esca { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.modulo button { justify-self:start; cursor:pointer; }
.modulo button:active { transform:translateY(1px); }
.nota-modulo { margin:0; font-size:.82rem; line-height:1.55; color:var(--ink-faint); }
.esito-modulo {
  margin:0; padding:14px 16px; border:1px solid var(--line-strong); border-radius:2px;
  background:var(--srf-1); font-size:.92rem; line-height:1.55; color:var(--ink-soft);
}
.esito-bene { border-color:var(--accent); color:var(--ink); }
.esito-male { border-color:#C77A7A; color:#E9A5A5; }

.fianco-contatti {
  padding:clamp(26px, 3.2vw, 40px); border:1px solid var(--line); border-radius:2px;
  background:var(--srf-1);
}
.fianco-contatti h2 {
  margin:0; font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.2rem, 2vw, 1.5rem); line-height:1.15;
}
.fianco-contatti h2 + p { margin-top:12px; }
.fianco-contatti p { margin:0 0 20px; color:var(--ink-soft); font-size:.96rem; line-height:1.6; }
.fianco-contatti > *:last-child { margin-bottom:0; }
.fianco-contatti h2 ~ h2 { margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }
.fianco-contatti .andare {
  display:inline-block; font-size:.74rem; font-weight:600; text-transform:uppercase;
  letter-spacing:.16em; color:var(--accent);
  background:linear-gradient(var(--accent), var(--accent)) left bottom / 0 1px no-repeat;
  transition:background-size .35s var(--ease), color .3s var(--ease);
}
.fianco-contatti .andare:hover { color:var(--accent-viva); background-size:100% 1px; }

.perduta { text-align:center; padding-block:clamp(56px, 9vw, 120px); }
.perduta .segno { color:var(--accent); width:30px; height:30px; margin-bottom:26px; }
.perduta .codice {
  margin:0 0 18px; font-family:var(--font-display); font-weight:500;
  font-size:clamp(3.4rem, 12vw, 7rem); line-height:.9; color:var(--accent);
  opacity:.32; font-variant-numeric:tabular-nums;
}
.perduta h1 {
  margin:0; font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.9rem, 4.4vw, 3rem); line-height:1.08;
}
.perduta p { margin:20px auto 0; color:var(--ink-soft); font-size:1.05rem; line-height:1.62; }
.perduta-vie {
  list-style:none; margin:clamp(34px, 4.4vw, 52px) 0 0; padding:0;
  display:flex; flex-wrap:wrap; justify-content:center; gap:14px 18px;
}

.moto .grappolo { --sx:0; }

@media (max-width: 1000px) {
  .contatti-int { grid-template-columns:1fr; }
  .grappoli { grid-template-columns:1fr; }
}

@media (max-width: 860px) {
  .elenco-archivio { columns:1; }
}

@media (max-width: 700px) {
  .scheda-firma { grid-template-columns:1fr; justify-items:center; text-align:center; }
  .scheda-firma .lettera { margin-inline:auto; }
  .gruppo-archivio h2 { flex-direction:column; gap:6px; align-items:flex-start; }
  .elenco-archivio li { flex-direction:column; gap:4px; }
}

.blocco-privacy { margin-top:clamp(28px, 4vw, 44px); }
.blocco-privacy h2 {
  margin:0 0 12px; font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.25rem, 2.2vw, 1.6rem); letter-spacing:-.005em;
}
.blocco-privacy p { margin:0; color:var(--ink-soft); line-height:1.7; }

/* Blocco di testo che E' il contenuto della pagina, non una nota a margine:
   inchiostro pieno e respiro fra i paragrafi. Il blocco-privacy qui sopra
   resta smorzato apposta, perche' li' il testo legale e' secondario. */
.blocco-testo { margin-top:clamp(28px, 4vw, 44px); }
.blocco-testo h2 {
  margin:0 0 12px; font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.35rem, 2.4vw, 1.75rem); letter-spacing:-.005em;
}
.blocco-testo h3 {
  margin:22px 0 6px; font-family:var(--font-display); font-weight:500;
  font-size:clamp(1.02rem, 1.5vw, 1.15rem); color:var(--ink);
}
.blocco-testo p { margin:0 0 14px; color:var(--ink); line-height:1.75; max-width:none; }
.blocco-testo p:last-child { margin-bottom:0; }
