/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 1408px;
  --logo-height: 20px;
  --font-body: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

:root {
  --typography-body-font-family: var(--font-body);
  --typography-heading-font-family: var(--font-heading);
  --typography-code-font-family: var(--font-code);
}


.light, :root {
  --accent-1: #f8feff;
  --accent-2: #effbff;
  --accent-3: #dbf7ff;
  --accent-4: #c7f2ff;
  --accent-5: #b0e9ff;
  --accent-6: #96ddfa;
  --accent-7: #71cdf1;
  --accent-8: #41b6df;
  --accent-9: #06576f;
  --accent-10: #00475e;
  --accent-11: #00779d;
  --accent-12: #004259;

  --accent-a1: #00dbff07;
  --accent-a2: #00c0ff10;
  --accent-a3: #00c7ff24;
  --accent-a4: #00c4ff38;
  --accent-a5: #00b8ff4f;
  --accent-a6: #00adf369;
  --accent-a7: #00a6e68e;
  --accent-a8: #009dd4be;
  --accent-a9: #00536cf9;
  --accent-a10: #00475e;
  --accent-a11: #00779d;
  --accent-a12: #004259;

  --accent-contrast: #fff;
  --accent-surface: #ebfaffcc;
  --accent-indicator: #06576f;
  --accent-track: #06576f;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.3% 0.0075 225.3);
      --accent-2: oklch(98% 0.014 225.3);
      --accent-3: oklch(96% 0.0338 225.3);
      --accent-4: oklch(93.5% 0.0505 225.3);
      --accent-5: oklch(90.3% 0.066 225.3);
      --accent-6: oklch(86.1% 0.0815 225.3);
      --accent-7: oklch(80.5% 0.1007 225.3);
      --accent-8: oklch(72.9% 0.1181 225.3);
      --accent-9: oklch(42.6% 0.0787 225.3);
      --accent-10: oklch(36.9% 0.0787 225.3);
      --accent-11: oklch(52.5% 0.1181 225.3);
      --accent-12: oklch(35.1% 0.0787 225.3);

      --accent-a1: color(display-p3 0.0235 0.8392 1 / 0.024);
      --accent-a2: color(display-p3 0.0039 0.7176 0.9294 / 0.055);
      --accent-a3: color(display-p3 0.0039 0.7137 0.9686 / 0.122);
      --accent-a4: color(display-p3 0.0039 0.7059 0.9608 / 0.185);
      --accent-a5: color(display-p3 0.0039 0.6431 0.9569 / 0.263);
      --accent-a6: color(display-p3 0.0039 0.5961 0.9098 / 0.35);
      --accent-a7: color(display-p3 0.0039 0.5686 0.851 / 0.471);
      --accent-a8: color(display-p3 0 0.5176 0.7686 / 0.608);
      --accent-a9: color(display-p3 0 0.2235 0.3294 / 0.855);
      --accent-a10: color(display-p3 0 0.1882 0.2863 / 0.895);
      --accent-a11: color(display-p3 0 0.3255 0.502 / 0.8);
      --accent-a12: color(display-p3 0 0.1725 0.2706 / 0.902);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9333 0.9765 1 / 0.8);
      --accent-indicator: oklch(42.6% 0.0787 225.3);
      --accent-track: oklch(42.6% 0.0787 225.3);
    }
  }
}


