.hero-section {
  display: flex;
  flex-direction: column;
  text-align: center;
  width: 100%;
  padding: var(--section-spacing-xl) var(--section-spacing-sm);
}

.hero-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding-top: var(--size-16);
  gap: var(--section-spacing-sm);
}

.hero-header {
  display: flex;
  flex-direction: column;
  gap: var(--size-4);
}

.hero-title {
  font-size: clamp(2.5rem, 8vmin, 3.5rem);
  font-weight: var(--font-bold);
  color: var(--color-text);
  line-height: var(--line-height-tight);
  margin: 0;
}

.hero-subtitle {
  font-size: clamp(1.5rem, 5vmin, 2.25rem);
  font-weight: var(--font-semibold);
  color: var(--color-text-secondary);
  line-height: var(--line-height-tight);
  margin: var(--size-4) 0;
}

.hero-description {
  font-size: clamp(1rem, 3vmin, 1.25rem);
  color: var(--color-text-secondary);
  max-width: 50ch;
  margin: var(--section-spacing-sm) 0;
  line-height: var(--line-height-normal);
  opacity: 0.9;
}

.hero-location {
  font-size: clamp(1rem, 3vmin, 1.25rem);
  color: var(--color-text-muted);
  max-width: 50ch;
  margin: var(--section-spacing-xs) 0;
  line-height: var(--line-height-normal);
  font-style: normal;
}

.hero-location .location-text {
  display: block;
}

.hero-location-links {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--size-6);
  margin: var(--section-spacing-md) 0;
}

.hero-location-links .btn {
  padding: var(--size-3);
  border: 2px solid var(--color-border);
  border-radius: var(--rounded-md);
  background-color: var(--color-bg);
  box-shadow: var(--shadow-sm);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.hero-location-links .btn:hover {
  transform: scale(1.1);
  border-color: var(--color-accent);
  box-shadow: var(--shadow-md);
  background-color: var(--color-bg);
}

.hero-location-links .btn svg {
  width: var(--size-8);
  height: var(--size-8);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.hero-cta {
  margin-top: var(--section-spacing-sm);
}

.hero-cta .btn {
  padding: var(--size-4) var(--size-10);
  font-size: var(--text-base);
  font-weight: var(--font-semibold);
  border-radius: var(--rounded-lg);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: var(--shadow-md);
}

.hero-cta .btn:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-lg);
}


/* ======================================== 
   Tablet Breakpoint (768px+)
   ======================================== */
@media (min-width: 768px) {
  .hero-section {
    padding: var(--section-spacing-lg) var(--section-spacing-md);
  }
  
  .hero-container {
    padding-top: var(--size-32);
    gap: var(--section-spacing-md);
  }
  
  .hero-location-links {
    gap: var(--size-8);
  }
  
  .hero-location-links .btn svg {
    width: var(--size-10);
    height: var(--size-10);
  }
  
  .hero-cta .btn {
    padding: var(--size-5) var(--size-12);
    font-size: var(--text-lg);
  }
}

/* ======================================== 
   Desktop Breakpoint (1024px+)
   ======================================== */
@media (min-width: 1024px) {
  .hero-section {
    padding: var(--section-spacing-2xl) var(--section-spacing-lg);
  }
  
  .hero-container {
    padding-top: var(--size-32);
    gap: var(--section-spacing-lg);
  }
  
  .hero-description,
  .hero-location {
    max-width: 60ch;
  }
  
  .hero-location-links {
    gap: var(--size-10);
  }
  
  .hero-location-links .btn svg {
    width: var(--size-12);
    height: var(--size-12);
  }
  
  .hero-cta .btn {
    padding: var(--size-6) var(--size-16);
    font-size: var(--text-xl);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-location-links .btn,
  .hero-cta .btn {
    transition: none;
  }
  
  .hero-location-links .btn:hover,
  .hero-cta .btn:hover {
    transform: none;
  }
}
