/* Feat: Text, Headings, & Spacing */
:root {
  --root-font-size: 100%;
}

/* Feat: Palette */
:root {
  --primary: oklch(26.07470287% 0.0200705647 39.2362436982deg);
  --primary-hover: oklch(74.7% 0.02 39.2362436982deg);
  --primary-ultra-light: oklch(99.52928223% 0.003 39.271769562deg);
  --primary-light: oklch(74.99244851% 0.02 39.2362436982deg);
  --primary-semi-light: oklch(74.577082% 0.02 39.2362436982deg);
  --primary-semi-dark: oklch(33.33792431% 0.02 39.2362436982deg);
  --primary-dark: oklch(26.64158327% 0.02 39.2362436982deg);
  --primary-ultra-dark: oklch(19.84031962% 0.02 39.2362436982deg);
  --accent: oklch(74.99244851% 0.0315203096 62.4363136148deg);
  --accent-hover: oklch(74.7% 0.032 62.4363136148deg);
  --accent-ultra-light: oklch(96.81987048% 0.026 62.4363136148deg);
  --accent-light: oklch(89.45047545% 0.032 62.4363136148deg);
  --accent-semi-light: oklch(74.17953198% 0.032 62.4363136148deg);
  --accent-semi-dark: oklch(44.01441371% 0.032 62.4363136148deg);
  --accent-dark: oklch(35.73263474% 0.032 62.4363136148deg);
  --accent-ultra-dark: oklch(25.4580744% 0.032 62.4363136148deg);
  --base: oklch(34.09214965% 0.0254213317 41.5387686571deg);
  --base-hover: oklch(74.8% 0.025 41.5387686571deg);
  --base-ultra-light: oklch(99.52928223% 0.003 41.5387686571deg);
  --base-light: oklch(96.00895875% 0.025 41.5387686571deg);
  --base-semi-light: oklch(81.99343673% 0.025 41.5387686571deg);
  --base-semi-dark: oklch(48.73878558% 0.025 41.5387686571deg);
  --base-dark: oklch(23.11363567% 0.025 41.5387686571deg);
  --base-ultra-dark: oklch(19.04648334% 0.025 41.5387686571deg);
  --neutral: oklch(0% 0 0deg);
  --neutral-hover: oklch(0% 0 0deg);
  --neutral-ultra-light: oklch(95% 0 198.4349488229deg);
  --neutral-light: oklch(85% 0 164.0546040991deg);
  --neutral-semi-light: oklch(65% 0 180deg);
  --neutral-semi-dark: oklch(35% 0 180deg);
  --neutral-dark: oklch(25% 0 180deg);
  --neutral-ultra-dark: oklch(10% 0 180deg);
  --white: #fff;
  --black: #000;
  --danger: oklch(65% 0.2020259687 21.2387568442deg);
  --danger-hover: oklch(74.7% 0.196 21.2381193534deg);
  --danger-ultra-light: oklch(95% 0.032 21.2415626108deg);
  --danger-light: oklch(85% 0.106 21.2392884723deg);
  --danger-semi-light: oklch(65% 0.202 21.2387568442deg);
  --danger-semi-dark: oklch(35% 0.159 21.2387568442deg);
  --danger-dark: oklch(25% 0.113 21.2387568442deg);
  --danger-ultra-dark: oklch(10% 0.045 21.2387568442deg);
  --warning: oklch(65% 0.1535224979 84.8740162881deg);
  --warning-hover: oklch(74.8% 0.154 84.8740162881deg);
  --warning-ultra-light: oklch(95% 0.065 84.8923997049deg);
  --warning-light: oklch(85% 0.154 84.8740162881deg);
  --warning-semi-light: oklch(65% 0.154 84.8740162881deg);
  --warning-semi-dark: oklch(35% 0.083 84.8740162881deg);
  --warning-dark: oklch(25% 0.059 84.84008809deg);
  --warning-ultra-dark: oklch(10% 0.024 84.8740162881deg);
  --info: oklch(65% 0.1102641683 212.2040007508deg);
  --info-hover: oklch(74.8% 0.11 212.2040007508deg);
  --info-ultra-light: oklch(95% 0.045 212.1981283469deg);
  --info-light: oklch(85% 0.11 212.2040007508deg);
  --info-semi-light: oklch(65% 0.11 212.2040007508deg);
  --info-semi-dark: oklch(35% 0.081 212.2040007508deg);
  --info-dark: oklch(25% 0.058 212.217980851deg);
  --info-ultra-dark: oklch(10% 0.023 212.2040007508deg);
  --success: oklch(65% 0.1747959425 146.6613028096deg);
  --success-hover: oklch(74.8% 0.175 146.6613028096deg);
  --success-ultra-light: oklch(95% 0.096 146.6613028096deg);
  --success-light: oklch(85% 0.175 146.6613028096deg);
  --success-semi-light: oklch(65% 0.175 146.6613028096deg);
  --success-semi-dark: oklch(35% 0.147 146.6574611602deg);
  --success-dark: oklch(25% 0.105 146.6613028096deg);
  --success-ultra-dark: oklch(10% 0.042 146.6613028096deg);
  --heading-color: var(--primary);
}

