/* ===== Warm & Cozy Professional Background Artwork ===== */
/* Based on color psychology: warm neutrals increase trust, familiarity, */
/* and purchase appeal for B2B service websites */

/* Primary color variables from our psychoanalytics-backed palette */
:root {
  --bg-primary: #F7F3EC;      /* Warm off-white / paper - comfort, reduced eye strain */
  --bg-panel: #EFE7DA;        /* Warm beige / panels - subtle depth, craftsmanship */
  --accent-amber: #D9A45A;    /* Muted amber/gold - quality, warmth, premium feel */
  --accent-taupe: #8B7355;    /* Muted brown - reliability, earthiness */
  --text-soft: #3A332E;       /* Soft charcoal - readability, approachability */
  --overlay-soft: rgba(58, 51, 46, 0.06); /* Readability scrim */
}

/* Base body styling with textured warmth */
body {
  background-color: var(--bg-primary);
  /* Subtle warm parchment gradient overlay */
  background-image: 
    radial-gradient(circle at 25% 30%, rgba(217, 164, 90, 0.08) 0%, transparent 50%),
    radial-gradient(circle at 75% 70%, rgba(217, 164, 90, 0.05) 0%, transparent 50%),
    var(--bg-pattern);
  background-attachment: fixed;
  background-size: auto, auto, cover;
  background-repeat: no-repeat, no-repeat, no-repeat;
  color: var(--text-soft);
  font-family: 'Inter', 'Arial', sans-serif;
}

/* Readability scrim for hero/overlay text */
.hero__scrim::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg, 
    rgba(247, 243, 236, 0.6) 0%, 
    rgba(247, 243, 236, 0.95) 100%
  );
  pointer-events: none;
  z-index: 10;
}

/* Warm panel styling for content sections */
.cozy-panel {
  background: var(--bg-panel);
  border-radius: 16px;
  box-shadow: 
    0 4px 12px rgba(58, 51, 46, 0.04),
    0 0 0 1px rgba(239, 231, 218, 0.5) inset;
  border: 1px solid rgba(239, 231, 218, 0.3);
  padding: 2rem;
  margin: 1.5rem 0;
}

/* Amber accent for interactive elements */
.accent-button {
  background: var(--accent-amber);
  color: var(--bg-primary);
  border: none;
  border-radius: 8px;
  padding: 0.8rem 1.5rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s var(--ease);
  position: relative;
  overflow: hidden;
}

.accent-button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent, rgba(255,255,255,0.2), transparent);
  transform: translateX(-100%);
  transition: transform 0.5s;
}

.accent-button:hover::before {
  transform: translateX(100%);
}

.accent-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(217, 164, 90, 0.3);
}

.accent-button:focus-visible {
  outline: 2px solid var(--text-soft);
  outline-offset: 2px;
}

/* Taupe-supporting text elements */
.taupe-text {
  color: var(--accent-taupe);
}

/* Subtle hover states with warm transitions */
a:hover,
button:hover {
  color: var(--accent-amber);
  transition: color 0.25s var(--ease);
}

/* Sticky header CTA */
.header__cta-sticky {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--bg-primary);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--overlay-soft);
}

@media (prefers-reduced-motion: reduce) {
  .header__cta-sticky {
    backdrop-filter: none;
  }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {"
  *,
  *::before,
  *::after {
    animation-duration: 0ms !important;
    transition-duration: 0ms !important;
  }
  
  .cozy-panel {
    transition: none;
  }
}

/* Focus indicators with warm color */
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--accent-amber);
  outline-offset: 4px;
}
/* Pattern reference */
:root {
  --bg-pattern: url('assets/img/background-pattern.svg');
}