/* =========================================================
   CONTACT
   ========================================================= */
.chero {
  position: relative; overflow: clip; min-height: 78vh; min-height: 78svh;
  padding: calc(var(--gutter) * 2 + 3.6rem) var(--gutter) var(--gutter);
  display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem;
}
.chero__top { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; position: relative; z-index: 2; }
.chero__star { position: absolute; right: -6vw; top: 10vh; width: min(44vw, 56vh); height: auto; z-index: 0; }
.chero__title { position: relative; z-index: 1; font-size: min(9.4vw, 22vh); }
html[lang="it"] .chero__title { font-size: min(7.2vw, 20vh); }
.chero__sub { position: relative; z-index: 2; max-width: 34ch; font-size: clamp(.95rem, 1.35vw, 1.3rem); font-weight: 700; line-height: 1.22; padding-right: 90px; }
@media (max-width: 800px) {
  .chero__title { font-stretch: 72%; font-size: min(17.5vw, 16vh); line-height: .86; }
  html[lang="it"] .chero__title { font-size: min(15vw, 14vh); }
  .chero__star { width: 74vw; right: -26vw; top: 12vh; }
}

/* ---------- Giant contact rows ---------- */
.clinks { padding: 0; }
.crow {
  position: relative; display: block; overflow: hidden;
  padding: clamp(1rem, 2vw, 2rem) var(--gutter) clamp(1.2rem, 2.4vw, 2.4rem);
  border-bottom: 3px solid var(--black);
  transition: opacity .4s;
}
.crow::before {
  content: ''; position: absolute; inset: 0; background: var(--black);
  transform: translateY(101%); transition: transform .6s var(--ease);
}
.crow > * { position: relative; transition: color .3s; }
.crow__l { display: flex; justify-content: space-between; align-items: center; font-size: .85rem; font-weight: 900; text-transform: uppercase; margin-bottom: clamp(.6rem, 1.4vw, 1.4rem); }
.crow__l i { font-style: normal; }
.crow__l svg { width: 1.6rem; height: 1.6rem; transition: transform .5s var(--out); }
.crow__v { display: block; line-height: .86; white-space: nowrap; }
.mb { display: none; }
@media (hover: hover) {
  .list:hover .crow:not(:hover) { opacity: .3; }
  .crow:hover::before { transform: none; }
  .crow:hover > * { color: var(--red); }
  .crow:hover .crow__l svg { transform: rotate(45deg) scale(1.3); }
}
@media (max-width: 800px) {
  .mb { display: inline; }
  .crow__v { font-stretch: 100%; }
}
.clinks .list { border-top: 3px solid var(--black); }

.band { padding: clamp(1rem, 2vw, 2rem) 0; overflow: hidden; }
.footer--simple { padding-bottom: 0; }
.footer--simple .footer__big { font-size: clamp(4rem, 17vw, 22rem); }
