/* ============================================================
   CONTATTI — Header/HERO
   Figma: nodo 246:812 (pagina 246:811)
   ============================================================ */
.ct-hero {
  position: relative;
  padding: 96px var(--sp-s) 48px;   /* 544 - 96 - 400 */
  overflow: hidden;
}
/* Gradient+Blur — Figma 246:813 (x=1460 y=-160, 560 × 520) */
.ct-hero__glow--cyan {
  position: absolute;
  left: 1460px; top: -160px;
  width: 560px; height: 520px;
  border-radius: 260px;
  filter: blur(40px);
  background: radial-gradient(ellipse at 50% 50%,
              rgba(53, 209, 223, 0.26) 0%, rgba(53, 209, 223, 0) 64%);
  pointer-events: none;
}
/* Gradient+Blur — Figma 246:814 (x=-120 y=304, 420 × 420) */
.ct-hero__glow--lime {
  position: absolute;
  left: -120px; top: 304px;
  width: 420px; height: 420px;
  border-radius: 210px;
  filter: blur(40px);
  background: radial-gradient(circle at 50% 50%,
              rgba(194, 232, 80, 0.24) 0%, rgba(194, 232, 80, 0) 64%);
  pointer-events: none;
}
.ct-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 583.8fr 528.2fr;
  align-items: start;
  gap: var(--sp-xl);
  width: 100%;
  max-width: var(--w-container);
  margin-inline: auto;
  padding-inline: 32px;
}

/* ---------- Colonna testo — Figma 246:816 ---------- */
.ct-hero__copy { min-width: 0; padding-top: 24.26px; }
.ct-hero__eyebrow { margin-top: 24.9px; }   /* 34.9 - 20 + 10 */
/* Heading 1 — Figma 246:822 (583.8 × 64, riga singola) */
.ct-hero__title {
  margin-top: 23.7px;              /* 79.8 + 8.79 - (34.9 + 30) */
  font-family: var(--f-1);
  font-weight: var(--fw-900);
  font-size: 63.5px;
  line-height: 64px;
  letter-spacing: -1.397px;        /* -0.022em */
  color: var(--c-bunker);
}
/* Figma 246:824 (519 × 92 = 3 righe da 30.67) */
.ct-hero__lead {
  max-width: 527.39px;
  margin-top: 14.9px;              /* 167.49 - (79.8 + 72.79) */
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-19);
  line-height: 30.67px;
  color: var(--c-shuttle-gray);
}
/* Container — Figma 246:826 */
.ct-hero__actions {
  display: flex;
  align-items: center;
  gap: var(--sp-14);
  margin-top: 32px;                /* 274.39 + 17.1 - (167.49 + 92) */
}
.ct-hero__actions .btn-primary { width: 233.94px; }
.ct-hero__ghost { width: 192px; justify-content: center; }

/* ---------- Colonna visiva — Figma 246:835 (528.2 × 400) ---------- */
.ct-stage { position: relative; min-width: 0; aspect-ratio: 528.2 / 400; }
/* Overlay+Shadow — Figma 246:836 */
.ct-stage__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 40px;
  box-shadow: 0 40px 80px -34px rgba(11, 16, 18, 0.4);
}
/* Background+Border — Figma 246:838 (283 × 72.5, sborda a sinistra) */
.ct-stage__pill {
  position: absolute;
  left: -3.41%; top: 86.61%;
  display: flex;
  align-items: center;
  gap: 12px;                       /* 71 - 19 - 40 */
  width: 283px;
  padding: 15px 19px 15px 19px;
  background: var(--c-white);
  border-radius: 24px;
  box-shadow: 0 26px 54px -26px rgba(11, 16, 18, 0.35);
}
.ct-stage__pill-ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 14px;
  flex-shrink: 0;
  background: linear-gradient(135deg,
              var(--c-scooter) 0%, var(--c-spring-green) 55%, var(--c-conifer) 100%);
}
.ct-stage__pill-ic img { width: 20px; height: 20px; }
.ct-stage__pill-txt {
  display: flex;
  flex-direction: column;
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-13);
  line-height: 20px;
  color: var(--c-regent-gray);
}
.ct-stage__pill-txt strong {
  font-family: var(--f-1);
  font-weight: var(--fw-700);
  font-size: var(--fs-15);
  line-height: 23px;
  color: var(--c-bunker);
}

