/* Massimo Caliciotti · Tipografia gratuita · 10 settembre 2026 · revisione 2
 * Caricare DOPO assets/style.css. Percorsi relativi alla cartella assets/.
 * Plus Jakarta Sans e Manrope sono inclusi con le rispettive licenze OFL.
 * Le iniziali MC conservano il disegno del marchio: non sono testo editoriale.
 */

@font-face {
  font-family: "Plus Jakarta Sans";
  src: url("fonts/PlusJakartaSans-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}
@font-face {
  font-family: "Manrope";
  src: url("fonts/Manrope-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

:root {
  --mc-heading: "Plus Jakarta Sans", "Manrope", sans-serif;
  --mc-body: "Manrope", sans-serif;
  --sans: var(--mc-body);
}

body {
  font-family: var(--mc-body);
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.7;
}

button, input, textarea, select {
  font-family: var(--mc-body);
}

h1, h2, h3, h4, h5, h6,
.hero h1,
.manifesto-content h2, .section-head h2,
.audience-copy h2, .contact-copy h2,
.card h3 {
  font-family: var(--mc-heading);
  font-style: normal;
  font-synthesis: none;
  text-wrap: balance;
  overflow-wrap: break-word;
}

h1, .hero h1 {
  font-size: clamp(2.375rem, 1.4rem + 3.5vw, 4.25rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.035em;
}

.hero h1 em {
  font-family: inherit;
  font-style: normal;
  font-weight: inherit;
}

h2, .manifesto-content h2, .section-head h2,
.audience-copy h2, .contact-copy h2 {
  font-size: clamp(2rem, 1.6rem + 1.65vw, 3rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.025em;
}

h3, .card h3 {
  font-size: clamp(1.375rem, 1rem + 1vw, 1.625rem);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.015em;
}

h4, h5, h6 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.01em;
}

p {
  font-family: var(--mc-body);
  font-weight: 400;
}

.manifesto-content p, .section-head p,
.card p, .contact-copy p, .audience-list span {
  font-size: clamp(1.0625rem, 1rem + 0.15vw, 1.125rem);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: normal;
  max-width: 65ch;
}

.hero-lead {
  font-size: clamp(1.125rem, 1rem + 0.3vw, 1.25rem);
  font-weight: 500;
  line-height: 1.65;
  letter-spacing: normal;
  max-width: 60ch;
}

.eyebrow, .section-kicker, .small-label {
  font-family: var(--mc-heading);
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.12em;
  font-synthesis: none;
}

.main-nav {
  font-family: var(--mc-body);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.btn {
  font-family: var(--mc-body);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.brand-copy strong {
  font-family: var(--mc-heading);
  font-weight: 600;
  letter-spacing: 0.035em;
  font-synthesis: none;
}

.signature-frame p {
  font-family: var(--mc-body);
  font-weight: 500;
}

.card-num {
  font-family: var(--mc-body);
  font-style: normal;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.audience-list strong {
  font-family: var(--mc-heading);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.01em;
  font-synthesis: none;
}

blockquote {
  font-family: var(--mc-heading);
  font-size: clamp(2rem, 1.4rem + 2.5vw, 3.5rem);
  font-weight: 500;
  font-style: normal;
  font-synthesis: none;
  line-height: 1.25;
  letter-spacing: -0.025em;
  text-wrap: balance;
  overflow-wrap: break-word;
}

.quote-mark {
  font-family: var(--mc-heading);
  font-weight: 500;
}

p strong, p b, .privacy-check strong {
  font-weight: 600;
}

.form-field label {
  font-family: var(--mc-body);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.035em;
}

.form-field input, .form-field textarea {
  font-family: var(--mc-body);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

.privacy-check, .form-note, .form-status {
  font-family: var(--mc-body);
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: normal;
}

.contact-direct small {
  font-family: var(--mc-body);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.07em;
}

.contact-direct a {
  font-family: var(--mc-body);
  font-weight: 500;
  overflow-wrap: anywhere;
}

.footer-grid {
  font-family: var(--mc-body);
  font-size: 0.8125rem;
  line-height: 1.6;
}

.footer-brand {
  font-family: var(--mc-heading);
  font-weight: 600;
  letter-spacing: 0.035em;
}
