:root {
  --plum: #351c47;
  --royal: #6b248b;
  --vivid: #822ca2;
  --sunset: #fc9347;
  --coral: #f97249;
  --gold: #febb1f;
  --warm-coral: #ec5360;
  --orchid: #a842ba;
  --lavender: #f8f5fa;
  --soft-gray: #f3f4f6;
  --forest: #166534;
  --body-text: #4b5563;
  --brand-line: #ede7f1;
}

::selection { background: #fc9347; color: #351c47; }
.brand-logo { display: inline-flex; align-items: center; flex-shrink: 0; width: 184px; height: 62px; }
.brand-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.brand-logo:focus-visible { outline: 2px solid var(--royal); outline-offset: 3px; border-radius: 4px; }

.brand-cta {
  background: var(--sunset);
  color: var(--plum);
  border: 1px solid transparent;
  transition: background 300ms ease, transform 300ms ease, box-shadow 300ms ease;
}
.brand-cta:hover { background: var(--coral); color: var(--plum); }
.brand-cta:focus-visible { box-shadow: 0 0 0 4px #fc934740; outline: 2px solid var(--plum); outline-offset: 2px; }
.brand-secondary { background: var(--royal); color: #fff; border: 1px solid var(--royal); }
.brand-secondary:hover { background: var(--vivid); border-color: var(--vivid); }
.brand-secondary:focus-visible { outline: 2px solid var(--royal); outline-offset: 4px; }
.brand-highlight {
  color: var(--royal);
  background: linear-gradient(110deg, var(--royal), var(--vivid) 65%, var(--orchid));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.container-shell.section-tint { width: 100%; padding-inline: max(16px, calc((100% - 1180px) / 2)); background: var(--lavender); }
header nav a:not(.brand-logo):not(.brand-cta):hover,
header a[aria-current="location"] { color: var(--royal); }
header a[aria-current="location"] { text-decoration: underline; text-underline-offset: 8px; text-decoration-color: var(--sunset); }
.destination-card:hover, #about article:hover { border-color: var(--orchid); }
.destination-card p { color: var(--forest); }
.hero-media > .absolute { border-top: 2px solid var(--gold); }
main article:hover { border-color: var(--orchid); }
#about article > div { background: #efe6f5; color: var(--vivid); }
#start > div { background: #fff4ea; }
#start > div > .absolute { border-color: #fc934740; }
.story-avatar { color: var(--forest); }
.brand-footer { background: var(--plum); color: #fff; }
.brand-footer .text-ink { color: #fff; }
.brand-footer .text-muted { color: #e5daec; }
.brand-footer .border-line { border-color: #ffffff26; }
.brand-footer a:hover { color: var(--sunset); }
.brand-footer a:focus-visible { outline: 2px solid var(--sunset); outline-offset: 4px; }
.brand-logo-footer { width: 200px; height: 68px; padding: 4px 10px; background: #fff; border-radius: 6px; }
.policy-page { color: var(--plum); }
.policy-page a:hover { color: var(--royal); }
.policy-page a:focus-visible { outline-color: var(--royal); }
.policy-page p { color: var(--body-text); }
.policy-page .status { color: var(--royal); }
.policy-page section { border-color: var(--brand-line); }
.policy-page > footer { background: var(--lavender); }
@media (max-width: 767px) { header .brand-logo { width: 154px; height: 54px; } }
@media (prefers-reduced-motion: reduce) { .brand-cta, .brand-secondary { transition: none; } }