/* Feat: Default Section Styles */
:root {
  --content-width: 85.375rem;
  --content-width-safe: min(var(--content-width), calc(100% - var(--gutter) * 2));
}

/* Feat: Focus Styles */
:root {
  --focus-color: var(--primary);
  --focus-width: 2px;
  --focus-offset: 2px;
}

/* Feat: Text Defaults */
:root {
  --text-xxl-max-width: 100%;
  --text-xl-max-width: 100%;
  --text-l-max-width: 100%;
  --text-m-line-height: 1.65;
  --text-m-max-width: 100%;
  --text-s-max-width: 100%;
  --text-xs-max-width: 100%;
  --base-text-lh: 1.65;
  --text-font-family: "Body", Arial, sans-serif;
  --text-color: var(--text-dark);
  --text-line-height: 1.65;
  --text-font-weight: 400;
  --text-text-wrap: pretty;
}

/* Feat: Heading Defaults */
:root {
  --heading-font-family: "Heading", Georgia, serif;
  --heading-color: var(--primary);
  --heading-line-height: 1.15;
  --heading-font-weight: 500;
  --heading-letter-spacing: -0.015em;
  --heading-text-wrap: balance;
  --base-heading-lh: 1.15;
  --h1-max-width: 100%;
  --h4-line-height: 1.15;
}

/* Feat: Text Size Variables */
:root {
  --text-xs: clamp(0.8125rem, 0.0994035785vw + 0.7901341948rem, 0.875rem);
  --text-s: clamp(0.875rem, 0.0994035785vw + 0.8526341948rem, 0.9375rem);
  --text-m: clamp(1rem, 0.0994035785vw + 0.9776341948rem, 1.0625rem);
  --text-l: clamp(1.125rem, 0.2385685885vw + 1.0713220676rem, 1.275rem);
  --text-xl: clamp(1.265625rem, 0.4204771372vw + 1.1710176441rem, 1.53rem);
  --text-xxl: clamp(1.423828125rem, 0.6555417495vw + 1.2763312314rem, 1.836rem);
  --text-s-to-xs: clamp(0.8125rem, 0.1988071571vw + 0.7677683897rem, 0.9375rem);
  --text-m-to-s: clamp(0.875rem, 0.2982107356vw + 0.8079025845rem, 1.0625rem);
  --text-m-to-xs: clamp(0.8125rem, 0.3976143141vw + 0.7230367793rem, 1.0625rem);
  --text-l-to-m: clamp(1rem, 0.4373757455vw + 0.9015904573rem, 1.275rem);
  --text-l-to-s: clamp(0.875rem, 0.6361829026vw + 0.7318588469rem, 1.275rem);
  --text-l-to-xs: clamp(0.8125rem, 0.7355864811vw + 0.6469930417rem, 1.275rem);
  --text-xl-to-l: clamp(1.125rem, 0.6441351889vw + 0.9800695825rem, 1.53rem);
  --text-xl-to-m: clamp(1rem, 0.8429423459vw + 0.8103379722rem, 1.53rem);
  --text-xl-to-s: clamp(0.875rem, 1.041749503vw + 0.6406063618rem, 1.53rem);
  --text-xl-to-xs: clamp(0.8125rem, 1.1411530815vw + 0.5557405567rem, 1.53rem);
  --text-xxl-to-xl: clamp(1.265625rem, 0.9071570577vw + 1.061514662rem, 1.836rem);
  --text-xxl-to-l: clamp(1.125rem, 1.1308151093vw + 0.8705666004rem, 1.836rem);
  --text-xxl-to-m: clamp(1rem, 1.3296222664vw + 0.7008349901rem, 1.836rem);
  --text-xxl-to-s: clamp(0.875rem, 1.5284294235vw + 0.5311033797rem, 1.836rem);
  --text-xxl-to-xs: clamp(0.8125rem, 1.627833002vw + 0.4462375746rem, 1.836rem);
}

