:root {
  color-scheme: light;
  --ground: #fcf8f0;
  --ink: #342e3e;
  --muted: #5d5266;
  --violet: #654b78;
  --violet-hover: #513a65;
  --lavender: #eae0f0;
  --lavender-pale: #f3ecf5;
  --oat: #f0e8db;
  --rule: #c6b6ce;
}
body { color: var(--ink); background: var(--ground); }
a { color: var(--violet); text-decoration-thickness: 2px; text-underline-offset: 5px; }
a:hover { color: var(--violet-hover); text-decoration-thickness: 3px; }
::selection { color: var(--ink); background: #dfcfe9; }
:focus-visible { outline: 3px solid var(--violet-hover); outline-offset: 5px; }
.skip-link { background: var(--violet); color: white; border-radius: 6px; }
.utility-strip { background: var(--lavender); }
.utility-inner p, .kicker, .card-tag, .small-note, .art-note, .card-action { color: var(--muted); }
.guide-mark { color: var(--ink); text-decoration: none; }
.mark-orbit { background: #cbb6da; border-radius: 6px; }
.mark-orbit::before { inset: 6px 16px 6px 6px; background: var(--violet); border-radius: 5px; transform: none; }
.mark-orbit::after { inset: 6px 6px 6px 22px; background: var(--ground); border-radius: 4px; transform: none; }
.brand-label { color: var(--muted); }
.site-menu > summary { color: var(--ink); border: 2px solid #bda8c9; border-radius: 6px; background: var(--lavender-pale); }
.site-menu > summary:hover, .site-menu[open] > summary { background: var(--lavender); border-color: var(--violet); }
.menu-panel { border: 2px solid #bda8c9; border-radius: 8px; background: var(--ground); }
.menu-panel a { text-decoration: underline; border-radius: 6px; }
.menu-panel a:hover, .menu-panel a[aria-current="page"] { color: var(--ink); background: var(--lavender); }
.hero-art { background: var(--lavender); border-radius: 8px; }
.hero-art img { border-radius: 6px; filter: grayscale(1) contrast(1.7); mix-blend-mode: multiply; opacity: 0.8; }
.hero-note { background: var(--lavender); border-radius: 8px; }
.section:nth-of-type(3n) { --section-ground: var(--lavender-pale); }
.intro-grid { --section-ground: var(--oat); }
.route-card, .format-card, .price-card { background: #fffdf8; border: 0; border-radius: 8px; }
.route-card:nth-child(even), .price-card:nth-child(even) { background: var(--lavender); }
.format-card:nth-child(2) { background: var(--lavender); }
.format-card:nth-child(3) { background: var(--oat); }
.route-card > .kicker, .format-card > .kicker { color: var(--violet); }
.evidence-card { border: 0; border-radius: 8px; background: #fffdf8; }
.evidence-card > summary { color: var(--ink); background: #e5d8ed; border-radius: 8px; }
.evidence-card > summary:hover { background: #dbc9e6; }
.evidence-card > summary::after { color: var(--violet); }
.evidence-card[open] > summary { border-radius: 8px 8px 0 0; margin-bottom: 24px; }
.card-action { color: var(--violet); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; }
.check-step { border-bottom: 2px solid var(--rule); }
.question-card { background: var(--oat); border-radius: 8px; }
.question-card:nth-child(even) { background: var(--lavender); }
.page-link { background: var(--violet); color: white; text-decoration: none; border: 2px solid var(--violet); border-radius: 6px; }
.page-link:hover { color: white; background: var(--violet-hover); border-color: var(--violet-hover); }
.page-link.secondary { background: #fffdf8; color: var(--violet); border-color: var(--violet); }
.page-link.secondary:hover { color: var(--violet-hover); background: var(--lavender); }
.next-section { background: #dfd0e9; border-radius: 8px; }
.footer { background: var(--oat); }
.evidence-drawer { color: var(--ink); background: var(--ground); border: 0; border-left: 6px solid #cbb6da; border-radius: 8px 0 0 8px; }
.evidence-drawer::backdrop { background: #342e3e70; }
.drawer-bar { border-bottom: 2px solid var(--rule); }
.drawer-bar button { color: var(--violet); background: var(--lavender); border: 2px solid #bda8c9; border-radius: 6px; }
.drawer-bar button:hover { background: #dfcfe9; }
.missing-page { position: relative; }
.missing-page::before { content: ""; display: block; width: 112px; height: 16px; margin-bottom: 32px; background: #cbb6da; border-radius: 6px; }
@media (max-width: 620px) {
  .mark-orbit::before { inset: 5px 13px 5px 5px; }
  .mark-orbit::after { inset: 5px 5px 5px 18px; }
}
@media (prefers-reduced-motion: no-preference) {
  .evidence-drawer[open] { animation: drawer-entrance 160ms ease-out; }
  @keyframes drawer-entrance { from { transform: translateX(24px); } to { transform: translateX(0); } }
}
@media print {
  body { background: white; }
  .site-menu, .utility-strip, .hero-actions, .next-section, .footer-links { display: none; }
  .page-shell { width: 100%; }
  .section::before { display: none; }
  .evidence-card { break-inside: avoid; }
}
