/* Home page custom styles (lean; extends base.css) */
.section {
  padding-top: var(--space-16);
  padding-bottom: var(--space-16);
}

/* Hero */
.hero .hero-media { position: relative; }
.hero .hero-img { max-height: 72vh; object-fit: cover; width: 100%; }
.hero .hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(10,22,40,0.1) 0%, rgba(10,22,40,0.8) 60%, rgba(10,22,40,0.95) 100%);
}
.hero .hero-content {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: var(--space-12);
}
.hero h1 { text-shadow: 0 2px 12px rgba(0,0,0,0.6); }
.hero p { max-width: 56ch; }

/* Spacing tweaks on small screens */
@media (max-width: 768px) {
  .hero .hero-content { padding: var(--space-8); }
}