.light, :root {
  --grayscale-1: #fcfcfd;
  --grayscale-2: #f9f9fb;
  --grayscale-3: #f0f0f3;
  --grayscale-4: #e8e8ec;
  --grayscale-5: #e0e1e6;
  --grayscale-6: #d9d9e0;
  --grayscale-7: #cdced6;
  --grayscale-8: #b9bbc6;
  --grayscale-9: #8b8d98;
  --grayscale-10: #80838d;
  --grayscale-11: #60646c;
  --grayscale-12: #1c2024;

  --grayscale-a1: #00005503;
  --grayscale-a2: #00005506;
  --grayscale-a3: #0000330f;
  --grayscale-a4: #00002d17;
  --grayscale-a5: #0009321f;
  --grayscale-a6: #00002f26;
  --grayscale-a7: #00062e32;
  --grayscale-a8: #00083046;
  --grayscale-a9: #00051d74;
  --grayscale-a10: #00071b7f;
  --grayscale-a11: #0007149f;
  --grayscale-a12: #000509e3;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #8b8d98;
  --grayscale-track: #8b8d98;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.988 0.988 0.992);
      --grayscale-2: color(display-p3 0.976 0.976 0.984);
      --grayscale-3: color(display-p3 0.94 0.941 0.953);
      --grayscale-4: color(display-p3 0.908 0.909 0.925);
      --grayscale-5: color(display-p3 0.88 0.881 0.901);
      --grayscale-6: color(display-p3 0.85 0.852 0.876);
      --grayscale-7: color(display-p3 0.805 0.808 0.838);
      --grayscale-8: color(display-p3 0.727 0.733 0.773);
      --grayscale-9: color(display-p3 0.547 0.553 0.592);
      --grayscale-10: color(display-p3 0.503 0.512 0.549);
      --grayscale-11: color(display-p3 0.379 0.392 0.421);
      --grayscale-12: color(display-p3 0.113 0.125 0.14);

      --grayscale-a1: #00005503;
      --grayscale-a2: #00005506;
      --grayscale-a3: #0000330f;
      --grayscale-a4: #00002d17;
      --grayscale-a5: #0009321f;
      --grayscale-a6: #00002f26;
      --grayscale-a7: #00062e32;
      --grayscale-a8: #00083046;
      --grayscale-a9: #00051d74;
      --grayscale-a10: #00071b7f;
      --grayscale-a11: #0007149f;
      --grayscale-a12: #000509e3;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.547 0.553 0.592);
      --grayscale-track: color(display-p3 0.547 0.553 0.592);
    }
  }
}


.dark {
  --accent-1: #000;
  --accent-2: #081419;
  --accent-3: #022834;
  --accent-4: #003648;
  --accent-5: #00445a;
  --accent-6: #00546b;
  --accent-7: #0c6782;
  --accent-8: #097fa1;
  --accent-9: #06576f;
  --accent-10: #00475c;
  --accent-11: #68c8ec;
  --accent-12: #baebff;

  --accent-a1: #00000000;
  --accent-a2: #52ccff19;
  --accent-a3: #0ac5ff34;
  --accent-a4: #00c0ff48;
  --accent-a5: #00c1ff5a;
  --accent-a6: #00c9ff6b;
  --accent-a7: #18cbff82;
  --accent-a8: #0fc9ffa1;
  --accent-a9: #0ec8ff6f;
  --accent-a10: #00c5ff5c;
  --accent-a11: #70d8ffec;
  --accent-a12: #baebff;

  --accent-contrast: #fff;
  --accent-surface: #10283280;
  --accent-indicator: #06576f;
  --accent-track: #06576f;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(0% 0.0183 225.3);
      --accent-2: oklch(18.3% 0.0201 225.3);
      --accent-3: oklch(25.6% 0.0463 225.3);
      --accent-4: oklch(30.8% 0.0653 225.3);
      --accent-5: oklch(35.9% 0.0733 225.3);
      --accent-6: oklch(41.4% 0.0787 225.3);
      --accent-7: oklch(47.8% 0.0876 225.3);
      --accent-8: oklch(55.7% 0.104 225.3);
      --accent-9: oklch(42.6% 0.0787 225.3);
      --accent-10: oklch(36.9% 0.0733 225.3);
      --accent-11: oklch(78.7% 0.104 225.3);
      --accent-12: oklch(91.4% 0.058 225.3);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 0.4549 0.8275 0.9922 / 0.095);
      --accent-a3: color(display-p3 0.2745 0.7647 1 / 0.2);
      --accent-a4: color(display-p3 0.2745 0.7569 1 / 0.275);
      --accent-a5: color(display-p3 0.298 0.7608 1 / 0.346);
      --accent-a6: color(display-p3 0.3255 0.7922 1 / 0.412);
      --accent-a7: color(display-p3 0.3647 0.7961 1 / 0.499);
      --accent-a8: color(display-p3 0.3569 0.7922 1 / 0.62);
      --accent-a9: color(display-p3 0.3412 0.7882 1 / 0.428);
      --accent-a10: color(display-p3 0.302 0.7804 1 / 0.353);
      --accent-a11: color(display-p3 0.5529 0.8549 1 / 0.91);
      --accent-a12: color(display-p3 0.7725 0.9255 1 / 0.993);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.0863 0.1569 0.1882 / 0.5);
      --accent-indicator: oklch(42.6% 0.0787 225.3);
      --accent-track: oklch(42.6% 0.0787 225.3);
    }
  }
}


