/* AR's original navy / copper palette, with accessible responsive navigation. */
:root { color-scheme: light; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { min-width: 0; }
[hidden] { display: none !important; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid #b87333; outline-offset: 5px; }
main { overflow: clip; }
main p[class~="text-[15px]"], main p[class~="text-[14px]"] { font-size: 1rem; }
/* Content remains available without JavaScript. */
.reveal-on-scroll { opacity: 1; transform: none; }
header > div { gap: 1.5rem; }
header a[aria-label="AR, Home"] { flex-direction: row; align-items: center; gap: .85rem; min-width: 0; flex-shrink: 0; max-width: 260px; }
header a[aria-label="AR, Home"] > span:first-child { display: inline-flex; flex-shrink: 0; }
header a[aria-label="AR, Home"] > span:nth-child(2),
header a[aria-label="AR, Home"] > span:nth-child(3) { display: none; }
header a[aria-label="AR, Home"] > span:last-child { display: block; font-size: .75rem; line-height: 1.4; letter-spacing: .04em; margin: 0; }
header nav { gap: 1.3rem; flex-shrink: 0; }
header nav > a, header nav button { white-space: nowrap; font-size: .9375rem; }
.audience-menu { position: absolute; top: calc(100% + 1rem); left: -.8rem; width: 270px; padding: .5rem; border: 1px solid #ddd8ce; border-radius: .65rem; background: #faf8f4; box-shadow: 0 14px 40px #0f254018; }
.audience-menu a { display: block; padding: .75rem; font-size: .9375rem; color: #0f2540; border-radius: .3rem; }
.audience-menu a:hover { background: #eee8df; color: #8f5527; }
.faq-answer { padding: 0 2.5rem 1.5rem 0; color: #626b75; line-height: 1.75; font-size: 1rem; max-width: 70ch; }
.contact-help { color: #626b75; font-size: .875rem; line-height: 1.6; }
.skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .8rem 1rem; background: #0f2540; color: #fff; transform: translateY(-200%); border-radius: .4rem; }
.skip-link:focus { transform: translateY(0); }
@media (min-width: 1150px) {
  header nav { display: flex; }
  header > div > button { display: none; }
}
@media (max-width: 1149px) {
  header nav { display: none; }
  header > div > button { display: flex; flex-shrink: 0; }
  header.menu-open nav { display: flex; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; padding: .7rem 1.5rem 1.5rem; max-height: 80dvh; overflow-y: auto; background: #faf8f4; border-bottom: 1px solid #ddd8ce; box-shadow: 0 18px 30px #0f254015; }
  header.menu-open nav > a, header.menu-open nav > div > button { display: block; padding: .8rem 0; width: 100%; text-align: left; }
  header.menu-open nav > a:last-child { text-align: center; margin-top: .6rem; padding: .8rem; }
  .audience-menu { position: static; width: 100%; margin: .2rem 0 .6rem; box-shadow: none; }
}
@media (max-width: 480px) {
  header > div { padding: .9rem 1rem; gap: .75rem; }
  header a[aria-label="AR, Home"] { max-width: 245px; gap: .65rem; }
  header a[aria-label="AR, Home"] svg { width: 42px; height: 34px; }
  header a[aria-label="AR, Home"] > span:last-child { font-size: .75rem; }
  footer a[href^="mailto:"] { overflow-wrap: anywhere; min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}