@media (max-width: 1180px) {
  .ct-hero__inner { grid-template-columns: 1fr; gap: 56px; }
  .ct-stage { max-width: 528.2px; width: 100%; margin-inline: auto; }
  .ct-hero__glow--cyan, .ct-hero__glow--lime { display: none; }
}
@media (max-width: 720px) {
  .ct-hero { padding: 72px var(--sp-s) 40px; }
  .ct-hero__inner { padding-inline: 0; }
  .ct-hero__copy { padding-top: 0; }
  .ct-hero__title { font-size: 40px; line-height: 1.06; letter-spacing: -0.9px; }
  .ct-hero__lead { font-size: var(--fs-16); line-height: var(--lh-25-6); }
  .ct-hero__actions { flex-direction: column; align-items: stretch; }
  .ct-hero__actions .btn-primary, .ct-hero__ghost { width: 100%; justify-content: center; }
  .ct-stage__pill { transform: scale(.9); transform-origin: left top; }
}

/* ============================================================
   CONTATTI — CANALI DI CONTATTO
   Figma: nodo 246:847 (1240x403.59, sul fondo chiaro di pagina)
   ============================================================ */
.ct-can { padding: 48px var(--sp-s) 95px; }   /* 714 - 618 di hero */
.ct-can__inner {
  width: 100%;
  max-width: var(--w-container);
  margin-inline: auto;
  padding-inline: 32px;
}
/* Container — Figma 246:848 (605.63 di larghezza, centrato) */
.ct-can__head {
  width: 605.63px;
  max-width: 100%;
  margin-inline: auto;
  text-align: center;
}
.ct-can__head .eyebrow { padding-top: 6.91px; }
/* Heading 2 — Figma 246:852 (riga singola alta 45) */
.ct-can__title {
  margin-top: 14.68px;             /* 41.59 - (6.91 + 20) */
  font-family: var(--f-1);
  font-weight: var(--fw-800);
  font-size: var(--fs-44);
  line-height: 45px;
  letter-spacing: var(--ls--1-1);
  color: var(--c-bunker);
}
/* Container — Figma 246:854 (tre schede da 380, passo 398) */
.ct-can__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;                       /* 398 - 380 */
  align-items: start;
  margin-top: 48px;                /* 134.6 - 86.6 */
}
.ct-card {
  padding: 33px;
  border-radius: 30px;
}
.ct-card--a { background: var(--c-white); }
.ct-card--b { background: linear-gradient(180deg, #32cbda 0%, #28b3c5 100%); }
.ct-card--c { background: linear-gradient(160deg, #0c1a1d 0%, #0f2c2b 60%, #10312f 100%); }
/* Background/Overlay — Figma 246:857 (54 × 54) */
.ct-card__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px; height: 54px;
  border-radius: 18px;
}
.ct-card--a .ct-card__icon { background: var(--c-aqua-haze); }
.ct-card--b .ct-card__icon { background: rgba(11, 16, 18, 0.10); }
.ct-card--c .ct-card__icon { background: #293922; }
.ct-card__icon img { width: 26px; height: 26px; }
/* Heading 3 — Figma 246:861 */
.ct-card__h {
  margin-top: 17px;                /* 104 - (33 + 54) */
  font-family: var(--f-1);
  font-weight: var(--fw-800);
  font-size: var(--fs-28);
  line-height: 36px;
  letter-spacing: -0.616px;
  color: var(--c-bunker);
}
.ct-card--c .ct-card__h { color: var(--c-white); }
/* Margin — Figma 246:863 (314 × 47 = 2 righe da 23.5) */
.ct-card__t {
  margin-top: 11px;                /* 139 + 11 - (104 + 36) */
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-15);
  line-height: 23.5px;
  color: var(--c-shuttle-gray);
}
.ct-card--b .ct-card__t { color: var(--c-firefly); }
.ct-card--c .ct-card__t { color: var(--c-green-spring); }
/* Link — Figma 246:867 */
.ct-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;                        /* 55 - 47 */
  margin-top: 17px;                /* 196.99 + 16 - (150 + 47) */
  font-family: var(--f-1);
  font-weight: var(--fw-700);
  font-size: var(--fs-15);
  line-height: 23px;
  color: var(--c-bunker);
}
.ct-card--c .ct-card__link { color: var(--c-conifer); }
.ct-card__link img { width: 14px; height: 14px; }

@media (max-width: 1024px) {
  .ct-can__cards { grid-template-columns: 1fr; gap: 16px; }
}
@media (max-width: 720px) {
  .ct-can { padding: 32px var(--sp-s) 72px; }
  .ct-can__inner { padding-inline: 0; }
  .ct-can__title { font-size: 32px; line-height: 1.08; letter-spacing: -0.6px; }
  .ct-card { padding: 26px 24px; border-radius: 24px; }
  .ct-card__h { font-size: var(--fs-24); line-height: 32px; }
}

/* ============================================================
   CONTATTI — FORM
   Figma: nodo 246:903 (1920x831.27, fondo bianco)
   ============================================================ */
.ct-form {
  background: var(--c-white);
  padding: 97px var(--sp-s) 97px;
}
.ct-form__inner {
  display: grid;
  grid-template-columns: 601.08fr 510.92fr;
  align-items: start;
  gap: var(--sp-xl);
  width: 100%;
  max-width: var(--w-container);
  margin-inline: auto;
  padding-inline: 32px;
}
.ct-form__col { min-width: 0; }
.ct-form__col .eyebrow { padding-top: 6.91px; }
/* Heading 2 — Figma 246:910 / 951 (riga singola) */
.ct-form__title {
  margin-top: 14.68px;             /* 41.59 - (6.91 + 20) */
  font-family: var(--f-1);
  font-weight: var(--fw-800);
  font-size: var(--fs-44);
  line-height: 45px;
  letter-spacing: var(--ls--1-1);
  color: var(--c-bunker);
}
.ct-form__title--sm { font-size: var(--fs-30); line-height: 34.59px; letter-spacing: -0.66px; }

/* Background+Border — Figma 246:912 (601.08 × 518.98) */
.ct-form__card {
  margin-top: 32px;                /* 118.6 - 86.6 */
  padding: 39px;
  border-radius: 40px;
  background: var(--c-aqua-haze);
  box-shadow: inset 0 0 0 var(--sw-1) var(--c-porcelain);
}
.ct-form__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;                       /* 269.53 - 253.53 */
}
.ct-field + .ct-field, .ct-form__row + .ct-field { margin-top: 14px; }
.ct-field__label {
  display: block;
  font-family: var(--f-1);
  font-weight: var(--fw-700);
  font-size: var(--fs-14);
  line-height: 21px;
  color: var(--c-bunker);
}
.ct-field input,
.ct-field select,
.ct-field textarea {
  display: block;
  width: 100%;
  margin-top: 7px;                 /* 28 - 21 */
  padding: 13px 16px;
  border: var(--sw-1) solid var(--c-porcelain);
  border-radius: var(--r-pill);
  background: var(--c-white);
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-15);
  line-height: 18px;
  color: var(--c-bunker);
}
.ct-field textarea {
  height: 120px;
  border-radius: 24px;
  resize: vertical;
}
.ct-field input::placeholder,
.ct-field textarea::placeholder { color: #757575; }
.ct-field select { appearance: none; height: 49px; padding-block: 0; }
/* Link — Figma 246:938 (523.08 × 62) */
.ct-form__send {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-9);
  width: 100%;
  height: 60px;
  margin-top: 34px;                /* 383.98 + 2 - (219.99 + 149.99) */
  border-radius: var(--r-pill);
  background: var(--c-bunker);
  font-family: var(--f-1);
  font-weight: var(--fw-700);
  font-size: var(--fs-16);
  line-height: 26px;
  color: var(--c-white);
  transition: transform .18s ease;
}
.ct-form__send:hover { transform: translateY(-1px); }
.ct-form__send span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px; height: 30px;
  border-radius: 15px;
  background: var(--c-conifer);
  flex-shrink: 0;
}
.ct-form__send span img { width: 9.56667px; height: 8.4px; }
/* Container — Figma 246:944 */
.ct-form__note {
  margin-top: 14px;                /* 459.98 - (383.98 + 62) */
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-13);
  line-height: 20px;
  color: var(--c-regent-gray);
}

