/* ============================================
   Global Design Tokens
   Centralized color, typography, spacing and 
   transition variables for consistent reuse.
   ============================================ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;550;600;700;800&display=swap&preconnect');

:root {
  /* ── Brand Colors ── */
  --color-primary: #0f766e;           /* Teal — main brand accent */
  --color-primary-hover: #0d5a54;     /* Darker teal for hover states */
  --color-primary-light: #14b8a6;     /* Lighter teal for highlights */
  --color-primary-gradient: linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);

  /* ── Neutral / Background ── */
  --color-bg: #ffffff;                /* Page background */
  --color-bg-subtle: #f3f4f6;        /* Slightly shaded background */
  --color-bg-hover: #e5e7eb;         /* Hover state background */
  --color-surface: rgba(255, 255, 255, 0.92);  /* Glassmorphism surfaces */
  --color-surface-solid: rgba(255, 255, 255, 0.97); /* Solid surface on scroll */

  /* ── Text Colors ──
     Contrast ratios on white (#fff):
     --color-text:           #111827 → 17.4:1  (AAA large + normal)
     --color-text-secondary: #4b5563 → 7.5:1   (AAA large, AA normal)
     --color-text-muted:     #6b7280 → 5.0:1   (AA normal, AAA large)
     --color-primary:        #0f766e → 4.7:1   (AA large text, AA normal ≥18px)
  */
  --color-text: #111827;              /* Primary body text */
  --color-text-secondary: #374151;    /* Secondary / nav links */
  --color-text-muted: #4b5563;        /* Muted labels, captions */

  /* ── Border & Dividers ── */
  --color-border: #e5e7eb;            /* Default border */
  --color-border-hover: #d1d5db;      /* Border on hover */
  --color-border-subtle: rgba(0, 0, 0, 0.06); /* Very subtle dividers */

  /* ── Overlay ── */
  --color-overlay: rgba(15, 15, 30, 0.5);

  /* ── Shadows ── */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
  --shadow-primary: 0 4px 16px rgba(15, 118, 110, 0.25);

  /* ── Typography ── */
  --font-family: 'Inter', 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;

  /* ── Layout ── */
  --max-width: 1280px;
  --header-height: 72px;

  /* ── Transitions ── */
  --ease-fast: 200ms cubic-bezier(0.4, 0, 0.2, 1);
  --ease-medium: 350ms cubic-bezier(0.4, 0, 0.2, 1);
  --ease-smooth: 400ms cubic-bezier(0.16, 1, 0.3, 1);
}

/* ── Global Reset: No border-radius ── */
* {
  border-radius: 0 !important;
}

/* ── Global Base Typography ── */
html {
  font-family: var(--font-family);
  font-size: 16px;
  line-height: 1.5;
}

/* ── Remove underline from all links ── */
a {
  text-decoration: none;
}

body {
  margin: 0;
  padding: 0;
}

/* ── Prevent Layout Shifts (CLS) ── */
/* Reserve space for images to prevent CLS */
img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Ensure footer has consistent minimum height */
footer {
  min-height: 280px; /* Reserve space to prevent layout shift */
}

/* Ensure header has consistent height */
header {
  height: var(--header-height);
}

/* Prevent layout shift from dynamic content */
.hero-container,
.footer-container {
  contain-intrinsic-size: 0 400px;
}

/* ── Global Scrollbar (All Pages) ── */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgba(15, 118, 110, 0.2);
  border-radius: 10px;
  transition: background 0.3s;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(15, 118, 110, 0.5);
}

* {
  scrollbar-width: thin;
  scrollbar-color: rgba(15, 118, 110, 0.2) transparent;
}
