/* Raise the a11y FAB above the sticky mobile CTA bar */
:root { --a11y-bottom: 78px; }
@media (min-width: 768px) { :root { --a11y-bottom: 24px; } }

/* Sticky mobile CTA bar */
.sticky-cta {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  z-index: 40;
  display: flex;
  box-shadow: 0 -8px 24px rgba(0,0,0,0.35);
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

/* Marquee */
.marquee {
  display: inline-block;
  will-change: transform;
}
@media (prefers-reduced-motion: no-preference) {
  .marquee {
    animation: marquee 40s linear infinite;
  }
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

/* Chandelier: very slow subtle rotation on the concentric rings only */
@media (prefers-reduced-motion: no-preference) {
  .chandelier-rings {
    transform-origin: 200px 160px;
    transform-box: fill-box;
    animation: slow-spin 60s linear infinite;
  }
}
@keyframes slow-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* Hero fade-in */
@media (prefers-reduced-motion: no-preference) {
  #top h1, #top > div > div > p, #top dl, #top .chandelier {
    animation: fade-rise 0.9s ease-out both;
  }
  #top > div > div > p  { animation-delay: 0.05s; }
  #top h1 { animation-delay: 0.15s; }
  #top dl { animation-delay: 0.35s; }
  #top .chandelier { animation-delay: 0.25s; }
}
@keyframes fade-rise {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Brand-aligned focus ring.
   The prescribed a11y widget sets *:focus-visible to #1a56db (blue). Scope the
   override to brand content so the widget's own focus styling is preserved. */
main a:focus-visible,
main button:focus-visible,
header a:focus-visible,
footer a:focus-visible,
.sticky-cta a:focus-visible {
  outline-color: #C9A86A !important;
}

/* Body text color accessibility note:
   brand-50 (#F3EDE4) on brand-900 (#1B1410) ≈ 14.8:1 — passes AAA.
   brand-900 on brand-50 ≈ 14.8:1 — passes AAA.
   brand-500 (#C9A86A) is used ONLY for accents, headings and decorative
   elements against dark — never as body copy on the cream background
   where contrast would drop below AA. */
