html, body { margin: 0; padding: 0; }
body {
  background: #f3f6f8;
  color: #17242c;
  font: 16px/1.5 "IBM Plex Sans", "Helvetica Neue", sans-serif;
}
a { color: #16384a; }
.barra {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 16px 28px;
  background: #16384a;
  color: #f4efe4;
}
.barra a { color: #f4efe4; text-decoration: none; margin-left: 16px; }
.nome { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 18px; letter-spacing: 0.04em; }
.striscia { background: #e7d7c1; color: #16384a; padding: 8px 28px; font-size: 14px; }
.palco {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #102833;
  color: #f7f3ea;
}
.palco .testo { padding: 64px 40px; }
.palco h1 { font-family: "IBM Plex Mono", ui-monospace, monospace; font-weight: 500; font-size: clamp(32px, 4vw, 52px); line-height: 1.05; margin: 0 0 12px; }
.palco img { width: 100%; height: 100%; object-fit: cover; min-height: 380px; }
.tasto {
  display: inline-block;
  margin-top: 16px;
  background: #e7d7c1;
  color: #16384a;
  text-decoration: none;
  padding: 10px 14px;
  font-weight: 650;
}
table.ore { width: min(1100px, calc(100% - 40px)); margin: 28px auto 10px; border-collapse: collapse; background: white; }
table.ore th, table.ore td { border-bottom: 1px solid #d5e0e6; text-align: left; padding: 14px 12px; vertical-align: top; }
table.ore th { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #5c7280; }
table.ore .euro { font-variant-numeric: tabular-nums; font-weight: 700; color: #16384a; white-space: nowrap; }
.blocco { width: min(1100px, calc(100% - 40px)); margin: 0 auto 48px; }
.due-colonne { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 22px; align-items: center; }
.due-colonne img { width: 100%; border: 8px solid white; }
.nota { color: #52636e; font-size: 14px; }
footer.base {
  background: #102833;
  color: #d5e0e6;
  padding: 28px;
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  font-size: 14px;
}
footer.base a { color: #e7d7c1; }
.foglio {
  width: min(720px, calc(100% - 32px));
  margin: 28px auto 64px;
}
.foglio h1 { font-family: "IBM Plex Mono", monospace; font-size: 34px; }
form.riga label { display: block; margin-top: 12px; font-size: 13px; font-weight: 700; }
form.riga input, form.riga select {
  width: 100%; box-sizing: border-box; padding: 10px; border: 1px solid #b7c6cf; font: inherit; background: white;
}
form.riga button { margin-top: 16px; background: #16384a; color: white; border: 0; padding: 12px 16px; font: inherit; font-weight: 700; cursor: pointer; }
@media (max-width: 800px) {
  .palco, .due-colonne { grid-template-columns: 1fr; }
  .nascosto { display: none; }
}


.doc,.foglio,.page,.largo,.j{max-width:760px;margin:28px auto 48px;padding:0 20px 20px}
.doc h1,.foglio h1{font-size:clamp(32px,4vw,48px);line-height:1.05}
.modulo{display:grid;gap:8px;margin-top:16px}
.modulo input,.modulo select{width:100%;box-sizing:border-box;padding:10px;font:inherit}
.modulo button,.vai{font:inherit}
.avviso{font-size:14px}
.check input{width:auto}
#testo{white-space:pre-wrap;background:#fff;padding:12px;border:1px solid #ccc}
.page img{width:100%;max-height:280px;object-fit:cover;border-radius:12px}

.chi-societa{font-size:13px;line-height:1.45;margin-top:8px}
.chi-societa b{font-weight:700}