/* Feat: Heading Size Variables */
:root {
  --h6: clamp(0.8125rem, 0.0994035785vw + 0.7901341948rem, 0.875rem);
  --h5: clamp(0.875rem, 0.0994035785vw + 0.8526341948rem, 0.9375rem);
  --h4: clamp(1.25rem, 0.1988071571vw + 1.2052683897rem, 1.375rem);
  --h3: clamp(1.625rem, 0.6630218688vw + 1.4758200795rem, 2.041875rem);
  --h2: clamp(2.1125rem, 1.4627186879vw + 1.7833882952rem, 3.032184375rem);
  --h1: clamp(2.74625rem, 2.793707828vw + 2.1176657387rem, 4.5027937969rem);
  --h5-to-h6: clamp(0.8125rem, 0.1988071571vw + 0.7677683897rem, 0.9375rem);
  --h4-to-h5: clamp(0.875rem, 0.7952286282vw + 0.6960735586rem, 1.375rem);
  --h4-to-h6: clamp(0.8125rem, 0.8946322068vw + 0.6112077535rem, 1.375rem);
  --h3-to-h4: clamp(1.25rem, 1.25944334vw + 0.9666252485rem, 2.041875rem);
  --h3-to-h5: clamp(0.875rem, 1.8558648111vw + 0.4574304175rem, 2.041875rem);
  --h3-to-h6: clamp(0.8125rem, 1.9552683897vw + 0.3725646123rem, 2.041875rem);
  --h2-to-h3: clamp(1.625rem, 2.2380666004vw + 1.1214350149rem, 3.032184375rem);
  --h2-to-h4: clamp(1.25rem, 2.8344880716vw + 0.6122401839rem, 3.032184375rem);
  --h2-to-h5: clamp(0.875rem, 3.4309095427vw + 0.1030453529rem, 3.032184375rem);
  --h2-to-h6: clamp(0.8125rem, 3.5303131213vw + 0.0181795477rem, 3.032184375rem);
  --h1-to-h2: clamp(2.1125rem, 3.8016601143vw + 1.2571264743rem, 4.5027937969rem);
  --h1-to-h3: clamp(1.625rem, 4.5770080268vw + 0.595173194rem, 4.5027937969rem);
  --h1-to-h4: clamp(1.25rem, 5.173429498vw + 0.0859783629rem, 4.5027937969rem);
  --h1-to-h5: clamp(0.875rem, 5.7698509692vw + -0.4232164681rem, 4.5027937969rem);
  --h1-to-h6: clamp(0.8125rem, 5.8692545477vw + -0.5080822732rem, 4.5027937969rem);
}

/* Feat: Default Section Styles */
:root {
  --section-padding-block: var(--section-space-m);
  --gutter: clamp(1rem, 6.3618290258vw + -0.4314115308rem, 5rem);
}

