:root {
  --ink: #29383d;
  --ink-soft: #4d5659;
  --sand: #d8c2a3;
  --sand-light: #f2eadf;
  --paper: #f6f2eb;
  --copper: #a86443;
  --copper-dark: #8f5337;
  --line: #ded2c3;
}

html {
  scroll-behavior: smooth;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: "Inter", sans-serif;
}

h1,
h2,
h3,
.serif {
  font-family: "Lora", serif;
}

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

.eyebrow {
  color: var(--copper);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.prose-copy p {
  color: var(--ink-soft);
  line-height: 1.85;
  margin-top: 1rem;
}

.prose-copy h2 {
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.2;
  margin-top: 2.8rem;
}

.prose-copy h3 {
  font-size: 1.35rem;
  margin-top: 2rem;
}

.soft-card {
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid var(--line);
}

.editorial-image {
  background: var(--sand);
}

.editorial-image img {
  transition: transform 0.7s ease;
}

.editorial-image:hover img {
  transform: scale(1.025);
}

.nav-link {
  position: relative;
}

.nav-link::after {
  background: var(--sand);
  bottom: -0.4rem;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  right: 100%;
  transition: 0.25s;
}

.nav-link:hover::after,
.nav-link.active::after {
  right: 0;
}

.cta-section {
  background:
    linear-gradient(90deg, rgba(216, 194, 163, 0.32), transparent 52%), #f2eadf;
  border-top: 1px solid var(--line);
}

.cta-image {
  background-image:
    linear-gradient(90deg, rgba(242, 234, 223, 0.18), transparent 35%),
    url("haand-sollys.webp");
  background-position: center;
  background-size: cover;
}

.price-card {
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid var(--line);
  box-shadow: 0 22px 60px rgba(41, 56, 61, 0.08);
}

.ticket-card {
  background: var(--sand-light);
  border-left: 4px solid var(--copper);
}

.fade-up {
  animation: fadeUp 0.7s ease both;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .fade-up {
    animation: none;
  }

  .editorial-image img {
    transition: none;
  }
}