.dark {
  --grayscale-1: #111113;
  --grayscale-2: #18191b;
  --grayscale-3: #212225;
  --grayscale-4: #272a2d;
  --grayscale-5: #2e3135;
  --grayscale-6: #363a3f;
  --grayscale-7: #43484e;
  --grayscale-8: #5a6169;
  --grayscale-9: #696e77;
  --grayscale-10: #777b84;
  --grayscale-11: #b0b4ba;
  --grayscale-12: #edeef0;

  --grayscale-a1: #00000000;
  --grayscale-a2: #d8f4f609;
  --grayscale-a3: #ddeaf814;
  --grayscale-a4: #d3edf81d;
  --grayscale-a5: #d9edfe25;
  --grayscale-a6: #d6ebfd30;
  --grayscale-a7: #d9edff40;
  --grayscale-a8: #d9edff5d;
  --grayscale-a9: #dfebfd6d;
  --grayscale-a10: #e5edfd7b;
  --grayscale-a11: #f1f7feb5;
  --grayscale-a12: #fcfdffef;

  --grayscale-contrast: #fff;
  --grayscale-surface: rgba(0, 0, 0, 0.05);
  --grayscale-indicator: #696e77;
  --grayscale-track: #696e77;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.074);
      --grayscale-2: color(display-p3 0.095 0.098 0.105);
      --grayscale-3: color(display-p3 0.13 0.135 0.145);
      --grayscale-4: color(display-p3 0.156 0.163 0.176);
      --grayscale-5: color(display-p3 0.183 0.191 0.206);
      --grayscale-6: color(display-p3 0.215 0.226 0.244);
      --grayscale-7: color(display-p3 0.265 0.28 0.302);
      --grayscale-8: color(display-p3 0.357 0.381 0.409);
      --grayscale-9: color(display-p3 0.415 0.431 0.463);
      --grayscale-10: color(display-p3 0.469 0.483 0.514);
      --grayscale-11: color(display-p3 0.692 0.704 0.728);
      --grayscale-12: color(display-p3 0.93 0.933 0.94);

      --grayscale-a1: #00000000;
      --grayscale-a2: #d8f4f609;
      --grayscale-a3: #ddeaf814;
      --grayscale-a4: #d3edf81d;
      --grayscale-a5: #d9edfe25;
      --grayscale-a6: #d6ebfd30;
      --grayscale-a7: #d9edff40;
      --grayscale-a8: #d9edff5d;
      --grayscale-a9: #dfebfd6d;
      --grayscale-a10: #e5edfd7b;
      --grayscale-a11: #f1f7feb5;
      --grayscale-a12: #fcfdffef;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.415 0.431 0.463);
      --grayscale-track: color(display-p3 0.415 0.431 0.463);
    }
  }
}

.light, :root {
  color-scheme: light;
  --accent: rgba(6, 87, 111, 1);
  --background: #fff;
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #06576f;
}

.dark {
  color-scheme: dark;
  --accent: rgba(6, 87, 111, 1);
  --background: #000;
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #06576f;
}

.fern-background-image {
  background-image: linear-gradient(to bottom, color-mix(in srgb, var(--accent), var(--background) 90%) 0, var(--background) 100%);
}

.dark .fern-background-image {
  background-image: linear-gradient(to bottom, var(--background) 0, color-mix(in srgb, var(--accent), var(--background) 90%) 100%);
}

/* Truemed savings calculator widget (see js/savings-calculator.js) */

