/*
  SEED: 743821

  A — Layout:      digit 1 → Magazine chaos grid (12-col asymmetric, sections never align to same column)
  B — Color:       digit 2 → Mid-tone slate (#2a3240) base, sky blue + white type
  C — Typography:  digit 8 → DM Serif Display (display) + Space Grotesk (body)
  D — Visual lang: digit 3 → Noise grain texture (SVG feTurbulence filter over all backgrounds)
  E — Navigation:  digit 4 → Hidden until hover (nav appears on mouse move to top edge)
  F — Tone:        digit 7 → Future-forward (systems-thinking, visionary, minimal)

  These choices were determined by the seed and must not be changed
  for reasons of "appropriateness" or "better fit for the content".
  Tension between content and form is intentional.
*/

/*
  BRAND ARCHETYPE:    Innovator
  LAYOUT PARADIGM:    12-column asymmetric magazine chaos grid; editorial Z-pattern reading flow
  SECTION ORDER:      Hero → Stats → Problem → Solutions (×5) → Takeaways → FAQ → CTA → Footer
  DISPLAY FONT:       DM Serif Display — https://fonts.google.com/specimen/DM+Serif+Display
  BODY FONT:          Space Grotesk — https://fonts.google.com/specimen/Space+Grotesk
  PRIMARY COLOR:      #5badde (sky blue — clinical precision against slate, WCAG AA compliant)
  SHAPE LANGUAGE:     Sharp / rectangular — no border-radius on structural elements, hard cuts, ruled lines
  SIGNATURE MOMENT:   Giant background numerals (01–05) at 28vw opacity 0.05 behind each Motivo block
  TONE OF VOICE:      Precise, visionary, declarative
*/

@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Space+Grotesk:wght@300;400;500;600;700&display=swap');

:root {
  /* ─── Brand Colors ─────────────────────────────── */
  --brand-primary:    #5badde;   /* Sky blue — clinical precision */
  --brand-secondary:  #f0f4f8;   /* Near-white — primary text on dark */
  --brand-accent:     #7fd4f7;   /* Brighter sky for CTAs, active states */

  /* ─── Surfaces ─────────────────────────────────── */
  --surface-base:     #2a3240;   /* Mid-tone slate — page background */
  --surface-raised:   #323d4f;   /* Cards, panels — visually distinct */
  --surface-elevated: #3a4560;   /* Higher elevation elements */
  --surface-inverse:  #1b2333;   /* Dark — footer, CTA section */
  --surface-brand:    #1d3a52;   /* Brand-primary tinted section bg */

  /* ─── Text ─────────────────────────────────────── */
  --text-primary:   #f0f4f8;    /* High contrast on slate surfaces */
  --text-secondary: #8fa8c0;    /* Subdued — captions, meta, labels */
  --text-accent:    #5badde;    /* Sky blue text — highlights, links */
  --text-inverse:   #1b2333;    /* For use on light sections */

  /* ─── Borders ───────────────────────────────────── */
  --border-subtle:  rgba(255, 255, 255, 0.07);
  --border-medium:  rgba(255, 255, 255, 0.14);
  --border-strong:  rgba(91, 173, 222, 0.35);

  /* ─── Typography ────────────────────────────────── */
  --font-display: 'DM Serif Display', 'Georgia', serif;
  --font-body:    'Space Grotesk', 'system-ui', sans-serif;

  /* ─── Fluid Type Scale ──────────────────────────── */
  --text-hero:  clamp(3.25rem, 9vw,   8.5rem);
  --text-h1:    clamp(2.25rem, 5.5vw, 4.5rem);
  --text-h2:    clamp(1.625rem, 3.5vw, 2.75rem);
  --text-h3:    clamp(1.125rem, 2vw,   1.625rem);
  --text-body:  clamp(0.9375rem, 1.3vw, 1.0625rem);
  --text-sm:    clamp(0.75rem,  0.9vw,  0.875rem);
  --text-xs:    clamp(0.625rem, 0.75vw, 0.75rem);

  /* ─── Spacing Scale ─────────────────────────────── */
  --space-1:  0.25rem;
  --space-2:  0.5rem;
  --space-3:  0.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-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  /* ─── Section Spacing ───────────────────────────── */
  --section-py: clamp(4rem, 8vw, 8rem);
  --section-px: clamp(1.25rem, 5vw, 3rem);

  /* ─── Layout ────────────────────────────────────── */
  --grid-cols:    12;
  --grid-gap:     clamp(1rem, 2.5vw, 2rem);
  --container:    1360px;
  --container-sm: 800px;

  /* ─── Radius — Sharp language, minimal rounding ── */
  --radius-sm:  2px;
  --radius-md:  4px;
  --radius-lg:  6px;

  /* ─── Shadows ────────────────────────────────────── */
  --shadow-sm:  0 1px 3px rgba(0, 0, 0, 0.3), 0 1px 2px rgba(0, 0, 0, 0.2);
  --shadow-md:  0 4px 12px rgba(0, 0, 0, 0.35);
  --shadow-lg:  0 16px 48px rgba(0, 0, 0, 0.4);
  --shadow-brand: 0 8px 32px rgba(91, 173, 222, 0.25);

  /* ─── Motion ─────────────────────────────────────── */
  --ease-out:     cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out:  cubic-bezier(0.65, 0, 0.35, 1);
  --ease-spring:  cubic-bezier(0.34, 1.56, 0.64, 1);
  --duration-fast:   150ms;
  --duration-base:   250ms;
  --duration-slow:   450ms;
  --duration-reveal: 700ms;

  /* ─── Z-index Stack ──────────────────────────────── */
  --z-base:    0;
  --z-raised:  10;
  --z-nav:     100;
  --z-overlay: 200;
  --z-grain:   999;
}

/* ─── Global Reset ────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  font-size: var(--text-body);
  line-height: 1.65;
  color: var(--text-primary);
  background-color: var(--surface-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  position: relative;
}

/* ─── Grain Texture Overlay ──────────────────────── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: var(--z-grain);
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='1'/%3E%3C/svg%3E");
  background-repeat: repeat;
  background-size: 180px 180px;
  opacity: 0.028;
  mix-blend-mode: overlay;
}

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

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

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