:root {
  --brand-ink: #1D2A33;
  --brand-white: #FCFBF7;
  --brand-rust: #9C3D1A;
  --brand-rust-hover: #7E2F12;
  --brand-accent: #F5E6DD;
  --brand-concrete: #F1F2EF;
  --brand-secondary: #4F5E66;
  --brand-border: #D9DEDB;
  --brand-rust-rgb: 156, 61, 26;
  --brand-accent-border: var(--brand-border);

  --ink: var(--brand-ink);
  --white: var(--brand-white);
  --yellow: var(--brand-rust);
  --yellow-light: var(--brand-accent);
  --yellow-mid: var(--brand-border);
  --orange: var(--brand-rust);
  --orange-dark: var(--brand-rust-hover);
  --orange-light: var(--brand-accent);
  --orange-mid: var(--brand-border);
  --orange-border: var(--brand-border);
  --gray-50: var(--brand-white);
  --gray-100: var(--brand-concrete);
  --gray-200: var(--brand-border);
  --gray-300: var(--brand-border);
  --gray-400: var(--brand-secondary);
  --gray-600: var(--brand-secondary);
  --gray-800: var(--brand-ink);
  --asphalt: var(--brand-ink);
  --asphalt-mid: #263640;
  --asphalt-light: #334751;
}

::selection {
  color: var(--brand-ink);
  background: var(--brand-accent);
}

a,
button,
input,
select,
textarea,
[tabindex]:not([tabindex="-1"]) {
  -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:not([tabindex="-1"]):focus-visible {
  outline: 3px solid var(--brand-rust);
  outline-offset: 3px;
}

input,
select,
textarea {
  accent-color: var(--brand-rust);
}

button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  cursor: pointer;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
}

.service-card,
.tier-card,
.tier-item,
.gallery-card,
.booking-summary,
.approval-card {
  background-color: var(--brand-white);
  border-color: var(--brand-border);
}

.site-footer .footer-links a {
  color: rgba(255,255,255,0.78);
}

.site-footer .footer-links a:hover {
  color: var(--brand-white);
}

.site-footer .footer-copy {
  color: rgba(255,255,255,0.72);
}

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