:root {
  color-scheme: light;
}

/* Production readability and conversion safeguards. */
[data-hero] p {
  color: oklch(25% 0.008 60 / 0.78) !important;
}

[data-hero] a[href="#contact"] {
  background: oklch(16% 0.005 60) !important;
  color: oklch(97% 0.008 80) !important;
  border-color: oklch(16% 0.005 60) !important;
}

[data-hero] a[href="#contact"]:hover,
[data-hero] a[href="#contact"]:focus-visible {
  background: var(--gold, oklch(74% 0.105 80)) !important;
  color: oklch(16% 0.005 60) !important;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
label:focus-visible {
  outline: 3px solid oklch(52% 0.13 75);
  outline-offset: 4px;
}

[data-cookie-consent] {
  position: fixed;
  z-index: 10000;
  left: 18px;
  right: 18px;
  bottom: 18px;
  max-width: 920px;
  margin: 0 auto;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #f7f3ec;
  background: #211f1c;
  border: 1px solid rgba(191, 154, 91, .55);
  box-shadow: 0 18px 60px rgba(0, 0, 0, .3);
  font-family: Inter, "Noto Sans Thai", sans-serif;
}
[data-cookie-consent] strong { font-size: 15px; }
[data-cookie-consent] p { margin: 6px 0; font-size: 12px; line-height: 1.65; color: rgba(247, 243, 236, .75); }
[data-cookie-consent] a { color: #d3ad6c; font-size: 11px; text-decoration: underline; }
[data-cookie-actions] { display: flex; gap: 10px; flex: 0 0 auto; }
[data-cookie-actions] button { min-height: 44px; padding: 0 18px; border: 1px solid rgba(247,243,236,.3); color: #f7f3ec; background: transparent; cursor: pointer; }
[data-cookie-actions] [data-cookie-accept] { color: #211f1c; background: #d3ad6c; border-color: #d3ad6c; }
[data-privacy-link] { padding: 10px 20px 18px; text-align: center; background: #211f1c; }
[data-privacy-link] a { color: rgba(247,243,236,.6); font: 10px/1.4 Inter, sans-serif; letter-spacing: .12em; text-transform: uppercase; }

@media (max-width: 640px) {
  [data-cookie-consent] { align-items: stretch; flex-direction: column; }
  [data-cookie-actions] { display: grid; grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 600px) {
  [data-hero] p {
    font-size: 1rem !important;
    line-height: 1.75 !important;
  }
  [data-hero] a[href="#contact"] {
    min-height: 48px;
  }
}
