:root {
  --icari-green-950: #00221A;
  --icari-green-900: #00362B;
  --icari-green-700: #006450;
  --icari-green-500: #008D70;
  --icari-brown-600: #7d5a3f;
  --icari-brown-400: #a47d58;
  --icari-accent: #E25E3E;
  --icari-accent-hover: #c94c30;
  --icari-cream-100: #f6f0e2;
  --icari-cream-200: #eadfc9;
  --icari-cream-300: #d6c7ab;
  --icari-ink: #1f2e23;
  --icari-muted: #4a5f52;
  --shadow-soft: 0 20px 45px rgba(0, 34, 26, 0.15);
  --radius-lg: 24px;
  --radius-md: 14px;
  --icari-content-width: min(1120px, calc(100% - 3rem));
  --icari-wide-content-width: min(1360px, calc(100% - 4rem));
  --icari-prose-width: 74ch;
  --icari-card-bg: #ffffff;
  --icari-card-border: 1px solid rgba(125, 90, 63, 0.15);
  --icari-card-border-green: 1px solid rgba(0, 34, 26, 0.13);
  --icari-card-shadow: var(--shadow-soft);
  --icari-card-radius: var(--radius-lg);
  --icari-card-radius-compact: var(--radius-md);
}

.has-white-color {
  color: #ffffff !important;
}

.has-white-background-color {
  background-color: #ffffff !important;
}

.has-source-serif-4-font-family {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif !important;
}

.has-outfit-font-family {
  font-family: "Outfit", Arial, sans-serif !important;
}

.has-classic-serif-font-family {
  font-family: Georgia, "Times New Roman", serif !important;
}

.has-system-sans-font-family {
  font-family: Arial, Helvetica, sans-serif !important;
}

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

html,
body {
  margin: 0;
  padding: 0;
}

body {
  font-family: "Source Serif 4", Georgia, "Times New Roman", serif;
  background: #FCEBD9;
  color: var(--icari-ink);
  line-height: 1.65;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
}

a {
  color: var(--icari-green-700);
  text-decoration-thickness: 2px;
}

a:hover,
a:focus {
  color: var(--icari-green-900);
}

.wrap {
  width: var(--icari-content-width);
  margin: 0 auto;
}
