/* Custom styles for Firmapaita.fi */

/* Modern Font Pairing - Bold Display + Clean Sans */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root {
  /* Override default fonts */
  --font-display: 'Space Grotesk', system-ui, -apple-system, sans-serif;
  --font-body: 'Inter', system-ui, -apple-system, sans-serif;
}

body {
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--color-dark, #0f172a);
  background: var(--color-bg, #ffffff);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Apply display font to all headings */
h1, h2, h3, h4, h5, h6,
.hero-bold-title,
.hero-animated-title,
.hero-parallax h1,
.hero-video h1,
.hero-title,
.nav-title,
.footer-brand h3 {
  font-family: var(--font-display);
  font-weight: 800;
}

/* Enhanced hero title specifically for bold impact */
.hero-bold-title {
  font-weight: 900;
  font-family: var(--font-display);
}

/* Smooth all animations */
* {
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

/* Add subtle texture to primary colored sections */
.hero-bold,
section[style*="background-color: var(--color-primary)"],
section[style*="background-color: #e11d48"] {
  position: relative;
}

.hero-bold::before,
section[style*="background-color: var(--color-primary)"]::before,
section[style*="background-color: #e11d48"]::before {
  background-image:
    radial-gradient(circle at 20% 50%, rgba(255, 255, 255, 0.05) 0%, transparent 50%),
    radial-gradient(circle at 80% 80%, rgba(255, 255, 255, 0.04) 0%, transparent 50%);
}

/* Enhanced link styles */
a {
  color: var(--color-primary, #e11d48);
  transition: color 0.2s ease;
}

a:hover {
  color: color-mix(in srgb, var(--color-primary, #e11d48) 80%, black);
}

/* Button enhancements */
button,
.button,
.cta-button,
.hero-button,
.hero-bold-button {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* Section spacing */
section {
  padding: 5rem 2rem;
}

@media (max-width: 768px) {
  section {
    padding: 3rem 1.5rem;
  }
}

/* Feature icons - make them pop */
.feature-icon {
  font-size: 3rem;
  filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

/* Enhanced card hover effects */
.card,
.article-card,
.vertical-card,
.text-block {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.card:hover,
.article-card:hover,
.vertical-card:hover {
  transform: translateY(-6px) scale(1.01);
}

/* Smooth scroll behavior */
html {
  scroll-behavior: smooth;
}

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

/* Print styles */
@media print {
  .site-nav,
  .site-footer,
  .hero-bold-cta,
  .scroll-indicator {
    display: none;
  }
}
