/*
 * GENERATED FILE - DO NOT EDIT BY HAND. Source: bmi/core/theme.py.
 * Regenerate with: python manage.py buildtheme
 *
 * Heritage Maroon + Gold design tokens.
 *
 * Deep wine shell, maroon actions, warm ivory surfaces, and restrained gold
 * focus accents. Values are space-separated RGB channels so Tailwind can apply
 * opacity modifiers (e.g. bg-primary/10). A white-label institute overrides
 * any of these on :root to rebrand without a rebuild.
 */
:root {
  --bmi-primary: 36 16 19;          /* #241013  deep wine: buttons, headers */
  --bmi-primary-hover: 58 23 29;    /* #3A171D  hover */
  --bmi-accent: 107 7 20;           /* #6B0714  maroon: links, focus, CTA */
  --bmi-accent-hover: 71 3 12;      /* #47030C  maroon hover */
  --bmi-accent-light: 255 241 212;  /* #FFF1D4  accent ground, chips */
  --bmi-bg: 255 253 248;            /* #FFFDF8  page background */
  --bmi-surface: 255 255 255;       /* #FFFFFF  cards, modals */
  --bmi-surface-raised: 251 244 230;/* #FBF4E6  subtle raised panels */
  --bmi-text: 36 16 19;             /* #241013  headings */
  --bmi-text-muted: 111 100 96;     /* #6F6460  body text */
  --bmi-text-subtle: 161 138 126;   /* #A18A7E  captions, placeholders */
  --bmi-border: 234 223 207;        /* #EADFCF  borders, dividers */
  --bmi-border-strong: 212 185 135; /* #D4B987  inputs, emphasis */
  --bmi-success: 15 123 79;         /* #0F7B4F */
  --bmi-warning: 154 91 0;          /* #9A5B00 */
  --bmi-error: 192 38 38;           /* #C02626 */

  --bmi-surface-sunken: 244 231 213;   /* #F4E7D5  table heads, tracks */
  --bmi-accent-contrast: 255 255 255; /* #FFFFFF  text/icons on accent bg */
  --bmi-success-wash: 230 245 237;    /* #E6F5ED  success chip/alert bg */
  --bmi-warning-wash: 255 241 212;    /* #FFF1D4  warning chip/alert bg */
  --bmi-error-wash: 253 236 236;      /* #FDECEC  error chip/alert bg */
  --bmi-info: 107 7 20;               /* #6B0714  info accent */
  --bmi-info-wash: 255 241 212;       /* #FFF1D4  info chip/alert bg */
  --bmi-focus: 245 158 11;            /* #F59E0B  focus ring */
  --bmi-shadow: 0 0 0;                /* #000000  drop shadows; dark in both themes */
  --bmi-scrim: 0 0 0;                 /* #000000  modal/overlay backdrop */
  --bmi-on-media: 255 255 255;        /* #FFFFFF  text over photos and coloured heroes */
  --bmi-shell: 36 16 19;              /* #241013  dark chrome panel: sidebar, footer */
  --bmi-shell-raised: 58 23 29;       /* #3A171D  hover/active inside the shell */
  --bmi-on-shell: 255 255 255;        /* #FFFFFF  text on the shell */
  --bmi-on-shell-muted: 215 200 186;  /* #D7C8BA  secondary text on the shell */

  --bmi-series-1: 107 7 20;    /* #6B0714 */
  --bmi-series-2: 245 158 11;  /* #F59E0B */
  --bmi-series-3: 15 123 79;   /* #0F7B4F */
  --bmi-series-4: 138 75 0;    /* #8A4B00 */
  --bmi-series-5: 155 35 53;   /* #9B2335 */
  --bmi-series-6: 122 92 46;   /* #7A5C2E */

  --bmi-space-1: 4px;
  --bmi-space-2: 8px;
  --bmi-space-3: 12px;
  --bmi-space-4: 16px;
  --bmi-space-5: 20px;
  --bmi-space-6: 24px;
  --bmi-space-8: 32px;
  --bmi-space-10: 40px;
  --bmi-space-12: 48px;
  --bmi-space-16: 64px;

  --bmi-radius-control: 10px;
  --bmi-radius-card: 14px;
  --bmi-radius-sheet: 16px;
  --bmi-radius-pill: 999px;
  --bmi-radius-badge: 6px;

  --r-btn: 10px;
  --r-card: 14px;
  --r-badge: 6px;
  --shadow-card: 0 1px 3px rgba(36, 16, 19, .04), 0 8px 24px -4px rgba(36, 16, 19, .06);
  --focus: 0 0 0 3px rgba(245, 158, 11, .45);

  --font-ui: 'Plus Jakarta Sans', 'Noto Sans Devanagari', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: 'Playfair Display', 'Noto Sans Devanagari', Georgia, serif;

  --bmi-border-width: 1px;
}

