/* Shared structural base - loaded by every clone before its own styles.css */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
img { max-width: 100%; display: block; }
a { color: inherit; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; border-radius: 2px; }
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s cubic-bezier(.22,.61,.36,1), transform .7s cubic-bezier(.22,.61,.36,1); }
.reveal.in { opacity: 1; transform: none; }
.logo-fallback { display: inline-flex; align-items: center; justify-content: center; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; min-width: 44px; min-height: 44px; padding: 4px 8px; }
.form-success[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  *, *::before, *::after { animation-duration: .001s !important; animation-iteration-count: 1 !important; }
}
