/* Base Tailwind variables equivalent */
:root {
  --background: 0 0% 100%;
  --foreground: 216 33% 17%;

  --card: 0 0% 100%;
  --card-foreground: 216 33% 17%;

  --popover: 0 0% 100%;
  --popover-foreground: 216 33% 17%;

  --primary: 216 45% 15%;
  --primary-foreground: 0 0% 98%;

  --secondary: 220 20% 96%;
  --secondary-foreground: 216 33% 17%;

  --muted: 220 14% 96%;
  --muted-foreground: 215 16% 47%;

  --accent: 43 60% 50%;
  --accent-foreground: 216 45% 15%;

  --destructive: 0 84% 60%;
  --destructive-foreground: 0 0% 98%;

  --border: 220 13% 91%;
  --input: 220 13% 91%;
  --ring: 216 45% 15%;

  --radius: 0.375rem;

  --navy: 216 45% 15%;
  --navy-light: 216 35% 25%;
  --navy-dark: 216 50% 10%;
  --gold: 43 60% 50%;
  --gold-light: 43 50% 70%;
  --gray-warm: 220 14% 96%;
  --gray-medium: 215 16% 47%;
}

* {
  border-color: hsl(var(--border));
}

body {
  background-color: hsl(var(--background));
  color: hsl(var(--foreground));
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Playfair Display', Georgia, serif;
}

/* Custom Components */
.section-padding {
  padding-top: 5rem;
  padding-bottom: 5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media (min-width: 768px) {
  .section-padding {
    padding-top: 7rem;
    padding-bottom: 7rem;
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.section-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.875rem;
  line-height: 2.25rem;
  font-weight: 600;
  color: hsl(var(--primary));
  letter-spacing: -0.025em;
}
@media (min-width: 768px) {
  .section-title {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }
}
@media (min-width: 1024px) {
  .section-title {
    font-size: 3rem;
    line-height: 1;
  }
}

.section-subtitle {
  color: hsl(var(--muted-foreground));
  font-size: 1.125rem;
  line-height: 1.75rem;
  max-width: 42rem;
  line-height: 1.625;
}
@media (min-width: 768px) {
  .section-subtitle {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }
}

.gold-accent {
  color: hsl(var(--gold));
}

.gold-line {
  width: 4rem;
  height: 0.125rem;
  background-color: hsl(var(--gold));
}

.hover-lift {
  transition-property: transform;
  transition-duration: 300ms;
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.hover-lift:hover {
  transform: translateY(-0.25rem);
}

/* Scroll Animation classes */
.animate-on-scroll {
  opacity: 0;
}
.fade-up.is-visible {
  animation: fade-up 0.7s ease-out forwards;
}