.tm-calc {
  --tm-accent: #06576f;
  --tm-bg: #f7f9fa;
  --tm-border: #d9e1e4;
  --tm-track: #dce4e7;
  --tm-text: #11181c;
  --tm-muted: #5c6b70;
  --tm-chip-bg: #ffffff;
  --tm-thumb: #ffffff;

  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin: 1.5rem 0;
  padding: 1.5rem;
  border: 1px solid var(--tm-border);
  border-radius: 12px;
  background: var(--tm-bg);
  color: var(--tm-text);
}

html.dark .tm-calc {
  --tm-accent: #4db3cf;
  --tm-bg: #16191b;
  --tm-border: #2c3236;
  --tm-track: #2f363a;
  --tm-text: #e6edf0;
  --tm-muted: #98a6ac;
  --tm-chip-bg: #1f2427;
  --tm-thumb: #e6edf0;
}

/* Headline: the savings figure, large, at the top of the box. */

.tm-calc__headline {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--tm-border);
  text-align: center;
}

.tm-calc__eyebrow {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--tm-muted);
}

.tm-calc__amount {
  font-size: 3.25rem;
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--tm-accent);
  font-variant-numeric: tabular-nums;
}

.tm-calc__caption {
  font-size: 0.875rem;
  color: var(--tm-muted);
}

/* Fields */

.tm-calc__field {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
}

.tm-calc__field-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}

.tm-calc__label {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: var(--tm-muted);
}

.tm-calc__value {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--tm-text);
  font-variant-numeric: tabular-nums;
}

/* Slider */

.tm-calc__slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  margin: 0.375rem 0;
  border-radius: 999px;
  outline: none;
  cursor: pointer;
  background: linear-gradient(
    to right,
    var(--tm-accent) 0%,
    var(--tm-accent) var(--tm-fill, 50%),
    var(--tm-track) var(--tm-fill, 50%),
    var(--tm-track) 100%
  );
}

.tm-calc__slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 22px;
  height: 22px;
  border: 2px solid var(--tm-accent);
  border-radius: 50%;
  background: var(--tm-thumb);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  cursor: grab;
}

.tm-calc__slider::-moz-range-thumb {
  width: 22px;
  height: 22px;
  border: 2px solid var(--tm-accent);
  border-radius: 50%;
  background: var(--tm-thumb);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  cursor: grab;
}

.tm-calc__slider:active::-webkit-slider-thumb { cursor: grabbing; }
.tm-calc__slider:active::-moz-range-thumb { cursor: grabbing; }

.tm-calc__slider:focus-visible::-webkit-slider-thumb {
  box-shadow: 0 0 0 4px rgba(6, 87, 111, 0.25);
}
.tm-calc__slider:focus-visible::-moz-range-thumb {
  box-shadow: 0 0 0 4px rgba(6, 87, 111, 0.25);
}

.tm-calc__scale {
  display: flex;
  justify-content: space-between;
  font-size: 0.75rem;
  color: var(--tm-muted);
  font-variant-numeric: tabular-nums;
}

/* Tax bracket chips */

.tm-calc__brackets {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.tm-calc__bracket {
  padding: 0.4rem 0.85rem;
  border: 1px solid var(--tm-border);
  border-radius: 999px;
  background: var(--tm-chip-bg);
  color: var(--tm-text);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.tm-calc__bracket:hover { border-color: var(--tm-accent); }
.tm-calc__bracket:focus-visible { border-color: var(--tm-accent); outline: none;
}

.tm-calc__bracket[aria-pressed="true"] {
  border-color: var(--tm-accent);
  background: var(--tm-accent);
  color: #ffffff;
}

html.dark .tm-calc__bracket[aria-pressed="true"] { color: #0b1214; }

.tm-calc__note {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--tm-muted);
}

@media (max-width: 480px) {

  .tm-calc { padding: 1.25rem 1rem; gap: 1.25rem; }
  .tm-calc__amount { font-size: 2.75rem; }

}

@media (prefers-reduced-motion: reduce) {

  .tm-calc__bracket { transition: none; }

}
