/* Google Fonts is optional; Arial remains the declared fallback. */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("../fonts/dm-sans-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Manrope";
  font-style: normal;
  font-weight: 500 800;
  font-display: swap;
  src: url("../fonts/manrope-latin.woff2") format("woff2");
}

:root {
  --brand-primary: #2357f5;
  --brand-primary-dark: #1538b8;
  --brand-secondary: #16c7d9;
  --accent: #b9f45c;
  --background: #ffffff;
  --background-soft: #f4f7fb;
  --background-dark: #071a3d;
  --surface: #ffffff;
  --surface-dark: #0e2a59;
  --text-primary: #071a3d;
  --text-secondary: #425270;
  --text-inverse: #ffffff;
  --border: #dce4f0;
  --success: #16845b;
  --warning: #a96b00;
  --error: #c73e4d;
  --font-display: "Manrope", Arial, sans-serif;
  --font-body: "DM Sans", Arial, sans-serif;
  --fs-display: clamp(3.4rem, 7.4vw, 7rem);
  --fs-page: clamp(3rem, 6vw, 5.8rem);
  --fs-section: clamp(2.2rem, 4.8vw, 4.3rem);
  --fs-card: clamp(1.25rem, 2vw, 1.65rem);
  --fs-body-lg: clamp(1.08rem, 1.7vw, 1.28rem);
  --fs-body: 1rem;
  --fs-caption: 0.82rem;
  --lh-tight: 1.05;
  --lh-heading: 1.12;
  --lh-body: 1.7;
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.5rem;
  --space-4: 2rem;
  --space-5: 3rem;
  --space-6: 4.5rem;
  --space-7: 7rem;
  --container: 1180px;
  --article: 760px;
  --header-height: 82px;
  --radius-sm: 12px;
  --radius-md: 20px;
  --radius-lg: 32px;
  --shadow-sm: 0 12px 36px rgba(7, 26, 61, 0.08);
  --shadow-lg: 0 28px 80px rgba(7, 26, 61, 0.16);
  --transition: 240ms cubic-bezier(.2, .75, .25, 1);
  --z-menu: 90;
  --z-header: 100;
  --z-float: 80;
}
