/* Italian and European Portuguese: consistent Latin-serif typography. */
html[lang="it"] .en-prose,
html[lang="it"] .en-prose p,
html[lang="it"] .en-prose h2,
html[lang="it"] .en-prose h3,
html[lang="it"] .en-timeline dd,
html[lang="it"] .en-office h3,
html[lang="it"] .en-office dd,
html[lang="pt"] .en-prose,
html[lang="pt"] .en-prose p,
html[lang="pt"] .en-prose h2,
html[lang="pt"] .en-prose h3,
html[lang="pt"] .en-timeline dd,
html[lang="pt"] .en-office h3,
html[lang="pt"] .en-office dd{
  font-family:var(--serif-en)!important;
}

html[lang="it"] .en-prose,
html[lang="pt"] .en-prose{max-width:820px}
html[lang="it"] .en-prose p,
html[lang="pt"] .en-prose p{font-size:17px;line-height:1.85;letter-spacing:.004em;color:var(--ink-soft);margin-bottom:1.3em}
html[lang="it"] .en-prose .lead,
html[lang="pt"] .en-prose .lead{font-size:21px;line-height:1.6;color:var(--ink-2)}
html[lang="it"] .en-prose h2,
html[lang="pt"] .en-prose h2{font-weight:400;font-size:27px;letter-spacing:.015em;color:var(--ink);margin:48px 0 18px}

html[lang="it"] .en-timeline,
html[lang="pt"] .en-timeline{border-top:1px solid var(--line)}
html[lang="it"] .en-timeline .row,
html[lang="pt"] .en-timeline .row{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line-soft)}
html[lang="it"] .en-timeline dt,
html[lang="pt"] .en-timeline dt{font-family:var(--serif-en);font-style:italic;font-size:14px;color:var(--accent);letter-spacing:.08em}
html[lang="it"] .en-timeline dd,
html[lang="pt"] .en-timeline dd{font-size:15px;line-height:1.6;color:var(--ink-2)}

html[lang="it"] .en-office,
html[lang="pt"] .en-office{border:1px solid var(--line);padding:34px;background:var(--paper-warm);margin-top:48px}
html[lang="it"] .en-office h3,
html[lang="pt"] .en-office h3{font-weight:400;font-size:20px;letter-spacing:.03em;color:var(--ink);margin-bottom:18px}
html[lang="it"] .en-office dl,
html[lang="pt"] .en-office dl{display:grid;grid-template-columns:120px 1fr;gap:10px 20px}
html[lang="it"] .en-office dt,
html[lang="pt"] .en-office dt{font-family:var(--serif-en);font-style:italic;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}
html[lang="it"] .en-office dd,
html[lang="pt"] .en-office dd{font-size:15px;color:var(--ink-2);line-height:1.55}
html[lang="it"] .en-office a,
html[lang="pt"] .en-office a{color:var(--accent-dark);text-decoration:none;border-bottom:1px solid var(--line)}

html[lang="it"] .service-detail-title,
html[lang="it"] .service-detail-desc,
html[lang="it"] .service-list-box li,
html[lang="it"] .pricing-detail-title,
html[lang="it"] .pricing-detail-sub,
html[lang="it"] .pricing-includes li,
html[lang="it"] .pricing-notes li,
html[lang="it"] .faq-sub,
html[lang="it"] .faq-q-ja,
html[lang="it"] .faq-a-ja,
html[lang="pt"] .service-detail-title,
html[lang="pt"] .service-detail-desc,
html[lang="pt"] .service-list-box li,
html[lang="pt"] .pricing-detail-title,
html[lang="pt"] .pricing-detail-sub,
html[lang="pt"] .pricing-includes li,
html[lang="pt"] .pricing-notes li,
html[lang="pt"] .faq-sub,
html[lang="pt"] .faq-q-ja,
html[lang="pt"] .faq-a-ja{
  font-family:var(--serif-en)!important;
}
html[lang="it"] .faq-q-ja,
html[lang="pt"] .faq-q-ja{font-weight:400}

/* Reusable modules occasionally omitted their inline Latin-font rule and fell
   back to the Japanese typeface. Keep every editorial text module consistent. */
html[lang="it"] .en-service h2,
html[lang="it"] .en-service p,
html[lang="it"] .en-service li,
html[lang="it"] .en-plan h2,
html[lang="it"] .en-plan h3,
html[lang="it"] .en-plan p,
html[lang="it"] .en-plan li,
html[lang="it"] .en-plan-price,
html[lang="it"] .en-plan-price span,
html[lang="it"] .en-notes h2,
html[lang="it"] .en-notes h3,
html[lang="it"] .en-notes li,
html[lang="it"] .en-fees,
html[lang="it"] .en-side h2,
html[lang="it"] .en-side p,
html[lang="it"] .en-side dt,
html[lang="it"] .en-side dd,
html[lang="it"] .en-so-body h3,
html[lang="it"] .en-so-body p,
html[lang="pt"] .en-service h2,
html[lang="pt"] .en-service p,
html[lang="pt"] .en-service li,
html[lang="pt"] .en-plan h2,
html[lang="pt"] .en-plan h3,
html[lang="pt"] .en-plan p,
html[lang="pt"] .en-plan li,
html[lang="pt"] .en-plan-price,
html[lang="pt"] .en-plan-price span,
html[lang="pt"] .en-notes h2,
html[lang="pt"] .en-notes h3,
html[lang="pt"] .en-notes li,
html[lang="pt"] .en-fees,
html[lang="pt"] .en-side h2,
html[lang="pt"] .en-side p,
html[lang="pt"] .en-side dt,
html[lang="pt"] .en-side dd,
html[lang="pt"] .en-so-body h3,
html[lang="pt"] .en-so-body p{
  font-family:var(--serif-en)!important;
}

html[lang="it"] .contact-form-heading,
html[lang="it"] .contact-info-panel h2,
html[lang="it"] .contact-info-panel h3,
html[lang="it"] .contact-info-panel p,
html[lang="it"] .contact-info-list dd,
html[lang="it"] .form-group label,
html[lang="it"] .form-group input,
html[lang="it"] .form-group select,
html[lang="it"] .form-group textarea,
html[lang="it"] .form-note,
html[lang="pt"] .contact-form-heading,
html[lang="pt"] .contact-info-panel h2,
html[lang="pt"] .contact-info-panel h3,
html[lang="pt"] .contact-info-panel p,
html[lang="pt"] .contact-info-list dd,
html[lang="pt"] .form-group label,
html[lang="pt"] .form-group input,
html[lang="pt"] .form-group select,
html[lang="pt"] .form-group textarea,
html[lang="pt"] .form-note{
  font-family:var(--serif-en)!important;
}

@media (max-width:520px){
  html[lang="it"] .en-timeline .row,
  html[lang="it"] .en-office dl,
  html[lang="pt"] .en-timeline .row,
  html[lang="pt"] .en-office dl{grid-template-columns:1fr;gap:4px}
}
