/* Global CSS Design System & Custom Reset */

:root {
  --primary: #0f172a;       /* Dark slate / Deep navy */
  --primary-light: #1e293b; /* Medium slate background */
  --accent: #10b981;        /* Stripe-grade compliance emerald */
  --accent-hover: #059669;  /* Darker emerald hover */
  --text-main: #334155;     /* Dark gray/slate for reading body */
  --text-light: #64748b;    /* Muted gray for small text */
  --bg-main: #f8fafc;       /* Light neutral off-white background */
  --bg-card: #ffffff;       /* Pure white card backgrounds */
  --border-color: #e2e8f0;  /* Very clean, thin borders */
  --max-width: 1200px;
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans CJK SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --transition: all 0.25s ease-in-out;
}

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

body {
  font-family: var(--font-sans);
  background-color: var(--bg-main);
  color: var(--text-main);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

a {
  text-decoration: none;
  color: inherit;
  transition: var(--transition);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

ul {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  color: var(--primary);
  font-weight: 700;
  line-height: 1.25;
}

/* Base Utility Classes */
.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 1.5rem;
}

.text-center {
  text-align: center;
}

.section-padding {
  padding: 5rem 0;
}

@media (max-width: 768px) {
  .section-padding {
    padding: 3.5rem 0;
  }
}
