/* Base & Global */
html { overflow-x: hidden; }
body { font-family: var(--font-primary); background: linear-gradient(to bottom right, var(--bs-light), #e9ecef); color: #333; overflow-x: hidden; }

/* Scrollbar */
body::-webkit-scrollbar { width: 8px; }
body::-webkit-scrollbar-track { background: #f1f1f1; }
body::-webkit-scrollbar-thumb { background: var(--bs-accent); border-radius: 4px; }
body::-webkit-scrollbar-thumb:hover { background: #157347; }

/* Typography */
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); font-weight: 700; color: var(--bs-dark); }
a { text-decoration: none; }

/* Respect user motion preferences */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
  .hero-overlay { animation: none !important; }
  [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* Media helpers */
img, svg, video { max-width: 100%; height: auto; }
.container, .row { overflow-x: clip; }

/* Long text safety */
.legal-content p, .review-card .card-text { word-break: break-word; overflow-wrap: anywhere; }
