:root {
  --brand-canopy: #c8c07e;
  --brand-canopy-rgb: 200, 192, 126;
  --brand-water: #5d95a8;
  --brand-water-rgb: 93, 149, 168;
  --brand-sand: #ded7ba;
  --brand-sand-rgb: 222, 215, 186;
  --brand-earth: #b59770;
  --brand-earth-rgb: 181, 151, 112;
  --brand-sage: #a5ab89;
  --brand-sage-rgb: 165, 171, 137;
  --brand-ink: #071316;
  --brand-ink-rgb: 7, 19, 22;
  --brand-ink-soft: #0c1d21;
  --brand-ink-soft-rgb: 12, 29, 33;
  --brand-shadow: #03090b;
  --brand-shadow-rgb: 3, 9, 11;
  --brand-success: #b8c69a;
  --brand-success-rgb: 184, 198, 154;
  --brand-danger: #e0a08d;
  --brand-danger-rgb: 224, 160, 141;
  --hero-text: var(--brand-sand);
  --hero-muted: rgba(var(--brand-sand-rgb), 0.72);
  --hero-ring: rgba(var(--brand-sage-rgb), 0.24);
  --hero-accent: var(--brand-canopy);
  --hero-accent-soft: rgba(var(--brand-canopy-rgb), 0.4);
  --hero-water: var(--brand-water);
  --hero-earth: var(--brand-earth);
  --hero-sage: var(--brand-sage);
  --hero-ink: rgba(var(--brand-ink-rgb), 0.62);
  --hero-surface: rgba(var(--brand-ink-soft-rgb), 0.44);
  --hero-border: rgba(var(--brand-sand-rgb), 0.14);
  --hero-shadow: 0 32px 70px rgba(0, 0, 0, 0.26);
  --button-radius: 13px;
  --font-serif: "Cormorant Garamond", Georgia, serif;
  --font-body: "Inter", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  font-family: "Inter", sans-serif;
  color: var(--hero-text);
  background: var(--brand-ink);
}

body,
button,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible {
  outline: 3px solid rgba(var(--brand-canopy-rgb), 0.96);
  outline-offset: 3px;
}

button {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}

img {
  display: block;
  max-width: 100%;
}

.hero-page {
  min-height: 100svh;
}

.container-fluid {
  padding-left: clamp(1.25rem, 2vw, 2.25rem);
  padding-right: clamp(1.25rem, 2vw, 2.25rem);
}

.skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 2000;
  padding: 0.85rem 1rem;
  border-radius: var(--button-radius);
  background: var(--hero-accent);
  color: var(--brand-ink);
  font-weight: 700;
  transform: translateY(-150%);
  transition: transform 220ms ease;
}

.skip-link:focus {
  transform: translateY(0);
}

.noscript-notice {
  margin: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(var(--brand-canopy-rgb), 0.32);
  border-radius: 1rem;
  background: rgba(var(--brand-ink-soft-rgb), 0.92);
  color: var(--hero-text);
}

.noscript-notice a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

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