/* ==========================================================================
   Typography Fonts: ES Allianz (as used in 11x.ai)
   ========================================================================== */
@font-face {
  font-family: 'ES Allianz';
  src: url('../assets/fonts/ESAllianz-Light.woff2') format('woff2'),
       url('https://cdn.prod.website-files.com/66fe5a1a88c73ef8f270d312/6a1fe56ff623dc7ff0cb4b9f_ESAllianz-Light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'ES Allianz';
  src: url('../assets/fonts/ESAllianz-Regular.woff2') format('woff2'),
       url('https://cdn.prod.website-files.com/66fe5a1a88c73ef8f270d312/6734c0f14668568c5c3decc7_esallianz-regular-webfont.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'ES Allianz';
  src: url('../assets/fonts/ESAllianz-Medium.woff2') format('woff2'),
       url('https://cdn.prod.website-files.com/66fe5a1a88c73ef8f270d312/6734c0f19e3d8a75690f6f17_esallianz-medium-webfont.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'ES Allianz';
  src: url('../assets/fonts/ESAllianz-Bold.woff2') format('woff2'),
       url('https://cdn.prod.website-files.com/66fe5a1a88c73ef8f270d312/6a1fe56f13b79ba948eeaf03_ESAllianz-Bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

:root {
  /* Colors - Modern High-Contrast Palette: Brand Blue #17145C & Accent #6ED04A */
  --color-canopy-green: #17145C;
  --color-canopy-green-dark: #0f0c3c;
  --color-coral-pulse: #6ED04A;
  --color-coral-pulse-hover: #5dbf3b;
  --color-indigo-bloom: #17145C;
  --color-leaf-bright: #6ED04A;
  --color-deep-teal: #17145C;
  --color-orchid-tint: #f3b3fe;
  --color-sky-signal: #00b4dc;
  --color-aubergine: #47264c;
  --color-ink-black: #09090b;
  --color-paper-white: #ffffff;
  --color-ash: #a6a6a6;
  --color-slate: #6b7280;
  --color-graphite: #374151;
  --color-charcoal: #1f2937;
  --color-frost-gray: #e5e7eb;
  --color-cloud-gray: #f3f4f6;
  --color-lavender-mist: #e8ecf8;
  --color-mint-wash: #e8ecf8;
  --color-sky-wash: #ccf0f8;
  --color-sage-wash: #e8f5e5;
  --color-lilac-wash: #f0eef8;
  --color-peach-wash: #ffede8;
  --color-cream: #faf7e8;
  --color-sand: #f4ece9;

  /* Typography - 11x.ai Modern AI Aesthetic */
  --font-heading: 'ES Allianz', 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-body: 'ES Allianz', 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-dm-sans: 'ES Allianz', 'DM Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

  /* Typography Scale - High Impact Display & Heading Scale */
  --text-caption: 12px;
  --leading-caption: 1.25;
  --text-body-sm: 14px;
  --leading-body-sm: 1.4;
  --text-body: 16px;
  --leading-body: 1.5;
  --text-body-lg: 18px;
  --leading-body-lg: 1.45;
  --text-subheading: 20px;
  --leading-subheading: 1.35;
  --text-heading-sm: 24px;
  --leading-heading-sm: 1.25;
  --tracking-heading-sm: -0.015em;
  --text-heading: clamp(28px, 3.2vw, 38px);
  --leading-heading: 1.12;
  --tracking-heading: -0.025em;
  --text-heading-lg: clamp(34px, 4.6vw, 56px);
  --leading-heading-lg: 1.06;
  --tracking-heading-lg: -0.03em;
  --text-display: clamp(44px, 6vw, 76px);
  --leading-display: 1.0;
  --tracking-display: -0.035em;
  --text-display-xl: clamp(52px, 7.5vw, 100px);
  --leading-display-xl: 0.96;
  --tracking-display-xl: -0.04em;
  --text-display-giant: clamp(64px, 9vw, 128px);
  --leading-display-giant: 0.94;
  --tracking-display-giant: -0.045em;

  /* Font Weights */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  /* Spacing */
  --spacing-4: 4px;
  --spacing-8: 8px;
  --spacing-12: 12px;
  --spacing-16: 16px;
  --spacing-20: 20px;
  --spacing-24: 24px;
  --spacing-32: 32px;
  --spacing-40: 40px;
  --spacing-48: 48px;
  --spacing-56: 56px;
  --spacing-64: 64px;
  --spacing-80: 80px;
  --spacing-100: 100px;
  --spacing-120: 120px;

  /* Layout */
  --page-max-width: 1280px;
  --section-gap: 80px;

  /* Radii */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 18px;
  --radius-2xl: 24px;
  --radius-3xl: 32px;
  --radius-pill: 9999px;

  /* Shadows */
  --shadow-subtle: 0 4px 20px rgba(0, 0, 0, 0.04);
  --shadow-card: 0 12px 30px rgba(0, 0, 0, 0.06);
  --shadow-floating: 0 20px 48px rgba(23, 20, 92, 0.22);
  --shadow-glow-leaf: 0 0 24px rgba(110, 208, 74, 0.4);

  /* Motion & Animation Tokens */
  --duration-instant: 100ms;
  --duration-fast: 180ms;
  --duration-normal: 280ms;
  --duration-smooth: 450ms;
  --duration-deliberate: 650ms;

  --ease-out-smooth: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-smooth: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.15);

  --transition-fast: var(--duration-fast) var(--ease-out-smooth);
  --transition-normal: var(--duration-normal) var(--ease-out-smooth);
  --transition-smooth: var(--duration-smooth) var(--ease-out-smooth);
  --transition-spring: var(--duration-smooth) var(--ease-spring);
}

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

html {
  scroll-behavior: smooth;
  font-family: var(--font-dm-sans);
  background-color: var(--color-lavender-mist);
  color: var(--color-ink-black);
}

body {
  margin: 0;
  padding: 0;
  line-height: var(--leading-body);
  font-size: var(--text-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: clip;
}

a {
  text-decoration: none;
  color: inherit;
}

button {
  font-family: inherit;
  cursor: pointer;
  border: none;
  outline: none;
  background: none;
}

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

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  letter-spacing: -0.025em;
}
