:root {
  --brand: #dc2626; /* Tailwind red-600 */
  --brand-dark: #b91c1c; /* red-700 */
  --ink: #0f172a; /* slate-900 */
  --muted: #475569; /* slate-600 */
  --border: #e2e8f0; /* slate-200 */
  --surface: #ffffff;
  --surface-2: #f8fafc; /* slate-50 */
}

html {
  scroll-behavior: smooth;
  /* prevent anchor targets hidden behind sticky header */
  scroll-padding-top: 88px;
}

/* Better focus for keyboard users */
:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 2px;
}

/* Mobile tap highlight */
* {
  -webkit-tap-highlight-color: transparent;
}

/* Subtle hero background without heavy images */
.hero-bg {
  background:
    radial-gradient(1200px 500px at 20% 0%, rgba(220, 38, 38, 0.14), rgba(255, 255, 255, 0) 60%),
    radial-gradient(900px 400px at 90% 10%, rgba(0, 0, 0, 0.06), rgba(255, 255, 255, 0) 55%),
    linear-gradient(180deg, #ffffff, #fafafa);
}

.shadow-soft {
  box-shadow:
    0 2px 10px rgba(0, 0, 0, 0.06),
    0 18px 40px rgba(0, 0, 0, 0.06);
}

/* Premium-ish micro styling helpers */
.text-balance {
  text-wrap: balance;
}

.card {
  background: var(--surface);
  border: 1px solid var(--border);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  user-select: none;
}

.btn:active {
  transform: translateY(1px);
}

/* Better summary hit area */
summary {
  -webkit-tap-highlight-color: transparent;
}

/* FAQ accordion indicator */
details.faq-item > summary {
  list-style: none;
}
details.faq-item > summary::-webkit-details-marker {
  display: none;
}
details.faq-item > summary::after {
  content: '+';
  font-weight: 600;
  color: var(--muted);
}
details.faq-item[open] > summary::after {
  content: '–';
}

/* Horizontal carousel affordance */
.snap-x {
  scroll-snap-type: x mandatory;
}
.snap-start {
  scroll-snap-align: start;
}

/* Reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; }
}