/* Recapiti — Figma 246:953 / 962 / 971 */
.ct-info { margin-top: 0; }
.ct-info li {
  display: flex;
  align-items: flex-start;
  gap: 14px;                       /* 58 - 44 */
  padding: 21px 0;
}
.ct-info li:first-child { padding-top: 44px; }
.ct-info li + li { box-shadow: inset 0 1px 0 var(--c-porcelain); }
.ct-info__ic {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  border-radius: 14px;
  background: var(--c-aqua-haze);
  flex-shrink: 0;
}
.ct-info__ic img { width: 20px; height: 20px; }
.ct-info__t { display: flex; flex-direction: column; min-width: 0; }
.ct-info__t strong {
  font-family: var(--f-1);
  font-weight: var(--fw-700);
  font-size: var(--fs-16);
  line-height: 24px;
  color: var(--c-bunker);
}
.ct-info__t span, .ct-info__t a {
  margin-top: 2px;                 /* 26 - 24 */
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-15);
  line-height: 22px;
  color: var(--c-shuttle-gray);
}
.ct-info__t a { color: var(--c-java); }

@media (max-width: 1024px) {
  .ct-form__inner { grid-template-columns: 1fr; gap: 48px; }
}
@media (max-width: 720px) {
  .ct-form { padding: 72px var(--sp-s); }
  .ct-form__inner { padding-inline: 0; }
  .ct-form__title { font-size: 32px; line-height: 1.08; letter-spacing: -0.6px; }
  .ct-form__card { padding: 26px 22px; border-radius: 28px; }
  .ct-form__row { grid-template-columns: 1fr; gap: 14px; }
}

