:root {
  color-scheme: light;
  --background: oklch(99% 0 0);
  --foreground: oklch(16% 0 0);
  --card: oklch(100% 0 0);
  --card-foreground: oklch(16% 0 0);
  --popover: oklch(100% 0 0);
  --popover-foreground: oklch(16% 0 0);
  --primary: oklch(50% 0.12 155);
  --primary-foreground: oklch(98% 0 0);
  --secondary: oklch(94% 0 0);
  --secondary-foreground: oklch(22% 0 0);
  --muted: oklch(95% 0 0);
  --muted-foreground: oklch(46% 0 0);
  --accent: oklch(92% 0.05 155);
  --accent-foreground: oklch(30% 0.1 155);
  --border: oklch(87% 0 0);
  --input: oklch(85% 0 0);
  --ring: oklch(50% 0.12 155);
  --positive: oklch(48% 0.16 145);
  --positive-soft: oklch(94% 0.055 145);
  --negative: oklch(54% 0.19 25);
  --highlight: oklch(55% 0.15 152);
  --highlight-soft: oklch(94% 0.05 152);
  --surface: oklch(96.5% 0 0);
  --surface-deep: oklch(12% 0 0);
  --on-deep: oklch(97% 0 0);
  --chart-1: oklch(50% 0.12 155);
  --chart-2: oklch(58% 0.13 150);
  --chart-3: oklch(68% 0.11 145);
  --chart-4: oklch(44% 0.1 160);
  --chart-5: oklch(76% 0.08 150);
}

header img {
  filter: grayscale(1) contrast(1.08);
  object-position: center 18%;
}

header {
  background: #090909 !important;
  color: #ff6a00 !important;
}

main {
  padding-bottom: 7.5rem !important;
}

main > .space-y-8 > section.no-print,
main > .space-y-10 > section.no-print {
  position: fixed;
  right: auto;
  bottom: 1.25rem;
  left: 50%;
  z-index: 50;
  width: min(calc(100% - 2rem), 70rem);
  max-width: 70rem;
  padding: 0;
  transform: translateX(-50%);
}

main > .space-y-8 > section.no-print > div,
main > .space-y-10 > section.no-print > div {
  width: 100%;
  max-width: 70rem;
  border: 1px solid rgb(0 0 0 / 16%);
  border-radius: 1rem;
  background: #ff6a00;
  color: #111;
  box-shadow: 0 18px 50px rgb(0 0 0 / 28%);
}

main > .space-y-8 > section.no-print a,
main > .space-y-10 > section.no-print a {
  background: #111;
  color: #fff;
}

main > .space-y-8 > section.no-print button,
main > .space-y-10 > section.no-print button {
  border-color: rgb(0 0 0 / 38%);
  color: #111;
}

@media (max-width: 639px) {
  main { padding-bottom: 11rem !important; }

  header > div > div {
    text-align: center;
  }

  header > div > div h1,
  header > div > div p {
    margin-right: auto;
    margin-left: auto;
  }

  main > .space-y-8 > section.no-print > div,
  main > .space-y-10 > section.no-print > div {
    padding: 0.875rem 1rem;
  }

  main > .space-y-8 > section.no-print h2,
  main > .space-y-10 > section.no-print h2 {
    width: 100%;
    font-size: 0.95rem;
    line-height: 1.35;
    text-align: center;
  }

  main > .space-y-8 > section.no-print,
  main > .space-y-10 > section.no-print {
    bottom: 0.75rem;
    width: calc(100% - 1rem);
  }
}

@media print {
  header img { filter: grayscale(1) contrast(1.08); }
}
