/* Grabs the Deal — design tokens, reset, base */
:root {
  --color-primary: #5B21B6;
  --color-primary-dark: #241044;
  --color-primary-deep: #170a2e;
  --color-primary-light: #7C3AED;
  --color-primary-tint: #F1EAFE;
  --color-accent: #F97316;
  --color-accent-dark: #C2410C;
  --color-accent-tint: #FFF1E6;
  --color-on-accent: #2A1306;       /* dark text on orange: 7.6:1 contrast */

  --color-bg: #FFFFFF;
  --color-bg-soft: #F7F5FC;
  --color-text: #171322;
  --color-text-muted: #5B5668;
  --color-border: #E7E3F1;
  --color-white: #FFFFFF;

  --color-success: #15803D;  --color-success-bg: #EAF7EE;
  --color-danger: #B91C1C;   --color-danger-bg: #FDECEC;
  --color-warning: #92400E;  --color-warning-bg: #FEF3C7;
  --color-info: #1D4ED8;     --color-info-bg: #E8F0FE;

  --space-1: .25rem; --space-2: .5rem; --space-3: .75rem; --space-4: 1rem; --space-5: 1.25rem;
  --space-6: 1.5rem; --space-8: 2rem; --space-10: 2.5rem; --space-12: 3rem; --space-16: 4rem; --space-24: 6rem;

  --radius-sm: 10px; --radius-md: 16px; --radius-lg: 24px; --radius-full: 999px;

  --shadow-sm: 0 1px 2px rgba(23,19,34,.06);
  --shadow-md: 0 6px 20px rgba(36,16,68,.10);
  --shadow-lg: 0 20px 48px rgba(36,16,68,.22);
  --shadow-accent: 0 10px 26px rgba(249,115,22,.28);

  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Noto Sans', 'Noto Sans Devanagari', sans-serif;
  --font-display: 'Plus Jakarta Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --fs-xs: clamp(.78rem, .76rem + .1vw, .85rem);
  --fs-sm: clamp(.88rem, .85rem + .15vw, .95rem);
  --fs-base: clamp(1rem, .97rem + .15vw, 1.05rem);
  --fs-md: clamp(1.1rem, 1.02rem + .3vw, 1.25rem);
  --fs-lg: clamp(1.3rem, 1.15rem + .6vw, 1.6rem);
  --fs-xl: clamp(1.7rem, 1.4rem + 1.2vw, 2.25rem);
  --fs-2xl: clamp(2.3rem, 1.6rem + 3vw, 3.9rem);

  --container-max: 1240px;
  --header-height: 72px;
  --ease-standard: cubic-bezier(.2,.8,.2,1);
  --duration-fast: 150ms; --duration-base: 220ms;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font-sans); font-size: var(--fs-base); color: var(--color-text); background: var(--color-bg); line-height: 1.6; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { font-family: var(--font-display); line-height: 1.2; letter-spacing: -.015em; margin: 0 0 var(--space-3); }
p { margin: 0 0 var(--space-4); }
img, svg { max-width: 100%; }
img { display: block; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
.container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--space-6); }
.container.narrow { max-width: 760px; }
.container.narrow-lg { max-width: 900px; }
:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 2px; border-radius: 6px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: var(--space-4); top: -60px; background: var(--color-primary); color: #fff; padding: .6rem 1rem; border-radius: var(--radius-sm); z-index: 200; font-weight: 600; }
.skip-link:focus { top: var(--space-3); }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
