:root {
  --bg-main: #ffffff;
  --bg-soft: #f8fafc;

  --text-main: #0f172a;
  --text-muted: #475569;

  --primary: #2563eb;
  --border-light: #e5e7eb;

  --radius-md: 10px;
  --shadow-soft: 0 4px 14px rgba(0,0,0,.06);
}

/* Global reset */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* Base body styles */
body {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  background: var(--bg-main);
  color: var(--text-main);
  line-height: 1.6;

  /* Text rendering optimization */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;

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

/* Improve focus visibility (keyboard & accessibility) */
:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 2px;
}

/* Prevent image overflow */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* -------------------- */
/* PREMIUM ENHANCEMENTS */
/* -------------------- */

/* Subtle premium typography feel */
h1, h2, h3 {
  letter-spacing: -0.015em;
}

p {
  color: var(--text-main);
  max-width: 68ch;
}

/* Smooth scrolling for calm UX */
html {
  scroll-behavior: smooth;
}

/* Better text balance on large screens */
@media (min-width: 1200px) {
  body {
    font-size: 1.02rem;
  }
}

/* Selection color (subtle branding touch) */
::selection {
  background: rgba(37, 99, 235, 0.15);
}

/* Form element consistency */
input,
textarea,
button,
select {
  font-family: inherit;
  font-size: 1rem;
  color: inherit;
}

/* Button cursor clarity */
button {
  cursor: pointer;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto;
  }
}

/* Future-ready: prefers-color-scheme hook (no dark mode enabled yet) */
@media (prefers-color-scheme: dark) {
  :root {
    /* intentionally empty – reserved for future */
  }
}
