/* STORTo — Tocca a te (2026-10-21, valori dal brief: nero/arancio/bianco) */
.stt-wrap { max-width: 860px; margin: 0 auto; padding: 56px 20px 72px; }
.stt-h1 {
  font-family: 'StortoDisplay', cursive; font-weight: 400;
  font-size: clamp(44px, 8vw, 76px); line-height: 1.02; color: #0a0a0a; margin: 0 0 18px;
}
.stt-intro { font-size: 19px; line-height: 1.6; color: #0a0a0a; max-width: 56ch; margin: 0 0 36px; }
.stt-ok {
  background: #0a0a0a; color: #fafaf8; border-radius: 16px;
  padding: 22px 26px; font-size: 18px; line-height: 1.55; margin-bottom: 32px;
}
.stt-err {
  background: #fdeee6; color: #0a0a0a; border: 1px solid #FF6B2B; border-radius: 16px;
  padding: 16px 22px; font-size: 16px; margin-bottom: 28px;
}
.stt-form { display: grid; gap: 20px; }
.stt-lab { display: grid; gap: 8px; font-weight: 700; font-size: 15px; color: #0a0a0a; }
.stt-lab input[type="text"], .stt-lab input[type="email"] {
  font: inherit; font-weight: 400; padding: 13px 16px; border: 1.5px solid #0a0a0a;
  border-radius: 12px; background: #fff; color: #0a0a0a; width: 100%;
}
.stt-lab input[type="file"] { font: inherit; font-weight: 400; font-size: 15px; }
.stt-hint { font-weight: 400; font-size: 13px; color: #6f6a5e; }
.stt-check { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: #0a0a0a; }
.stt-check input { width: 20px; height: 20px; flex: none; margin-top: 2px; accent-color: #FF6B2B; }
.stt-check a { color: #FF6B2B; }
.stt-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.stt-btn {
  display: inline-block; background: #FF6B2B; color: #fafaf8; border: 0; cursor: pointer;
  font-size: 17px; font-weight: 700; padding: 15px 30px; border-radius: 999px;
  justify-self: start; text-decoration: none;
  box-shadow: 0 10px 24px rgba(255, 107, 43, .3);
}
.stt-btn:hover { background: #e85a1f; color: #fafaf8; }
.stt-h2 {
  font-family: 'StortoDisplay', cursive; font-weight: 400;
  font-size: clamp(34px, 5.5vw, 52px); color: #0a0a0a; margin: 64px 0 22px;
}
.stt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
.stt-card { margin: 0; background: #fff; border: 1px solid #e9e2d4; border-radius: 18px; overflow: hidden; }
.stt-card img { width: 100%; height: 230px; object-fit: cover; display: block; }
.stt-card figcaption { padding: 12px 16px; font-size: 14px; font-weight: 700; color: #0a0a0a; }
.stt-home { max-width: 1180px; margin: 0 auto; padding: 24px 20px 56px; }
.stt-home .stt-h2 { margin-top: 8px; }
.stt-more { margin-top: 26px; }
