/* Site-wide craft layer (Apple-style details): press feedback, typographic
   polish, focus states and respect for motion/transparency/contrast settings. */

/* Typography: balanced headline breaks, no orphans in paragraphs, optical sizing */
h1, h2, h3 { text-wrap: balance; font-optical-sizing: auto; }
p, li, blockquote { text-wrap: pretty; }
body { text-rendering: optimizeLegibility; }

/* Feedback on press, instantly (not on release) */
a.arrow, .btn, .cta, button, .nav-toggle, [role="button"] { -webkit-tap-highlight-color: transparent; }
a.arrow:active, .btn:active, button:active, .menu a.cta:active {
  transform: scale(0.97);
  transition: transform 100ms ease-out;
}

/* Clear keyboard focus without affecting mouse users */
:focus-visible { outline: 2px solid #a23b2c; outline-offset: 3px; border-radius: 4px; }
:focus:not(:focus-visible) { outline: none; }

/* Sticky nav: soft scroll-edge instead of a hard rule */
.nav { border-bottom-color: transparent !important; box-shadow: 0 1px 0 rgba(21, 23, 28, 0.06), 0 8px 24px -18px rgba(21, 23, 28, 0.25); }

/* Reduced motion: keep feedback, drop movement */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .reveal, h1, h2, h1 *, h2 * { filter: none !important; opacity: 1 !important; transform: none !important; }
  .marquee-track { animation: none !important; }
}

/* Reduced transparency: make translucent chrome solid */
@media (prefers-reduced-transparency: reduce) {
  .nav { background: #f3f1ea !important; -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}

/* More contrast: firmer edges and text */
@media (prefers-contrast: more) {
  .nav { background: #f3f1ea !important; border-bottom: 1px solid #15171c !important; }
  body { color: #000; }
}
