/* ══════════════════════════════════════════════════════════════
   ATAVUS — Base: typography, body, focus, reduced-motion guard
   ══════════════════════════════════════════════════════════════ */

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  background: var(--forest);
  color: var(--cream);
  font-family: var(--font-inter);
  font-weight: 300;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

/* ── Grain texture — luxury feel ────────────────────────────── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9997;
  opacity: 0.055;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 300px 300px;
}

/* Focus-visible brass outline — never outline:none */
:focus-visible {
  outline: 2px solid var(--brass);
  outline-offset: 3px;
}

/* Prefers-reduced-motion: skip all animations, show end state */
@media (prefers-reduced-motion: reduce) {
  .hero-headline, .hero-trust, .hero-sub, .hero-scroll,
  .cta-primary, .reveal-hairline,
  .section-eyebrow::after, .filosofie-eyebrow::after,
  .chart-bar-fill, .pull-quote, .manifest-para,
  .jmeno-heading, .jmeno-body, .jmeno-caption,
  .trh-heading, .trh-subline,
  .stat-number, .stat-label, .stat-desc,
  .objection-item, .roundel-wrap, .symbolika-caption,
  .filosofie-eyebrow, .princip, .timeline-item,
  .kontakt-pull, .kontakt-email, .kontakt-form, .kontakt-meta,
  .cta-strip-ornament, .cta-strip-eyebrow, .cta-strip-line, .cta-strip-sub {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  .brass-hairline { opacity: 1; transform: none; }
}