/* ============================================================
   CONTATTI — SOLUZIONI SU MISURA
   Figma: nodo 246:980 (1920x566.49, fondo scuro)
   ============================================================ */
.ct-mis {
  position: relative;
  background: var(--c-bunker);
  padding: 96px var(--sp-s);
  overflow: hidden;
}
/* Gradient+Blur — Figma 246:981 (x=-115.19 y=-170.02, 560 × 459.74) */
.ct-mis__glow {
  position: absolute;
  left: -115.19px; top: -170.02px;
  width: 560px; height: 459.74px;
  border-radius: 230px;
  filter: blur(40px);
  background: radial-gradient(ellipse at 50% 50%,
              rgba(53, 209, 223, 0.22) 0%, rgba(53, 209, 223, 0) 66%);
  pointer-events: none;
}
.ct-mis__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: var(--sp-xl);
  width: 100%;
  max-width: var(--w-container);
  margin-inline: auto;
  padding-inline: 32px;
}
.ct-mis__copy { min-width: 0; }
.ct-mis__kicker {
  padding-top: 5px;
  font-family: var(--f-3);
  font-weight: var(--fw-700);
  font-size: var(--fs-12);
  line-height: 18px;
  letter-spacing: var(--ls-1-56);
  text-transform: uppercase;
  color: var(--c-scooter);
}
/* Heading 2 — Figma 246:985 (556 × 86.69 = 2 righe da 43.35) */
.ct-mis__title {
  margin-top: 14.59px;             /* 35.9 + 1.69 - (5 + 18) */
  font-family: var(--f-1);
  font-weight: var(--fw-800);
  font-size: var(--fs-38);
  line-height: 43.35px;
  letter-spacing: -0.836px;
  color: var(--c-white);
}
/* Figma 246:987 (452 × 103 = 4 righe da 25.75) */
.ct-mis__lead {
  max-width: 464.31px;
  margin-top: 12.9px;              /* 135.49 - (35.9 + 86.69) */
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-16);
  line-height: 25.75px;
  color: var(--c-green-spring);
}
/* Figma 246:989 (3 voci, passo 39) */
.ct-mis__checks { margin-top: 32.9px; }
.ct-mis__checks li {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 26px;
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-15);
  line-height: 24px;
  color: var(--c-geyser);
}
.ct-mis__checks li + li { margin-top: 13px; }
.ct-mis__checks .cn-checks__box { background: var(--c-conifer-16); }
/* Overlay+Border — Figma 246:1005 (556 × 238.79) */
.ct-mis__card {
  margin-top: 67.85px;
  padding: 35px;
  border-radius: 30px;
  background: #15191b;
  box-shadow: inset 0 0 0 var(--sw-1) #232a2d;
}
.ct-mis__card h3 {
  font-family: var(--f-1);
  font-weight: var(--fw-700);
  font-size: var(--fs-24);
  line-height: 32px;
  letter-spacing: -0.528px;
  color: var(--c-white);
}
.ct-mis__card p {
  margin-top: 7.2px;               /* 74.2 - (35 + 32) */
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-15);
  line-height: 22.5px;
  color: var(--c-hit-gray);
}
.ct-mis__card .btn-lime { width: 100%; justify-content: center; margin-top: 7.2px; }

