/* =================================================================
   Sezione condivisa "Parliamone"
   Box invertito + reveal per-parola + dropdown contatti.
   ================================================================= */
.talk {
  --talk-bg: #15140e;
  --talk-fg: #f3f2ec;
  --talk-pad: clamp(28px, 5vh, 72px) 0 clamp(52px, 9vh, 120px);
  --talk-margin: var(--tb-pad, clamp(18px, 4vw, 48px));
  --talk-font-display: var(--tb-sans, var(--font-display, system-ui, sans-serif));
  --talk-font-mono: var(--tb-mono, var(--font-mono, ui-monospace, monospace));
  --talk-ease: var(--tb-ease, cubic-bezier(.2,.8,.2,1));
  padding: var(--talk-pad);
}
.talk__box {
  background: var(--talk-bg);
  color: var(--talk-fg);
  border-radius: clamp(20px, 3vw, 32px);
  margin: 0 var(--talk-margin);
  padding: clamp(56px, 9vw, 130px) clamp(28px, 6vw, 90px);
  text-align: center;
}
:root.pt2-dark .talk__box { --talk-bg: #f3f2ec; --talk-fg: #15140e; }
.talk__box ::selection { background: var(--talk-fg); color: var(--talk-bg); }
.talk__title {
  margin: 0;
  font-family: var(--talk-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: -0.04em;
  line-height: 0.9;
  font-size: clamp(56px, 12vw, 180px);
}
.talk__text {
  color: color-mix(in srgb, var(--talk-fg) 65%, transparent);
  max-width: 46ch;
  margin: 26px auto 40px;
  font-size: clamp(16px, 2vw, 19px);
  line-height: 1.5;
}
.talk__text .talk__word { margin-right: 0.3em; }
.talk__word {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.talk__rise {
  display: inline-block;
  transform: translateY(115%);
}
.talk.is-in .talk__rise {
  animation: talk-word-up 0.85s var(--talk-ease) both;
  animation-delay: calc(var(--wi) * 0.035s + 0.05s);
}
@keyframes talk-word-up {
  from { transform: translateY(115%); }
  to { transform: translateY(0); }
}
.talk__cta {
  position: relative;
  display: inline-block;
  opacity: 0;
  transition: opacity 0.6s var(--talk-ease);
}
.talk.is-in .talk__cta {
  opacity: 1;
  transition-delay: 0.5s;
}
.talk__spacer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  visibility: hidden;
  white-space: nowrap;
  height: 50px;
  padding: 0 26px;
  font-family: var(--talk-font-mono);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.talk__menu {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  box-sizing: border-box;
  width: max-content;
  min-width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-height: 50px;
  background: var(--talk-fg);
  color: var(--talk-bg);
  border-radius: 100px;
  transition: max-height .5s var(--talk-ease), border-radius .45s var(--talk-ease),
              box-shadow .4s var(--talk-ease), padding-bottom .45s var(--talk-ease);
}
.talk__cta.is-open .talk__menu {
  max-height: 18em;
  border-radius: 22px;
  padding-bottom: 8px;
  box-shadow: 0 30px 60px -26px rgba(0,0,0,.5);
}
.talk__head {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;
  width: 100%;
  height: 50px;
  padding: 0 26px;
  border: 0;
  background: none;
  cursor: pointer;
  color: inherit;
  font-family: var(--talk-font-mono);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.talk__arrow {
  flex: 0 0 auto;
  width: 13px;
  height: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform .4s var(--talk-ease);
}
.talk__cta.is-open .talk__arrow { transform: rotate(180deg); }
.talk__item {
  font-family: var(--talk-font-mono);
  font-size: 12.5px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: color-mix(in srgb, var(--talk-bg) 55%, transparent);
  padding: 7px 26px;
  text-align: center;
  white-space: nowrap;
  opacity: 0;
  transform: translateY(-5px);
  transition: color .25s var(--talk-ease), opacity .4s var(--talk-ease), transform .4s var(--talk-ease);
}
.talk__cta.is-open .talk__item { opacity: 1; transform: none; }
.talk__cta.is-open .talk__item:nth-child(3) { transition-delay: .04s; }
.talk__cta.is-open .talk__item:nth-child(4) { transition-delay: .08s; }
.talk__cta.is-open .talk__item:nth-child(5) { transition-delay: .12s; }
.talk__item:hover { color: var(--talk-bg); }
@media (prefers-reduced-motion: reduce) {
  .talk__rise { transform: none; animation: none; }
  .talk__cta { opacity: 1; }
}
@media (max-width: 720px) {
  .talk__box { padding: clamp(44px, 11vw, 90px) clamp(18px, 5vw, 40px); }
  .talk__title { font-size: clamp(30px, 9.5vw, 92px); }
}
