/* ============================================================
   SEOlife — normalizzazione delle tre pagine servizio legacy.
   Queste pagine conservano visual specifiche, ma adottano la stessa
   scala tipografica e gli stessi spazi del design system condiviso.
   ============================================================ */

body.service-page--legacy {
  --max: 1280px;
  --pad: 24px;
}

body.service-page--legacy .container {
  width: 100%;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 24px;
  padding-left: 24px;
}

body.service-page--legacy .narrow {
  width: 100%;
  max-width: 880px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 24px;
  padding-left: 24px;
}

/* Header e hero: stessa gerarchia visiva delle pagine condivise. */
body.service-page--legacy .header-inner { height: 76px; gap: 24px; }
body.service-page--legacy .nav,
body.service-page--legacy .primary-nav { gap: 40px; font-size: 12px; letter-spacing: .16em; }
body.service-page--legacy .nav-cta { padding: 13px 26px; color: #fff; }
body.service-page--legacy .nav-cta span { color: #fff; }
body.service-page--legacy .hero h1 {
  max-width: 720px;
  margin-top: 16px;
  margin-bottom: 16px;
  font-size: clamp(27px, 3.3vw, 42px);
  line-height: 1.08;
  letter-spacing: -.04em;
}
body.service-page--legacy .hero .lead {
  max-width: 540px;
  margin-top: 0;
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.65;
  letter-spacing: 0;
  font-weight: 500;
}
body.service-page--legacy .hero-actions { margin-top: 24px; }
body.service-page--legacy .microcopy { margin-top: 16px; font-size: 13px; }
body.service-page--legacy .eyebrow-pill { font-size: 10px; letter-spacing: .3em; }
body.service-page--legacy .btn {
  min-height: 0;
  padding: 18px 38px;
  font-size: 14px;
}
body.service-page--legacy .btn::after { content: none; }

/* Sezioni e card. */
body.service-page--legacy .section-pad { padding: clamp(56px, 6.5vw, 92px) 0; }
body.service-page--legacy .section-title,
body.service-page--legacy .section-title.left {
  max-width: 780px;
  margin: 0 auto 40px;
  text-align: center;
}
body.service-page--legacy .section-title h2 {
  font-size: clamp(25px, 3.2vw, 40px);
  line-height: 1.08;
  letter-spacing: -.04em;
}
body.service-page--legacy .section-title p,
body.service-page--legacy .section-title.left p {
  max-width: 680px;
  margin: 14px auto 0;
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.65;
  font-weight: 500;
}
body.service-page--legacy .eyebrow-line {
  margin-bottom: 14px;
  font-size: 10px;
  letter-spacing: .3em;
}
body.service-page--legacy .card,
body.service-page--legacy .service-card {
  min-height: 0;
  padding: 38px 34px;
}
body.service-page--legacy .card h3,
body.service-page--legacy .service-card h3 {
  margin-bottom: 12px;
  font-size: 19px;
  line-height: 1.15;
  letter-spacing: -.02em;
  text-transform: none;
}
body.service-page--legacy .card p,
body.service-page--legacy .service-card p {
  font-size: 14.5px;
  line-height: 1.65;
  font-weight: 500;
}
body.service-page--legacy .service-card span,
body.service-page--legacy .details-link {
  font-size: 12px;
  letter-spacing: .14em;
}
body.service-page--legacy .target-card,
body.service-page--legacy .territory-card,
body.service-page--legacy .linked-card {
  min-height: 0;
  padding: 30px 28px;
}
body.service-page--legacy .target-card h3,
body.service-page--legacy .territory-card h3,
body.service-page--legacy .linked-card h3 {
  margin-bottom: 10px;
  font-size: 18px;
  line-height: 1.15;
  letter-spacing: -.02em;
}
body.service-page--legacy .target-card p,
body.service-page--legacy .territory-card p { font-size: 14px; line-height: 1.6; font-weight: 500; }
body.service-page--legacy .step-card {
  min-height: 0;
  padding: 32px 26px;
}
body.service-page--legacy .step-card .num { margin-bottom: 22px; font-size: 40px; }
body.service-page--legacy .step-card h3 { margin-bottom: 12px; font-size: 19px; line-height: 1.15; letter-spacing: -.02em; }
body.service-page--legacy .step-card p { font-size: 13.5px; line-height: 1.6; font-weight: 500; }

/* Diagnosi, liste di supporto e form. */
body.service-page--legacy .diagnosis-grid { gap: clamp(32px, 4vw, 56px); }
body.service-page--legacy .diagnosis-copy h2,
body.service-page--legacy .diagnosis h2 {
  max-width: 720px;
  margin-bottom: 20px;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.08;
  letter-spacing: -.04em;
}
body.service-page--legacy .diagnosis-copy > p,
body.service-page--legacy .diagnosis .copy {
  max-width: 680px;
  margin-top: 0;
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0;
  font-weight: 500;
}
body.service-page--legacy .diag-list,
body.service-page--legacy .diagnosis-points,
body.service-page--legacy .form-help { gap: 14px; margin-top: 28px; }
body.service-page--legacy .diag-list .i,
body.service-page--legacy .diagnosis-points .point-icon,
body.service-page--legacy .form-help b { width: 54px; height: 54px; border-radius: 16px; font-size: 18px; }
body.service-page--legacy .diag-list h3,
body.service-page--legacy .diagnosis-points strong,
body.service-page--legacy .form-help strong { margin-bottom: 6px; font-size: 18px; line-height: 1.2; letter-spacing: -.02em; }
body.service-page--legacy .diag-list p,
body.service-page--legacy .diagnosis-points span,
body.service-page--legacy .form-help p { margin-top: 0; font-size: 14px; line-height: 1.6; font-weight: 500; }
body.service-page--legacy .form-card,
body.service-page--legacy .diagnosis-form {
  border-radius: 32px;
  padding: 40px clamp(28px, 3.5vw, 44px);
}
body.service-page--legacy .form-card h3,
body.service-page--legacy .diagnosis-form h3 {
  margin-bottom: 22px;
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -.02em;
}
body.service-page--legacy .form-card input:not([type='checkbox']),
body.service-page--legacy .form-card select,
body.service-page--legacy .form-card textarea,
body.service-page--legacy .diagnosis-form input:not([type='checkbox']),
body.service-page--legacy .diagnosis-form select,
body.service-page--legacy .diagnosis-form textarea {
  min-height: 50px;
  padding: 15px 18px;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 500;
}
body.service-page--legacy .form-card textarea,
body.service-page--legacy .diagnosis-form textarea { min-height: 110px; }
body.service-page--legacy .privacy-acknowledgement {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 18px 0 0;
  color: #52605b;
  font-size: 13px;
  line-height: 1.5;
  font-weight: 600;
}
body.service-page--legacy .privacy-acknowledgement input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 1px; accent-color: #005F2F; }
body.service-page--legacy .privacy-acknowledgement a { color: #005F2F; font-weight: 800; text-decoration: underline; }

/* Footer: stessa scala del footer condiviso senza alterarne le quattro colonne legacy. */
body.service-page--legacy .site-footer { padding: clamp(64px, 8vw, 110px) 0 48px; }
body.service-page--legacy .footer-grid { gap: clamp(40px, 5vw, 72px); }
body.service-page--legacy .site-footer p,
body.service-page--legacy .footer-grid p {
  margin-top: 0;
  font-size: 15px;
  line-height: 1.8;
  font-weight: 500;
}
body.service-page--legacy .footer-links { gap: 16px; }
body.service-page--legacy .footer-links a,
body.service-page--legacy .contact-links a,
body.service-page--legacy .footer-contact a {
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: .08em;
  text-transform: uppercase;
}
body.service-page--legacy .footer-cta h2 { margin-bottom: 24px; font-size: clamp(20px, 2.2vw, 26px); line-height: 1.2; letter-spacing: -.04em; }

@media (max-width: 900px) {
  body.service-page--legacy .hero-grid,
  body.service-page--legacy .hero-consulting-v2 .hero-redesign { grid-template-columns: 1fr; gap: 56px; }
  body.service-page--legacy .diagnosis-grid { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  body.service-page--legacy .container,
  body.service-page--legacy .narrow { padding-right: 20px; padding-left: 20px; }
  body.service-page--legacy .header-inner { height: 68px; }
  body.service-page--legacy .hero h1 { font-size: 27px; }
  body.service-page--legacy .section-title h2 { font-size: 25px; }
  body.service-page--legacy .form-card,
  body.service-page--legacy .diagnosis-form { padding: 30px 22px; }
}