/* ============================================================
   CONTATTI — DOWNLOAD
   Figma: nodo 246:1016 (1920x572, striscia a gradiente)
   ============================================================ */
.ct-dl {
  padding: 96px var(--sp-s);
  background: linear-gradient(125.0000006419479deg,
              var(--c-java) 0%, var(--c-scooter) 30%,
              var(--c-green-74) 62%, var(--c-conifer) 100%);
}
.ct-dl__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: var(--sp-xl);
  width: 100%;
  max-width: var(--w-container);
  margin-inline: auto;
  padding-inline: 32px;
}
.ct-dl__copy { min-width: 0; padding-top: 32.62px; }
.ct-dl__copy .eyebrow { color: var(--c-teal-26); padding-top: 6.9px; }
.ct-dl__copy .eyebrow::before { background: var(--c-teal-26); }
/* Heading 2 — Figma 246:1022 (556 × 85 = 2 righe da 42.5) */
.ct-dl__title {
  margin-top: 11.7px;              /* 38.6 - (6.9 + 20) */
  font-family: var(--f-1);
  font-weight: var(--fw-800);
  font-size: var(--fs-38);
  line-height: 42.5px;
  letter-spacing: -0.836px;
  color: var(--c-bunker);
}
/* Figma 246:1024 (441 × 82 = 3 righe da 27.33) */
.ct-dl__lead {
  max-width: 450.42px;
  margin-top: 14.19px;             /* 135.3 + 1.49 - (38.6 + 85) */
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-17, 17px);
  line-height: 27.33px;
  color: var(--c-teal-20);
}
/* Container — Figma 246:1026 (i due badge degli store) */
.ct-dl__stores {
  display: flex;
  align-items: center;
  gap: 14px;                       /* 161.28 - 147.28 */
  margin-top: 15.5px;              /* 230.49 + 20.3 - (135.3 + 83.49) */
}
.ct-store {
  display: inline-flex;
  align-items: center;
  gap: 12px;                       /* 58 - 20 - 26 */
  height: 63.98px;
  padding: 0 20px;
  border-radius: 16px;
  background: var(--c-bunker);
  color: var(--c-white);
}
.ct-store img { width: 26px; height: 26px; flex-shrink: 0; }
.ct-store span { display: flex; flex-direction: column; }
.ct-store small {
  font-family: var(--f-3);
  font-weight: var(--fw-700);
  font-size: var(--fs-10);
  line-height: 15px;
  letter-spacing: var(--ls-0-66);
  text-transform: uppercase;
  color: var(--c-tower-gray);
}
.ct-store b {
  font-family: var(--f-1);
  font-weight: var(--fw-700);
  font-size: var(--fs-18);
  line-height: 24px;
}
/* Container — Figma 246:1041 / Background+Border 246:1042 (210 × 440) */
.ct-dl__stage { position: relative; min-width: 0; aspect-ratio: 556 / 380; }
.ct-dl__phone {
  position: absolute;
  left: 31.12%; top: -7.89%;
  width: 210px;
  height: 440px;
  padding: 10px;
  border-radius: 40px;
  background: var(--c-bunker);
  box-shadow: 0 40px 80px -34px rgba(11, 16, 18, 0.45);
}
.ct-dl__phone span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 190px; height: 420px;
  border-radius: 30px;
  background: var(--c-white);
}
.ct-dl__phone img { width: 96px; height: auto; }

