/* Portada: saludo grande, frase de postura en azul y bloque de introducción compacto */
main.page-content .hero { padding-bottom: clamp(28px, 3vw, 44px); }
main.page-content .hero h1.hero-title { margin: 12px 0 18px; font-size: calc(clamp(32px, 3.4vw, 49px) * var(--reading-scale, 1)); line-height: 1.08; letter-spacing: -.05em; }
main.page-content .hero h1.hero-title .hero-role { display: block; margin-top: .22em; font-size: .84em; line-height: 1.1; color: var(--blue); font-weight: 650; letter-spacing: -.04em; }
/* El saludo en alemán es más largo: tamaño propio para que quepa en una línea */
html:lang(de) main.page-content .hero h1.hero-title { font-size: calc(clamp(30px, 2.95vw, 42.5px) * var(--reading-scale, 1)); }
main.page-content .hero .lede,
main.page-content .hero .hero-now { font-size: calc(clamp(16px, 1.2vw, 18px) * var(--reading-scale, 1)); line-height: 1.5; }
main.page-content .hero .hero-now { margin-top: 16px; }
main.page-content .hero .actions { margin-top: 24px; }
@media (max-width: 650px) {
  main.page-content .hero { row-gap: 16px; padding-bottom: 28px; }
  main.page-content .hero h1.hero-title { margin: 10px 0 14px; font-size: calc(clamp(28px, 7.4vw, 34px) * var(--reading-scale, 1)); }
  html:lang(de) main.page-content .hero h1.hero-title { font-size: calc(clamp(26px, 6.9vw, 31px) * var(--reading-scale, 1)); }
  main.page-content .hero .lede,
  main.page-content .hero .hero-now { font-size: calc(16px * var(--reading-scale, 1)); }
  main.page-content .hero .hero-now { margin-top: 14px; }
  main.page-content .hero .portrait { width: min(100%, 124px); }
}