/* Feat: Space Variables */
:root {
  --space-xs: clamp(0.8333333333rem, -0.0172384889vw + 0.8480506933rem, 0.8441720333rem);
  --space-s: clamp(1.1252813203rem, 0.1983597291vw + 1.0806503813rem, 1.25rem);
  --space-s-to-xs: clamp(0.8441720333rem, 0.6454520346vw + 0.6989453255rem, 1.25rem);
  --space-m: clamp(1.5rem, 0.5964214712vw + 1.365805169rem, 1.875rem);
  --space-m-to-s: clamp(1.1252813203rem, 1.1923955144vw + 0.8569923296rem, 1.875rem);
  --space-m-to-xs: clamp(0.8441720333rem, 1.6394878199vw + 0.4752872738rem, 1.875rem);
  --space-l: clamp(1.9995rem, 1.2930417495vw + 1.7085656064rem, 2.8125rem);
  --space-l-to-m: clamp(1.5rem, 2.0874751491vw + 1.0303180915rem, 2.8125rem);
  --space-l-to-s: clamp(1.1252813203rem, 2.6834491923vw + 0.5215052521rem, 2.8125rem);
  --space-l-to-xs: clamp(0.8441720333rem, 3.1305414978vw + 0.1398001963rem, 2.8125rem);
  --space-xl: clamp(2.6653335rem, 2.4706425447vw + 2.1094389274rem, 4.21875rem);
  --space-xl-to-l: clamp(1.9995rem, 3.5296222664vw + 1.2053349901rem, 4.21875rem);
  --space-xl-to-m: clamp(1.5rem, 4.324055666vw + 0.5270874751rem, 4.21875rem);
  --space-xl-to-s: clamp(1.1252813203rem, 4.9200297092vw + 0.0182746358rem, 4.21875rem);
  --space-xl-to-xs: clamp(0.8441720333rem, 5.3671220147vw + -0.3634304201rem, 4.21875rem);
  --space-xxl: clamp(3.5528895555rem, 4.4138933511vw + 2.5597635515rem, 6.328125rem);
  --space-xxl-to-xl: clamp(2.6653335rem, 5.8255133201vw + 1.354593003rem, 6.328125rem);
  --space-xxl-to-l: clamp(1.9995rem, 6.8844930417vw + 0.4504890656rem, 6.328125rem);
  --space-xxl-to-m: clamp(1.5rem, 7.6789264414vw + -0.2277584493rem, 6.328125rem);
  --space-xxl-to-s: clamp(1.1252813203rem, 8.2749004846vw + -0.7365712887rem, 6.328125rem);
  --space-xxl-to-xs: clamp(0.8441720333rem, 8.7219927901vw + -1.1182763445rem, 6.328125rem);
}

