:root {
  --leaf: #2f6a4f;
  --leaf-deep: #1e4634;
  --cream: #f6f3ea;
  --card: #fffdf8;
  --ink: #243028;
  --line: #d9e2d6;
  --gold: #c6a15a;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background:
    linear-gradient(90deg, transparent 0 46px, rgba(198,161,90,.45) 46px 48px, transparent 48px) 0 0 / 100% 32px,
    var(--cream);
  color: var(--ink);
  font-family: "Nunito Sans", "Trebuchet MS", sans-serif;
  line-height: 1.55;
}
.top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 7vw 10px;
}
.logo {
  font-family: "Literata", Georgia, serif;
  font-size: 28px;
  text-decoration: none;
  color: var(--leaf-deep);
}
.top nav a { margin-left: 14px; color: var(--leaf-deep); }
.hero-book {
  margin: 10px 7vw 0;
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(36, 48, 40, .06);
}
.hero-book .copy { padding: 42px 36px; }
.hero-book h1 { font-family: "Literata", Georgia, serif; font-weight: 560; font-size: clamp(34px, 4vw, 54px); line-height: 1.05; margin: 0 0 12px; }
.hero-book img { width: 100%; height: 100%; object-fit: cover; min-height: 320px; }
.pill {
  display: inline-block;
  background: var(--leaf);
  color: white;
  text-decoration: none;
  border-radius: 999px;
  padding: 10px 16px;
  margin-top: 8px;
}
.wrap { padding: 36px 7vw 64px; }
.wrap h2 { font-family: "Literata", Georgia, serif; font-size: 32px; }
ul.cards { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
ul.cards li {
  background: var(--card);
  border-radius: 16px;
  padding: 16px 16px 14px 18px;
  border-left: 4px solid var(--gold);
}
ul.cards h3 { margin: 0 0 4px; font-family: "Literata", Georgia, serif; }
.band { color: var(--leaf); font-weight: 800; }
.band small { display: block; font-weight: 600; color: #66756c; }
.ask { background: var(--card); border-radius: 12px; padding: 4px 14px; margin: 8px 0; }
.piedi {
  padding: 22px 7vw 32px;
  color: #3e5146;
  font-size: 14px;
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
}
.page {
  width: min(680px, calc(100% - 36px));
  margin: 20px auto 70px;
  background: var(--card);
  border-radius: 18px;
  padding: 28px 26px 40px;
}
label.row { display: block; margin: 10px 0 4px; font-weight: 800; font-size: 14px; }
input, select {
  width: 100%; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line); font: inherit; background: #fff;
}
button.go {
  margin-top: 14px; background: var(--leaf); color: white; border: 0; border-radius: 999px; padding: 11px 16px; font: inherit; font-weight: 800; cursor: pointer;
}
@media (max-width: 800px) {
  .hero-book, ul.cards { grid-template-columns: 1fr; }
}


.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}
