/* ==========================================================================
   Design Tokens
   ========================================================================== */

:root {
  /* --------------------------------------------------------------------------
     Colors
     -------------------------------------------------------------------------- */

  --color-background-ivory: #F6F1E8;
  --color-background-gallery: #F6F1E8;
  --color-white: #ffffff;
  --atypik-forest: #1F4D3A;
  --atypik-terracotta: #A94A2C;
  --atypik-sand: #D8C3A5;
  --atypik-sage: #A8B5A2;
  --atypik-cream: #F6F1E8;
  --atypik-ink: #2E2E2E;

  --color-text-primary: #2E2E2E;
  --color-text-secondary: #5A625D;
  --color-background: #F6F1E8;
  --color-surface: #FFFFFF;
  --color-surface-raised: #F1E9DC;
  --color-border: #D7DCCE;
  --color-accent: #1F4D3A;
  --color-accent-deep: #1F4D3A;
  --color-accent-dark: #163928;
  --color-on-accent: #FFFFFF;
  --transition-fast: 180ms ease;

  --color-focus: #1F4D3A;

  --color-success: #15803d;
  --color-error: #b91c1c;
  --color-warning: #b45309;
  --color-info: #1d4ed8;


  /* --------------------------------------------------------------------------
     Typography
     -------------------------------------------------------------------------- */

  --font-heading: "Manrope", Arial, sans-serif;
  --font-body: "Manrope", Arial, sans-serif;

  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;

  --font-size-display: clamp(3.5rem, 2.5rem + 4vw, 6.5rem);
  --font-size-h1: clamp(3rem, 2.25rem + 3vw, 5.25rem);
  --font-size-h2: clamp(2.25rem, 1.75rem + 2vw, 3.75rem);
  --font-size-h3: clamp(1.5rem, 1.35rem + 0.6vw, 1.875rem);
  --font-size-body: clamp(1rem, 0.95rem + 0.2vw, 1.125rem);

  --line-height-display: 0.95;
  --line-height-h1: 1;
  --line-height-h2: 1.05;
  --line-height-h3: 1.2;
  --line-height-body: 1.6;


  /* --------------------------------------------------------------------------
     Spacing
     -------------------------------------------------------------------------- */

  --space-20: 1.25rem;
  --space-25: 1.5625rem;
  --space-30: 1.875rem;
  --space-35: 2.1875rem;
  --space-40: 2.5rem;
  --space-50: 3.125rem;
  --space-60: 3.75rem;
  --space-70: 4.375rem;
  --space-80: 5rem;
  --space-100: 6.25rem;


  /* --------------------------------------------------------------------------
     Layout
     -------------------------------------------------------------------------- */

  --container-contained: 75rem; /* 1200px */
  --container-wide: 90rem;      /* 1440px */

  --container-gutter: clamp(1.25rem, 0.5rem + 2vw, 4rem);


  /* --------------------------------------------------------------------------
     Border radius
     -------------------------------------------------------------------------- */

  --radius-none: 0;
  --radius-small: 0.5rem;
  --radius-medium: 0.75rem;
  --radius-large: 1rem;
  --radius-xl: 2rem;
  --radius-pill: 999px;


  /* --------------------------------------------------------------------------
     Shadows
     -------------------------------------------------------------------------- */

  --shadow-subtle: 0 4px 16px rgb(17 17 17 / 0.06);
  --shadow-medium: 0 8px 28px rgb(17 17 17 / 0.1);
  --shadow-strong: 0 16px 48px rgb(17 17 17 / 0.14);
}

/* ==========================================================================
   Section spacing
   ========================================================================== */

:root {
  --section-space-20: 1rem;
  --section-space-25: 1.125rem;
  --section-space-30: 1.25rem;
  --section-space-35: 1.375rem;
  --section-space-40: 1.5rem;
  --section-space-50: 1.875rem;
  --section-space-60: 2.25rem;
  --section-space-70: 2.625rem;
  --section-space-80: 3rem;
  --section-space-100: 3.75rem;
}

/* Tablet - 768px+ */
@media (min-width: 48rem) {
  :root {
    --section-space-20: 1.125rem;
    --section-space-25: 1.375rem;
    --section-space-30: 1.625rem;
    --section-space-35: 1.875rem;
    --section-space-40: 2.125rem;
    --section-space-50: 2.5rem;
    --section-space-60: 3rem;
    --section-space-70: 3.5rem;
    --section-space-80: 4rem;
    --section-space-100: 4.75rem;
  }
}

/* Desktop - 1024px+ */
@media (min-width: 64rem) {
  :root {
    --section-space-20: 1.25rem;
    --section-space-25: 1.5625rem;
    --section-space-30: 1.875rem;
    --section-space-35: 2.1875rem;
    --section-space-40: 2.5rem;
    --section-space-50: 3.125rem;
    --section-space-60: 3.75rem;
    --section-space-70: 4.375rem;
    --section-space-80: 5rem;
    --section-space-100: 6.25rem;
  }
}

/* ==========================================================================
   Section min heights
   ========================================================================== */

:root {
  --section-min-height-300: 18.75rem;
  --section-min-height-400: 25rem;
  --section-min-height-480: 30rem;
  --section-min-height-560: 35rem;
  --section-min-height-640: 40rem;
  --section-min-height-720: 45rem;
  --section-min-height-screen: 100svh;
}

/* ==========================================================================
   Borders
   ========================================================================== */

:root {
  --border-width-1: 1px;
  --border-width-2: 2px;
  --border-width-3: 3px;
  --border-width-4: 4px;
  --border-width-5: 5px;
}