/* Feat: Section Space Variables */
:root {
  --section-space-xs: clamp(1.6883440665rem, 1.2909040692vw + 1.3978906509rem, 2.5rem);
  --section-space-s: clamp(2.2505626407rem, 2.3847910288vw + 1.7139846592rem, 3.75rem);
  --section-space-s-to-xs: clamp(1.6883440665rem, 3.2789756397vw + 0.9505745476rem, 3.75rem);
  --section-space-m: clamp(3rem, 4.1749502982vw + 2.0606361829rem, 5.625rem);
  --section-space-m-to-s: clamp(2.2505626407rem, 5.3668983846vw + 1.0430105041rem, 5.625rem);
  --section-space-m-to-xs: clamp(1.6883440665rem, 6.2610829956vw + 0.2796003925rem, 5.625rem);
  --section-space-l: clamp(3.999rem, 7.0592445328vw + 2.4106699801rem, 8.4375rem);
  --section-space-l-to-m: clamp(3rem, 8.648111332vw + 1.0541749503rem, 8.4375rem);
  --section-space-l-to-s: clamp(2.2505626407rem, 9.8400594184vw + 0.0365492715rem, 8.4375rem);
  --section-space-l-to-xs: clamp(1.6883440665rem, 10.7342440294vw + -0.7268608401rem, 8.4375rem);
  --section-space-xl: clamp(5.330667rem, 11.6510266402vw + 2.709186006rem, 12.65625rem);
  --section-space-xl-to-l: clamp(3.999rem, 13.7689860835vw + 0.9009781312rem, 12.65625rem);
  --section-space-xl-to-m: clamp(3rem, 15.3578528827vw + -0.4555168986rem, 12.65625rem);
  --section-space-xl-to-s: clamp(2.2505626407rem, 16.5498009691vw + -1.4731425774rem, 12.65625rem);
  --section-space-xl-to-xs: clamp(1.6883440665rem, 17.4439855801vw + -2.236552689rem, 12.65625rem);
  --section-space-xxl: clamp(7.105779111rem, 18.8923990282vw + 2.8549893296rem, 18.984375rem);
  --section-space-xxl-to-xl: clamp(5.330667rem, 21.7156389662vw + 0.4446482326rem, 18.984375rem);
  --section-space-xxl-to-l: clamp(3.999rem, 23.8335984095vw + -1.3635596421rem, 18.984375rem);
  --section-space-xxl-to-m: clamp(3rem, 25.4224652087vw + -2.720054672rem, 18.984375rem);
  --section-space-xxl-to-s: clamp(2.2505626407rem, 26.6144132952vw + -3.7376803508rem, 18.984375rem);
  --section-space-xxl-to-xs: clamp(1.6883440665rem, 27.5085979061vw + -4.5010904624rem, 18.984375rem);
}

/* Feat: Contextual Space Variables */
:root {
  --content-gap: var(--space-m);
  --container-gap: var(--space-xl);
  --grid-gap: var(--space-m);
}

/* Feat: Width Variables */
:root {
  --width-10: calc(var(--content-width) * 0.1);
  --width-20: calc(var(--content-width) * 0.2);
  --width-30: calc(var(--content-width) * 0.3);
  --width-40: calc(var(--content-width) * 0.4);
  --width-50: calc(var(--content-width) * 0.5);
  --width-60: calc(var(--content-width) * 0.6);
  --width-70: calc(var(--content-width) * 0.7);
  --width-80: calc(var(--content-width) * 0.8);
  --width-90: calc(var(--content-width) * 0.9);
  --width-full: calc(var(--content-width) * 100%);
}

/* Feat: Grid Variables */
:root {
  --grid-1: repeat(1, minmax(0, 1fr));
  --grid-2: repeat(2, minmax(0, 1fr));
  --grid-3: repeat(3, minmax(0, 1fr));
  --grid-4: repeat(4, minmax(0, 1fr));
  --grid-5: repeat(5, minmax(0, 1fr));
  --grid-6: repeat(6, minmax(0, 1fr));
  --grid-7: repeat(7, minmax(0, 1fr));
  --grid-8: repeat(8, minmax(0, 1fr));
  --grid-9: repeat(9, minmax(0, 1fr));
  --grid-10: repeat(10, minmax(0, 1fr));
  --grid-11: repeat(11, minmax(0, 1fr));
  --grid-12: repeat(12, minmax(0, 1fr));
  --grid-1-2: minmax(0, 1fr) minmax(0, 2fr);
  --grid-1-3: minmax(0, 1fr) minmax(0, 3fr);
  --grid-2-1: minmax(0, 2fr) minmax(0, 1fr);
  --grid-2-3: minmax(0, 2fr) minmax(0, 3fr);
  --grid-3-1: minmax(0, 3fr) minmax(0, 1fr);
  --grid-3-2: minmax(0, 3fr) minmax(0, 2fr);
}

