/* =========================================================
   Expert Repair Hub — Design Tokens
   Palette carried forward from the original brand prototype
   (old/assets/css/style.css) for visual continuity.
   ========================================================= */

:root {
  --primary: #2D8783;
  --primary-rgb: 45, 135, 131;
  --primary-dark: #246C68;
  --primary-darker: #16403D;
  --primary-light: #E3F4F3;

  --accent: #FF6B35;
  --accent-rgb: 255, 107, 53;
  --accent-dark: #D95B2D;
  --accent-light: #FFE9DF;

  --dark: #0E2826;
  --gray-900: #1E293B;
  --gray-700: #475569;
  --gray-600: #64748B;
  --gray-400: #94A3B8;
  --gray-200: #E6ECF5;
  --gray-100: #F5F8FD;

  --radius-sm: 0.6rem;
  --radius: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 2rem;

  --shadow-soft: 0 10px 30px -12px rgba(var(--primary-rgb), 0.18);
  --shadow-md: 0 20px 45px -15px rgba(15, 23, 42, 0.14);
  --shadow-lg: 0 30px 70px -25px rgba(15, 23, 42, 0.22);

  --transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);

  --bs-primary: var(--primary);
  --bs-primary-rgb: var(--primary-rgb);
  --bs-link-color: var(--primary);
  --bs-link-color-rgb: var(--primary-rgb);
  --bs-link-hover-color: var(--primary-dark);
  --bs-body-font-family: 'Inter', sans-serif;
  --bs-body-color: var(--gray-700);
  --bs-border-radius: var(--radius-sm);
  --bs-border-radius-lg: var(--radius);
  --bs-border-radius-xl: var(--radius-lg);
}

* { scroll-behavior: smooth; }
html { scroll-padding-top: 90px; }

body {
  font-family: 'Inter', sans-serif;
  color: var(--gray-700);
  background-color: #ffffff;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6,
.font-heading {
  font-family: 'Poppins', sans-serif;
  color: var(--gray-900);
  font-weight: 700;
  letter-spacing: -0.01em;
}

img { max-width: 100%; height: auto; }
a { text-decoration: none; }
::selection { background: var(--primary-light); color: var(--primary-dark); }

.section-padding { padding: 5rem 0; }
@media (max-width: 767.98px) {
  .section-padding { padding: 3.25rem 0; }
}

.bg-soft { background-color: var(--gray-100); }
.bg-primary-light { background-color: var(--primary-light) !important; }
.bg-accent-light { background-color: var(--accent-light) !important; }
.bg-dark-navy { background-color: var(--dark) !important; }
.text-accent { color: var(--accent) !important; }
.bg-accent { background-color: var(--accent) !important; color: #fff; }
.text-primary-dark { color: var(--primary-dark) !important; }

.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--primary);
  background: var(--primary-light);
  padding: 0.45rem 1.1rem;
  border-radius: 50px;
  margin-bottom: 1rem;
}
.section-eyebrow.eyebrow-accent { color: var(--accent-dark); background: var(--accent-light); }

.section-title { font-size: clamp(1.8rem, 1.5rem + 1.6vw, 2.6rem); margin-bottom: 0.9rem; }
.section-subtitle { color: var(--gray-600); font-size: 1.05rem; max-width: 620px; }
.mx-auto-text { margin-left: auto; margin-right: auto; }

.divider-accent {
  width: 64px; height: 4px; border-radius: 4px;
  background: var(--accent); margin-bottom: 1.25rem;
}