@media (max-width: 1024px) {
  .ct-mis__inner, .ct-dl__inner { grid-template-columns: 1fr; gap: 48px; }
  .ct-mis__card { margin-top: 0; }
}
@media (max-width: 720px) {
  .ct-mis, .ct-dl { padding: 72px var(--sp-s); }
  .ct-mis__inner, .ct-dl__inner { padding-inline: 0; }
  .ct-mis__title, .ct-dl__title { font-size: 30px; line-height: 1.15; letter-spacing: -0.6px; }
  .ct-mis__card { padding: 26px 22px; }
  .ct-dl__copy { padding-top: 0; }
  .ct-dl__stores { flex-wrap: wrap; }
}

/* ============================================================
   CONTATTI — CTA FINALE
   Figma: nodo 246:1051 (1920x597.88)
   ============================================================ */
.ct-cta {
  position: relative;
  padding: 128px var(--sp-s);
  overflow: hidden;
  text-align: center;
}
.ct-cta__glows {
  position: absolute;
  top: 0; bottom: 0;
  left: 50%;
  width: var(--w-container);
  margin-left: -620px;             /* meta' di --w-container */
  pointer-events: none;
}
/* Gradient+Blur — Figma 246:1052 (x=580 y=-70, 760 × 460) */
.ct-cta__glow--cyan {
  position: absolute;
  left: 240px; top: -70px;
  width: 760px; height: 460px;
  border-radius: 230px;
  filter: blur(40px);
  background: radial-gradient(ellipse at 50% 50%,
              rgba(53, 209, 223, 0.28) 0%, rgba(53, 209, 223, 0) 64%);
}
/* Gradient+Blur — Figma 246:1053 (x=537.59 y=327.88, 520 × 360) */
.ct-cta__glow--lime {
  position: absolute;
  left: 197.59px; top: 327.88px;
  width: 520px; height: 360px;
  border-radius: 180px;
  filter: blur(40px);
  background: radial-gradient(ellipse at 50% 50%,
              rgba(194, 232, 80, 0.30) 0%, rgba(194, 232, 80, 0) 64%);
}
.ct-cta__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: var(--w-container);
  margin-inline: auto;
  padding-inline: 32px;
}
.ct-cta__eyebrow {
  margin-top: 3.5px;
  font-family: var(--f-3);
  font-weight: var(--fw-700);
  font-size: var(--fs-12);
  line-height: 20px;
  letter-spacing: var(--ls-3-36);
  text-transform: uppercase;
  color: var(--c-java);
}
/* Heading 2 — Figma 246:1057 (391 × 106 = 2 righe da 53) */
.ct-cta__title {
  margin-top: 17.6px;              /* 41.1 - (3.5 + 20) */
  white-space: nowrap;
  font-family: var(--f-1);
  font-weight: var(--fw-800);
  font-size: 54px;
  line-height: 53px;
  letter-spacing: -1.188px;
  color: var(--c-bunker);
}
/* Figma 246:1059 (445 × 61 = 2 righe da 30.5) */
.ct-cta__lead {
  white-space: nowrap;
  margin-top: 23.2px;              /* 164.7 + 5.595 - (41.1 + 106) */
  font-family: var(--f-2);
  font-weight: var(--fw-400);
  font-size: var(--fs-19);
  line-height: 30.5px;
  color: var(--c-shuttle-gray);
}
.ct-cta__actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-14);
  margin-top: 48.2px;              /* 249.48 + 30.4 - (164.7 + 67.18) */
}
.ct-cta__actions .btn-gradient { margin-top: 0; width: 263px; }
.ct-cta__actions .btn-outline  { width: 210px; }