@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] {
    --bmi-primary: 247 232 212;        /* #F7E8D4 */
    --bmi-primary-hover: 255 255 255;  /* #FFFFFF */
    --bmi-accent: 240 179 93;          /* #F0B35D */
    --bmi-accent-hover: 245 201 119;   /* #F5C977 */
    --bmi-accent-light: 43 23 18;      /* #2B1712 */
    --bmi-accent-contrast: 36 16 19;   /* #241013 */
    --bmi-bg: 22 10 13;                /* #160A0D */
    --bmi-surface: 36 16 19;           /* #241013 */
    --bmi-surface-raised: 46 21 24;    /* #2E1518 */
    --bmi-surface-sunken: 18 7 10;     /* #12070A */
    --bmi-text: 247 232 212;           /* #F7E8D4 */
    --bmi-text-muted: 215 196 175;     /* #D7C4AF */
    --bmi-text-subtle: 168 142 123;    /* #A88E7B */
    --bmi-border: 77 42 37;            /* #4D2A25 */
    --bmi-border-strong: 109 64 54;    /* #6D4036 */
    --bmi-success: 52 199 123;         /* #34C77B */
    --bmi-warning: 245 158 11;         /* #F59E0B */
    --bmi-error: 255 107 107;          /* #FF6B6B */
    --bmi-success-wash: 12 36 25;      /* #0C2419 */
    --bmi-warning-wash: 54 33 10;      /* #36210A */
    --bmi-error-wash: 43 17 19;        /* #2B1113 */
    --bmi-info: 240 179 93;            /* #F0B35D */
    --bmi-info-wash: 43 23 18;         /* #2B1712 */
    --bmi-shadow: 0 0 0;               /* #000000 */
    --bmi-scrim: 0 0 0;                /* #000000 */
    --bmi-on-media: 255 255 255;       /* #FFFFFF */
    --bmi-shell: 30 14 17;             /* #1E0E11 */
    --bmi-shell-raised: 46 21 24;      /* #2E1518 */
    --bmi-on-shell: 247 232 212;       /* #F7E8D4 */
    --bmi-on-shell-muted: 215 196 175; /* #D7C4AF */

    --bmi-series-1: 240 179 93;  /* #F0B35D */
    --bmi-series-2: 245 158 11;  /* #F59E0B */
    --bmi-series-3: 63 201 138;  /* #3FC98A */
    --bmi-series-4: 201 131 43;  /* #C9832B */
    --bmi-series-5: 226 117 133; /* #E27585 */
    --bmi-series-6: 216 181 119; /* #D8B577 */
  }
}

:root[data-theme="dark"] {
  --bmi-primary: 247 232 212;        /* #F7E8D4 */
  --bmi-primary-hover: 255 255 255;  /* #FFFFFF */
  --bmi-accent: 240 179 93;          /* #F0B35D */
  --bmi-accent-hover: 245 201 119;   /* #F5C977 */
  --bmi-accent-light: 43 23 18;      /* #2B1712 */
  --bmi-accent-contrast: 36 16 19;   /* #241013 */
  --bmi-bg: 22 10 13;                /* #160A0D */
  --bmi-surface: 36 16 19;           /* #241013 */
  --bmi-surface-raised: 46 21 24;    /* #2E1518 */
  --bmi-surface-sunken: 18 7 10;     /* #12070A */
  --bmi-text: 247 232 212;           /* #F7E8D4 */
  --bmi-text-muted: 215 196 175;     /* #D7C4AF */
  --bmi-text-subtle: 168 142 123;    /* #A88E7B */
  --bmi-border: 77 42 37;            /* #4D2A25 */
  --bmi-border-strong: 109 64 54;    /* #6D4036 */
  --bmi-success: 52 199 123;         /* #34C77B */
  --bmi-warning: 245 158 11;         /* #F59E0B */
  --bmi-error: 255 107 107;          /* #FF6B6B */
  --bmi-success-wash: 12 36 25;      /* #0C2419 */
  --bmi-warning-wash: 54 33 10;      /* #36210A */
  --bmi-error-wash: 43 17 19;        /* #2B1113 */
  --bmi-info: 240 179 93;            /* #F0B35D */
  --bmi-info-wash: 43 23 18;         /* #2B1712 */
  --bmi-shadow: 0 0 0;               /* #000000 */
  --bmi-scrim: 0 0 0;                /* #000000 */
  --bmi-on-media: 255 255 255;       /* #FFFFFF */
  --bmi-shell: 30 14 17;             /* #1E0E11 */
  --bmi-shell-raised: 46 21 24;      /* #2E1518 */
  --bmi-on-shell: 247 232 212;       /* #F7E8D4 */
  --bmi-on-shell-muted: 215 196 175; /* #D7C4AF */

  --bmi-series-1: 240 179 93;  /* #F0B35D */
  --bmi-series-2: 245 158 11;  /* #F59E0B */
  --bmi-series-3: 63 201 138;  /* #3FC98A */
  --bmi-series-4: 201 131 43;  /* #C9832B */
  --bmi-series-5: 226 117 133; /* #E27585 */
  --bmi-series-6: 216 181 119; /* #D8B577 */
}

body {
  background-color: rgb(var(--bmi-bg));
  color: rgb(var(--bmi-text-muted));
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Deliberately no `color` here. A rule on the bare element beats an inherited
   colour, so setting it would blank out headings inside dark panels that rely
   on a `text-white` container. Headings inherit; pages that need a darker
   heading say so with a utility. */
h1, h2, h3, h4 {
  font-family: var(--font-ui);
  font-weight: 700;
  letter-spacing: -0.02em;
}

.marketing h1, .marketing h2, .display, .hero-display {
  font-family: var(--font-display);
  font-weight: 700;
}

.num, .stat, .price, td.number, .tabular {
  font-variant-numeric: tabular-nums;
}

.card {
  background: #ffffff;
  border: 1px solid rgb(var(--bmi-border) / .5);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-card);
}

.btn-primary, .button-primary {
  background: rgb(var(--bmi-accent));
  color: #ffffff;
  border-radius: var(--r-btn);
  min-height: 44px;
  transition: background .15s ease, transform .15s ease;
  border: 1px solid rgb(var(--bmi-accent));
}
.btn-primary:hover, .button-primary:hover {
  background: rgb(var(--bmi-accent-hover));
  border-color: rgb(var(--bmi-accent-hover));
  color: #ffffff;
}
.btn-primary:active, .button-primary:active {
  transform: scale(.98);
}
.btn:focus-visible, .button:focus-visible, input:focus-visible {
  outline: none;
  box-shadow: var(--focus);
}

@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}