:root {
  --min-screen-width: 320px;
  --max-screen-width: 1400px;
  --primary: #178BB7;
  --primary-5: #178bb70d;
  --primary-10: #178bb71a;
  --primary-20: #178bb733;
  --primary-30: #178bb74d;
  --primary-40: #178bb766;
  --primary-50: #178bb780;
  --primary-60: #178bb799;
  --primary-70: #178bb7b3;
  --primary-80: #178bb7cc;
  --primary-90: #178bb7e6;
  --primary-d-1: #1d6e90;
  --primary-d-2: #1d5068;
  --primary-d-3: #1a3847;
  --primary-d-4: #131f26;
  --primary-l-1: #5da3c6;
  --primary-l-2: #87b8d4;
  --primary-l-3: #b1cfe2;
  --primary-l-4: #dae8f1;
  --secondary: #2EA14C;
  --secondary-5: #2ea14c0d;
  --secondary-10: #2ea14c1a;
  --secondary-20: #2ea14c33;
  --secondary-30: #2ea14c4d;
  --secondary-40: #2ea14c66;
  --secondary-50: #2ea14c80;
  --secondary-60: #2ea14c99;
  --secondary-70: #2ea14cb3;
  --secondary-80: #2ea14ccc;
  --secondary-90: #2ea14ce6;
  --secondary-d-1: #2a7e3e;
  --secondary-d-2: #235c2f;
  --secondary-d-3: #1c3f22;
  --secondary-d-4: #142416;
  --secondary-l-1: #5fb46c;
  --secondary-l-2: #8ac790;
  --secondary-l-3: #b3dbb6;
  --secondary-l-4: #d9edda;
  --tertiary: #F59E0B;
  --tertiary-5: #f59e0b0d;
  --tertiary-10: #f59e0b1a;
  --tertiary-20: #f59e0b33;
  --tertiary-30: #f59e0b4d;
  --tertiary-40: #f59e0b66;
  --tertiary-50: #f59e0b80;
  --tertiary-60: #f59e0b99;
  --tertiary-70: #f59e0bb3;
  --tertiary-80: #f59e0bcc;
  --tertiary-90: #f59e0be6;
  --tertiary-d-1: #bd7c14;
  --tertiary-d-2: #8d5e16;
  --tertiary-d-3: #5d3e14;
  --tertiary-d-4: #2f210e;
  --tertiary-l-1: #fbb150;
  --tertiary-l-2: #ffc37a;
  --tertiary-l-3: #ffd8a8;
  --tertiary-l-4: #ffead1;
  --bg-body: #F7F9FB;
  --bg-surface: #ffffff;
  --text-body: #111111;
  --text-muted: #4A4A4A;
  --text-inverse: #ffffff;
  --border-primary: hsla(0, 0%, 50%, 0.25);
  --shadow-primary: hsla(0, 0%, 0%, 0.15);
  --light: hsla(85, 0%, 100%, 1);
  --light-5: hsla(0, 0%, 100%, 0.05);
  --light-10: hsla(0, 0%, 100%, 0.1);
  --light-20: hsla(0, 0%, 100%, 0.2);
  --light-30: hsla(0, 0%, 100%, 0.3);
  --light-40: hsla(0, 0%, 100%, 0.4);
  --light-50: hsla(0, 0%, 100%, 0.5);
  --light-60: hsla(0, 0%, 100%, 0.6);
  --light-70: hsla(0, 0%, 100%, 0.7);
  --light-80: hsla(0, 0%, 100%, 0.8);
  --light-90: hsla(0, 0%, 100%, 0.9);
  --dark: hsla(0, 0%, 0%, 1);
  --dark-5: hsla(0, 0%, 0%, 0.05);
  --dark-10: hsla(0, 0%, 0%, 0.1);
  --dark-20: hsla(0, 0%, 0%, 0.2);
  --dark-30: hsla(0, 0%, 0%, 0.3);
  --dark-40: hsla(0, 0%, 0%, 0.4);
  --dark-50: hsla(0, 0%, 0%, 0.5);
  --dark-60: hsla(0, 0%, 0%, 0.6);
  --dark-70: hsla(0, 0%, 0%, 0.7);
  --dark-80: hsla(0, 0%, 0%, 0.8);
  --dark-90: hsla(0, 0%, 0%, 0.9);
  --dark-l-1: hsla(0, 0%, 12%, 1);
  --dark-l-2: hsla(0, 0%, 21%, 1);
  --dark-l-3: hsla(0, 0%, 31%, 1);
  --dark-l-4: hsla(0, 0%, 41%, 1);
  --dark-l-5: hsla(0, 0%, 52%, 1);
  --dark-l-6: hsla(0, 0%, 64%, 1);
  --dark-l-7: hsla(0, 0%, 75%, 1);
  --dark-l-8: hsla(0, 0%, 88%, 1);
  --success: hsla(136, 95%, 56%, 1);
  --success-5: hsla(136, 95%, 56%, 0.05);
  --success-10: hsla(136, 95%, 56%, 0.1);
  --success-20: hsla(136, 95%, 56%, 0.2);
  --success-30: hsla(136, 95%, 56%, 0.3);
  --success-40: hsla(136, 95%, 56%, 0.4);
  --success-50: hsla(136, 95%, 56%, 0.5);
  --success-60: hsla(136, 95%, 56%, 0.6);
  --success-70: hsla(136, 95%, 56%, 0.7);
  --success-80: hsla(136, 95%, 56%, 0.8);
  --success-90: hsla(136, 95%, 56%, 0.9);
  --error: hsla(351, 95%, 56%, 1);
  --error-5: hsla(351, 95%, 56%, 0.05);
  --error-10: hsla(351, 95%, 56%, 0.1);
  --error-20: hsla(351, 95%, 56%, 0.2);
  --error-30: hsla(351, 95%, 56%, 0.3);
  --error-40: hsla(351, 95%, 56%, 0.4);
  --error-50: hsla(351, 95%, 56%, 0.5);
  --error-60: hsla(351, 95%, 56%, 0.6);
  --error-70: hsla(351, 95%, 56%, 0.7);
  --error-80: hsla(351, 95%, 56%, 0.8);
  --error-90: hsla(351, 95%, 56%, 0.9);
  --space-4xs: clamp(0.18rem, calc(0.2vw + 0.14rem), 0.31rem);
  --space-3xs: clamp(0.25rem, calc(0.28vw + 0.19rem), 0.44rem);
  --space-2xs: clamp(0.35rem, calc(0.39vw + 0.28rem), 0.62rem);
  --space-xs: clamp(0.5rem, calc(0.56vw + 0.39rem), 0.88rem);
  --space-s: clamp(0.71rem, calc(0.79vw + 0.55rem), 1.24rem);
  --space-m: clamp(1rem, calc(1.11vw + 0.78rem), 1.75rem);
  --space-l: clamp(1.41rem, calc(1.57vw + 1.1rem), 2.47rem);
  --space-xl: clamp(2rem, calc(2.22vw + 1.55rem), 3.5rem);
  --space-2xl: clamp(2.83rem, calc(3.14vw + 2.2rem), 4.95rem);
  --space-3xl: clamp(4rem, calc(4.44vw + 3.11rem), 7rem);
  --space-4xl: clamp(5.65rem, calc(6.28vw + 4.4rem), 9.89rem);
  --space-5xl: clamp(7.99rem, calc(8.88vw + 6.22rem), 13.99rem);
  --space-6xl: clamp(11.3rem, calc(12.56vw + 8.79rem), 19.78rem);
  --text-xs: clamp(0.69rem, calc(0.08vw + 0.67rem), 0.75rem);
  --text-s: clamp(0.82rem, calc(0.14vw + 0.79rem), 0.94rem);
  --text-m: clamp(1rem, calc(0.19vw + 0.96rem), 1.13rem);
  --text-l: clamp(1.13rem, calc(0.55vw + 1.01rem), 1.5rem);
  --text-xl: clamp(1.27rem, calc(1.09vw + 1.05rem), 2rem);
  --text-2xl: clamp(1.42rem, calc(1.84vw + 1.06rem), 2.66rem);
  --text-3xl: clamp(1.6rem, calc(2.89vw + 1.02rem), 3.55rem);
  --text-4xl: clamp(1.8rem, calc(4.34vw + 0.93rem), 4.74rem);
  --text-5xl: clamp(2.03rem, calc(6.35vw + 0.76rem), 6.31rem);
  --hero-title-size: var(--text-5xl);
  --post-title-size: var(--text-2xl);
  --nav-link-size: var(--text-s);
  --header-space: var(--space-s);
  --btn-space: var(--space-xs) var(--space-s);
  --card-space: var(--space-s);
  --footer-space: var(--space-s) var(--space-m);
  --columns-1: repeat(1, minmax(0, 1fr));
  --columns-2: repeat(2, minmax(0, 1fr));
  --columns-3: repeat(3, minmax(0, 1fr));
  --columns-4: repeat(4, minmax(0, 1fr));
  --columns-5: repeat(5, minmax(0, 1fr));
  --columns-6: repeat(6, minmax(0, 1fr));
  --columns-7: repeat(7, minmax(0, 1fr));
  --columns-8: repeat(8, minmax(0, 1fr));
  --radius-xs: clamp(0.25rem, calc(0vw + 0.25rem), 0.25rem);
  --radius-s: clamp(0.38rem, calc(-0.19vw + 0.54rem), 0.5rem);
  --radius-m: clamp(0.63rem, calc(-0.19vw + 0.79rem), 0.75rem);
  --radius-l: clamp(1rem, calc(-0.37vw + 1.32rem), 1.25rem);
  --radius-xl: clamp(1.63rem, calc(-0.56vw + 2.11rem), 2rem);
  --radius-full: 999rem;
  --shadow-xs: 0 1px 2px var(--shadow-primary);
  --shadow-s: 0 1.5px 3px var(--shadow-primary);
  --shadow-m: 0 2px 6px var(--shadow-primary);
  --shadow-l: 0 3px 12px var(--shadow-primary);
  --shadow-xl: 0 6px 48px var(--shadow-primary);

  /* ── Transitions ──────────────────────────────────────────────────────────── */
  --transition-fast: 0.15s ease;
  --transition-base: 0.25s ease;
  --transition-slow: 0.4s ease;
}