/* Feat: Auto Grid Variables */
:root {
  --grid-auto-2: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((2 - 1) * var(--grid-gap))) / 2) * 0.7, (100% - (2 - 1) * var(--grid-gap)) / 2)), 1fr));
  --grid-auto-3: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((3 - 1) * var(--grid-gap))) / 3) * 0.7, (100% - (3 - 1) * var(--grid-gap)) / 3)), 1fr));
  --grid-auto-4: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((4 - 1) * var(--grid-gap))) / 4) * 0.7, (100% - (4 - 1) * var(--grid-gap)) / 4)), 1fr));
  --grid-auto-5: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((5 - 1) * var(--grid-gap))) / 5) * 0.7, (100% - (5 - 1) * var(--grid-gap)) / 5)), 1fr));
  --grid-auto-6: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((6 - 1) * var(--grid-gap))) / 6) * 0.7, (100% - (6 - 1) * var(--grid-gap)) / 6)), 1fr));
  --grid-auto-7: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((7 - 1) * var(--grid-gap))) / 7) * 0.7, (100% - (7 - 1) * var(--grid-gap)) / 7)), 1fr));
  --grid-auto-8: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((8 - 1) * var(--grid-gap))) / 8) * 0.7, (100% - (8 - 1) * var(--grid-gap)) / 8)), 1fr));
  --grid-auto-9: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((9 - 1) * var(--grid-gap))) / 9) * 0.7, (100% - (9 - 1) * var(--grid-gap)) / 9)), 1fr));
  --grid-auto-10: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((10 - 1) * var(--grid-gap))) / 10) * 0.7, (100% - (10 - 1) * var(--grid-gap)) / 10)), 1fr));
  --grid-auto-11: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((11 - 1) * var(--grid-gap))) / 11) * 0.7, (100% - (11 - 1) * var(--grid-gap)) / 11)), 1fr));
  --grid-auto-12: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((12 - 1) * var(--grid-gap))) / 12) * 0.7, (100% - (12 - 1) * var(--grid-gap)) / 12)), 1fr));
  --auto-grid-aggressiveness: 0.7;
}

/* Feat: Header Height Variables */
:root {
  --header-height: clamp(0rem, 0vw + 0rem, 0rem);
  --admin-bar-height: var(--wp-admin--admin-bar--height, 0px);
}

:root {
  --scroll-margin: clamp(0rem, 0vw + 0rem, 0rem);
  --offset: calc(var(--scroll-margin) + var(--header-height));
}

/* Feat: Smart Spacing */
:root {
  --paragraph-spacing: 1em;
  --heading-spacing: 1.2em;
  --list-spacing: var(--paragraph-spacing);
  --list-indent-spacing: 2em;
  --list-item-spacing: 0.5em;
  --nested-list-indent-spacing: 1em;
  --flow-spacing: var(--paragraph-spacing);
  --figure-spacing: var(--paragraph-spacing);
  --figcaption-spacing: 0.5em;
  --blockquote-spacing: var(--paragraph-spacing);
}

/* Feat: Buttons */
:root {
  --option-primary-btn-outline: on;
  --option-secondary-btn-outline: on;
  --btn-padding-block: 0.9em;
  --btn-padding-inline: 1.6em;
  --btn-min-width: 8.75rem;
  --btn-width: max-content;
  --btn-line-height: 1.2;
  --btn-font-size: var(--text-m);
  --btn-font-weight: 600;
  --btn-font-family: var(--text-font-family);
  --btn-font-style: normal;
  --btn-text-decoration: none;
  --btn-text-decoration-hover: none;
  --btn-letter-spacing: 0.01em;
  --btn-text-transform: none;
  --btn-border-width: 1.5px;
  --btn-border-style: solid;
  --btn-border-radius: 0.375rem;
  --btn-radius: 0.375rem;
  --btn-justify-content: center;
  --btn-align-items: center;
  --btn-text-align: center;
}

/* Feat: Link Variables */
:root {
  --link-color: var(--primary);
  --link-color-hover: var(--primary-ultra-dark);
  --link-transition: var(--transition);
  --link-decoration: underline;
  --link-decoration-hover: underline;
  --link-underline-offset: 0.22em;
  --link-weight: inherit;
  --link-decoration-color: var(--accent);
  --link-decoration-color-hover: currentColor;
  --link-decoration-thickness: 1px;
}

