/* KSL Convention. Layout styles sit inline in index.html; this file holds page-wide rules. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: #FFFFFF; }
img { max-width: 100%; }
a { color: #3E141D; }
a:hover { color: #7A3A47; }
header a:hover, footer a:hover { color: #FFCE34 !important; }
summary { cursor: pointer; }
input, select, button { font: inherit; }
form input, form select { width: 100%; min-width: 0; }
section[id] { scroll-margin-top: 16px; }
:focus-visible { outline: 3px solid #FFCE34; outline-offset: 2px; }
main :focus-visible { outline-color: #7A3A47; }
.form-status { margin: 0; font-size: 14px; color: #6B5E63; }
.form-status[data-error] { color: #A3122A; font-weight: 600; }

@media (max-width: 640px) {
  header nav { order: 3; width: 100%; flex-wrap: nowrap !important; justify-content: space-between; gap: 0 !important; font-size: 13px !important; }
  header img { height: 64px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
