:root {
  --pitch: #080a09;
  --felt: #101814;
  --baize: #1f5a38;
  --baize-lit: #2a7a4c;
  --flight: #d4b06a;
  --ivory: #f4efe4;
  --ember: #c45c26;
  --mute: #9aa396;
  --line: #2a3a30;
  --header-h: 4.25rem;
}

html { scroll-behavior: smooth; }

body {
  font-family: Sora, system-ui, sans-serif;
  background: var(--pitch);
  color: var(--ivory);
}

.font-display { font-family: Fraunces, "Times New Roman", serif; }
.font-score { font-family: "IBM Plex Mono", ui-monospace, monospace; }

/* Signature: a dartboard built from concentric rings + a gold oche (throw line). */
.board-wash {
  background-color: var(--pitch);
  background-image:
    radial-gradient(circle at 82% 18%, rgba(31, 90, 56, 0.38), transparent 42%),
    radial-gradient(circle at 12% 88%, rgba(196, 92, 38, 0.12), transparent 38%),
    conic-gradient(
      from 9deg,
      #1f5a38 0 18deg,
      #e8e0d0 18deg 36deg,
      #122018 36deg 54deg,
      #e8e0d0 54deg 72deg,
      #1f5a38 72deg 90deg,
      #e8e0d0 90deg 108deg,
      #122018 108deg 126deg,
      #e8e0d0 126deg 144deg,
      #1f5a38 144deg 162deg,
      #e8e0d0 162deg 180deg,
      #122018 180deg 198deg,
      #e8e0d0 198deg 216deg,
      #1f5a38 216deg 234deg,
      #e8e0d0 234deg 252deg,
      #122018 252deg 270deg,
      #e8e0d0 270deg 288deg,
      #1f5a38 288deg 306deg,
      #e8e0d0 306deg 324deg,
      #122018 324deg 342deg,
      #e8e0d0 342deg 360deg
    );
  background-size: auto, auto, min(140vw, 56rem) min(140vw, 56rem);
  background-repeat: no-repeat;
  background-position: 0 0, 0 0, 118% -18%;
  background-blend-mode: normal, normal, multiply;
}

.oche {
  position: relative;
}
.oche::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--flight) 18%, var(--flight) 82%, transparent);
}

.nav-link { color: var(--mute); }
.nav-link:hover,
.nav-link[aria-current="page"] { color: var(--ivory); }

.btn-store {
  background: #000;
  color: #fff;
  border: 1px solid var(--flight);
}
.btn-store:hover { background: #161616; }

.btn-baize {
  background: var(--baize);
  color: var(--ivory);
  border: 1px solid var(--flight);
}
.btn-baize:hover { background: var(--baize-lit); }

.sector {
  background: var(--felt);
  border: 1px solid var(--line);
  position: relative;
  overflow: hidden;
}
.sector::before {
  content: "";
  position: absolute;
  top: -1.5rem;
  right: -1.5rem;
  width: 6rem;
  height: 6rem;
  border-radius: 999px;
  border: 2px solid rgba(212, 176, 106, 0.22);
  pointer-events: none;
}

.shot-frame {
  border: 1px solid var(--line);
  border-radius: 1.35rem;
  overflow: hidden;
  background: var(--felt);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.4);
  width: 100%;
  max-width: 11.5rem;
  margin-inline: auto;
}
.shot-frame img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
@media (min-width: 768px) {
  .shot-frame {
    max-width: 13rem;
  }
}

.legal-prose h2 {
  font-family: Fraunces, serif;
  color: var(--flight);
  font-size: 1.35rem;
  margin-top: 2.25rem;
  margin-bottom: 0.75rem;
}
.legal-prose p,
.legal-prose li {
  color: var(--mute);
  line-height: 1.7;
  margin-bottom: 0.75rem;
}
.legal-prose ul { list-style: disc; padding-left: 1.25rem; }
.legal-prose a { color: var(--flight); text-decoration: underline; text-underline-offset: 3px; }

.faq-item summary::-webkit-details-marker { display: none; }
.faq-item[open] summary i { transform: rotate(180deg); }

.focus-ring:focus-visible {
  outline: 2px solid var(--flight);
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-aos] {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}