/* Feat: Column Variables */
:root {
  --col-width-s: 13rem;
  --col-width-m: 25rem;
  --col-width-l: 38rem;
  --col-rule-width-s: 0.5px;
  --col-rule-width-m: 1px;
  --col-rule-width-l: 3px;
}

/* Feat: Sticky Variables */
:root {
  --sticky-offset-custom: 60px;
  --sticky-offset: var(--header-height, var(--sticky-offset-custom, 0));
}

/* Contextual Color Variables */
:root {
  --body-bg-color: var(--white);
  --bg-ultra-light: var(--base-ultra-light);
  --bg-light: var(--accent-ultra-light);
  --bg-dark: var(--primary);
  --bg-ultra-dark: var(--base-ultra-dark);
  --text-light: var(--primary-ultra-light);
  --text-light-muted: color-mix(in srgb, var(--text-light) 80%, transparent);
  --text-dark: var(--base);
  --text-dark-muted: #6F615A;
}

/* Feat: Contextual Relationship Variables */
:root {
  --bg-ultra-light-text: var(--text-dark);
  --bg-light-text: var(--text-dark);
  --bg-dark-text: var(--text-light);
  --bg-ultra-dark-text: var(--text-light);
  --bg-ultra-light-heading: var(--primary);
  --bg-light-heading: var(--primary);
  --bg-dark-heading: var(--text-light);
  --bg-ultra-dark-heading: var(--text-light);
  --bg-ultra-light-link: var(--primary);
  --bg-ultra-light-link-hover: var(--primary-hover);
  --bg-light-link: var(--primary);
  --bg-light-link-hover: var(--primary-hover);
  --bg-dark-link: var(--primary-ultra-light);
  --bg-dark-link-hover: var(--primary-light);
  --bg-ultra-dark-link: var(--primary-ultra-light);
  --bg-ultra-dark-link-hover: var(--primary-light);
  --bg-ultra-light-focus: var(--primary);
  --bg-light-focus: var(--primary);
  --bg-dark-focus: var(--accent);
  --bg-ultra-dark-focus: var(--accent);
  --bg-ultra-light-button: primary;
  --bg-light-button: primary;
  --bg-dark-button: primary-light;
  --bg-ultra-dark-button: primary-light;
  --bg-ultra-light-icon: light;
  --bg-light-icon: light;
  --bg-dark-icon: dark;
  --bg-ultra-dark-icon: dark;
}

/* Feat: Radius Variables */
:root {
  --radius: 5px;
  --radius-50: 50%;
  --radius-circle: 50vw;
  --radius-none: 0;
  --radius-m: var(--radius);
}

/* Feat: Border Variables */
:root {
  --border-size: 1px;
  --border-width: 1px;
  --border-style: solid;
  --border-color-dark: color-mix(in oklch, var(--black) 20%, transparent);
  --border-color-light: color-mix(in oklch, var(--white) 20%, transparent);
  --border: var(--border-size) var(--border-style) var(--border-color-dark);
  --border-light: var(--border-size) var(--border-style) var(--border-color-light);
  --border-dark: var(--border-size) var(--border-style) var(--border-color-dark);
}

/* Feat: Divider Variables */
:root {
  --divider-size: 1px;
  --divider-style: solid;
  --divider-inline-size: 100%;
  --divider-gap: var(--content-gap);
  --divider-color-dark: color-mix(in srgb, var(--black) 20%, transparent);
  --divider-color-light: color-mix(in srgb, var(--white) 20%, transparent);
  --divider: var(--divider-size) var(--divider-style) var(--divider-color-dark);
  --divider-light: var(--divider-size) var(--divider-style) var(--divider-color-light);
  --divider-dark: var(--divider-size) var(--divider-style) var(--divider-color-dark);
}

