body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.7;
  color: var(--color-text-primary);
  background: var(--color-bg);
  padding-top: var(--nav-height); /* fixní nav — obsah začíná pod ním */
}

/* Stránky s hero mají transparent nav přes hero → žádné body padding-top */
body:has(.hero) { padding-top: 0; }

@media (min-width: 900px) {
  body { font-size: 16px; }
}

h1, h2, h3, h4 {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 400;
  line-height: 1.15;
  color: var(--color-espresso);
}

p { color: var(--color-text-secondary); }

.eyebrow {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 2.5px;
  color: var(--color-gold);
  text-transform: uppercase;
}

.eyebrow--muted { color: var(--color-text-muted); }

@media (min-width: 900px) {
  .eyebrow { font-size: 12px; letter-spacing: 3px; }
}

.h1 { font-size: 2rem; }         /* 32 mobile */
.h2 { font-size: 1.625rem; }     /* 26 mobile */
.h2-lg { font-size: 1.75rem; }   /* 28 mobile */
.h3 { font-size: 1.25rem; }      /* 20 */
.text-lead { font-size: 0.9375rem; line-height: 1.7; }
.text-body { font-size: 0.9375rem; line-height: 1.7; color: var(--color-text-secondary); }
.text-outro { font-size: 1.0625rem; color: var(--color-gold); font-family: var(--font-display); font-style: italic; line-height: 1.4; }

@media (min-width: 900px) {
  .h1 { font-size: 4.5rem; }       /* 72 */
  .h2 { font-size: 2.75rem; }      /* 44 */
  .h2-lg { font-size: 3.25rem; }   /* 52 */
  .h3 { font-size: 1.375rem; }     /* 22 */
  .text-lead { font-size: 1.1875rem; } /* 19 */
  .text-body { font-size: 1rem; }      /* 16 */
  .text-outro { font-size: 1.5rem; }   /* 24 */
}

.text-gold { color: var(--color-gold); }
.text-center { text-align: center; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