@media (max-width: 720px) {
  .ct-cta { padding: 96px var(--sp-s); }
  .ct-cta__inner { padding-inline: 0; }
  .ct-cta__glows { display: none; }
  .ct-cta__title { font-size: 30px; line-height: 1.15; white-space: normal; }
  .ct-cta__lead { font-size: var(--fs-16); line-height: var(--lh-25-6); white-space: normal; }
  .ct-cta__actions { flex-direction: column; align-items: stretch; }
  .ct-cta__actions .btn-gradient, .ct-cta__actions .btn-outline { width: 100%; justify-content: center; }
}

/* ============================================================
   FORM CONTATTI — esito, errori e consenso
   Aggiunte al Figma: il progetto mostrava il modulo nel solo stato
   vuoto, senza validazione ne' messaggi di ritorno.
   ============================================================ */

/* ---------- Messaggio di esito ---------- */
.ct-esito {
  margin: 0 0 var(--sp-s-plus);
  padding: var(--sp-14) var(--sp-s);
  border-radius: 14px;
  border: var(--sw-1) solid transparent;
  font-family: var(--f-2);
  font-size: var(--fs-14);
  line-height: var(--lh-22-4);
}
.ct-esito strong { display: block; margin-bottom: 2px; font-weight: var(--fw-600); }

.ct-esito--ok {
  background: var(--c-conifer-16);
  border-color: var(--c-conifer-45);
  color: var(--c-teal-20);
}
.ct-esito--ok strong { color: var(--c-teal-26); }

.ct-esito--ko {
  background: rgba(255, 155, 155, .16);
  border-color: rgba(255, 155, 155, .55);
  color: var(--c-bunker);
}

/* ---------- Errore sotto al singolo campo ---------- */
.ct-field__errore {
  display: block;
  margin-top: var(--sp-xxs);
  font-family: var(--f-2);
  font-size: var(--fs-13);
  line-height: var(--lh-19-2);
  color: #b3261e;   /* rosso di sistema: serve contrasto sufficiente sul bianco */
}
/* Il campo sbagliato si riconosce anche senza leggere: bordo marcato */
.ct-form__card [aria-invalid="true"] {
  border-color: #b3261e;
  box-shadow: 0 0 0 3px rgba(179, 38, 30, .12);
}

/* ---------- Consenso al trattamento ---------- */
.ct-consenso {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--sp-10);
  align-items: start;
  margin: 0 0 var(--sp-s-plus);
}
.ct-consenso input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--c-java);   /* la spunta prende il ciano del marchio */
  cursor: pointer;
}
.ct-consenso label {
  font-family: var(--f-2);
  font-size: var(--fs-13);
  line-height: var(--lh-20-8);
  color: var(--c-shuttle-gray);
  cursor: pointer;
}
.ct-consenso a { color: var(--c-deep-sea-green); text-decoration: underline; text-underline-offset: 2px; }
.ct-consenso a:hover { color: var(--c-java); }
.ct-consenso .ct-field__errore { grid-column: 1 / -1; }

/* ---------- Campo esca ----------
   Fuori dallo schermo invece che display:none: certi programmi
   automatici saltano i campi nascosti, e l'esca non funzionerebbe. */
.ct-esca {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Antispam Turnstile: spazio sopra il pulsante di invio */
.ct-turnstile { margin: 0 0 var(--sp-s-plus); }