/* Feat: Transition Variables */
:root {
  --transition-duration: 0.3s;
  --transition-timing: ease-in-out;
  --transition-delay: 0s;
  --transition: 0.3s ease-in-out 0s;
}

/* Feat: Icon Variables */
:root {
  --icon-scheme: inherit;
  --icon-size: 32px;
  --icon-padding: 0.15em;
  --icon-radius: var(--radius);
  --icon-background: var(--neutral-ultra-light);
  --icon-background-hover: var(--neutral-light);
  --icon-border-color: var(--border-color-dark);
  --icon-border-color-hover: inherit;
  --icon-border-width: var(--border-width);
  --icon-border-style: var(--border-style);
  --icon-color: var(--text-dark-muted);
  --icon-color-hover: var(--primary);
  --icon-list-icon-size: 1em;
  --icon-list-gap: 1em;
  --icon-size-xs: 12px;
  --icon-size-s: 16px;
  --icon-size-m: 32px;
  --icon-size-l: 64px;
  --icon-size-xl: 128px;
  --icon-padding-xs: var(--icon-padding);
  --icon-padding-s: var(--icon-padding);
  --icon-padding-m: var(--icon-padding);
  --icon-padding-l: var(--icon-padding);
  --icon-padding-xl: var(--icon-padding);
}

/* Feat: Box Shadow Variables */
:root {
  --box-shadow-1: 0 0 40px color-mix(in srgb, black 10%, transparent);
  --box-shadow-2: 0 0 60px color-mix(in srgb, black 20%, transparent);
  --box-shadow-3: 0 0 80px color-mix(in srgb, black 30%, transparent);
}

/* Feat: Text Shadow Variables */
:root {
  --text-shadow-1: 0 1px 2px color-mix(in srgb, black 20%, transparent);
  --text-shadow-2: 0 2px 4px color-mix(in srgb, black 30%, transparent);
  --text-shadow-3: 0 4px 8px color-mix(in srgb, black 40%, transparent);
}

/* Feat: Drop Shadow Variables */
:root {
  --drop-shadow-1: drop-shadow(0 1px 2px color-mix(in srgb, black 15%, transparent));
  --drop-shadow-2: drop-shadow(0 4px 6px color-mix(in srgb, black 20%, transparent));
  --drop-shadow-3: drop-shadow(0 10px 15px color-mix(in srgb, black 25%, transparent));
}

/* Feat: Blockquote Variables */
:root {
  --blockquote-padding: var(--space-m);
  --blockquote-gap: 1em;
  --blockquote-border-width: 0 0 0 3px;
  --blockquote-border-style: solid;
  --blockquote-border-color: var(--primary);
  --blockquote-border-radius: var(--radius);
  --blockquote-background: var(--neutral-ultra-light);
  --blockquote-box-shadow: none;
  --blockquote-text-color: inherit;
  --blockquote-text-font-family: inherit;
  --blockquote-text-font-style: normal;
  --blockquote-text-font-size: var(--text-l);
  --blockquote-text-font-weight: normal;
  --blockquote-text-line-height: inherit;
  --blockquote-text-text-align: left;
  --blockquote-text-text-transform: none;
  --blockquote-footer-padding: 0;
  --blockquote-footer-margin-block: 1em 0;
  --blockquote-footer-font-family: inherit;
  --blockquote-footer-font-size: var(--text-s);
  --blockquote-footer-font-weight: normal;
  --blockquote-footer-font-style: normal;
  --blockquote-footer-line-height: 1.5;
  --blockquote-footer-text-transform: none;
  --blockquote-footer-color: currentColor;
  --blockquote-cite-font-family: inherit;
  --blockquote-cite-font-size: inherit;
  --blockquote-cite-font-weight: inherit;
  --blockquote-cite-font-style: inherit;
  --blockquote-cite-line-height: inherit;
  --blockquote-cite-text-transform: inherit;
  --blockquote-cite-color: currentColor;
}