/* KumbhMela.info on Tirth Design System v2.0 (theme 1.2.0).
   Loaded after style.css. Remaps the theme's tokens to DS v2 and restyles the stable kmi- classes
   that every Elementor page uses, so the whole site changes without editing page content.
   Rules: white page, saffron-600 only for the main action, geru for eyebrows and tithis,
   petal corners on cards, Figtree for UI and headings, Noto Sans Devanagari for Hindi text,
   Anek Devanagari for Hindi display on Hindi pages, ornament level 0, no gradients behind text. */

@font-face { font-family: "Figtree"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("../fonts/figtree-latin.woff2") format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Figtree"; font-style: normal; font-weight: 400 800; font-display: swap; src: url("../fonts/figtree-latin-ext.woff2") format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Noto Sans Devanagari"; font-style: normal; font-weight: 400 700; font-display: swap; src: url("../fonts/noto-sans-devanagari-devanagari.woff2") format("woff2"); unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A; }
@font-face { font-family: "Anek Devanagari"; font-style: normal; font-weight: 500 800; font-display: swap; src: url("../fonts/anek-devanagari-devanagari.woff2") format("woff2"); unicode-range: U+0900-097F, U+1CD0-1CF4, U+1CF7-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF, U+11B00-11B0A; }

:root {
  /* DS v2 primitives used here */
  --saffron-50: #fef5ef; --saffron-600: #d23e02; --saffron-700: #a93402; --saffron-800: #852a07;
  --geru-50: #fef5ed; --geru-100: #f3e2d3; --geru-500: #c17e5e; --geru-700: #9a3f22;
  --neel-50: #f3f4fa; --neel-100: #e6e8f4; --neel-600: #464f8c; --neel-700: #333b76; --neel-900: #1b1f45; --neel-950: #12152f;
  --leaf-50: #edfce9; --leaf-700: #2e7d32;
  --sand-50: #faf7f3; --sand-100: #f3eee8; --sand-200: #e7e1da; --sand-300: #d3cbc3; --sand-500: #7e756e; --sand-600: #625a54; --sand-700: #4c4540; --sand-800: #35302c; --sand-900: #221d1a; --sand-950: #151210;
  --radius-petal-sm: 16px 16px 16px 4px; --radius-petal: 24px 24px 24px 6px;
  --elevation-e1: 0 1px 2px rgba(34,29,26,.06), 0 2px 8px rgba(34,29,26,.08);
  --elevation-e2: 0 2px 4px rgba(34,29,26,.06), 0 8px 24px rgba(34,29,26,.12);
  --elevation-e3: 0 4px 8px rgba(34,29,26,.08), 0 16px 40px rgba(34,29,26,.18);
  --font-ui: Figtree, "Noto Sans Devanagari", system-ui, -apple-system, "Segoe UI", sans-serif;
  --font-hi: "Noto Sans Devanagari", Figtree, system-ui, sans-serif;
  --font-display-hi: "Anek Devanagari", "Noto Sans Devanagari", system-ui, sans-serif;

  /* The theme's own tokens, remapped */
  --kmi-color-primary: var(--saffron-600);
  --kmi-color-primary-dark: var(--saffron-700);
  --kmi-color-primary-hover: var(--saffron-800);
  --kmi-color-primary-soft: var(--saffron-50);
  --kmi-color-ink: var(--sand-900);
  --kmi-color-cream: var(--sand-50);
  --kmi-color-neutral-950: var(--sand-950);
  --kmi-color-neutral-900: var(--sand-900);
  --kmi-color-neutral-800: var(--sand-800);
  --kmi-color-neutral-700: var(--sand-700);
  --kmi-color-neutral-600: var(--sand-600);
  --kmi-color-neutral-500: var(--sand-500);
  --kmi-color-neutral-400: var(--sand-500);
  --kmi-color-neutral-250: var(--sand-300);
  --kmi-color-neutral-150: var(--sand-200);
  --kmi-color-neutral-75: var(--sand-100);
  --kmi-color-info-700: var(--neel-700);
  --kmi-color-info-100: var(--neel-50);
  --kmi-font-sans: var(--font-ui);
  --kmi-font-serif: var(--font-ui);
  --kmi-radius-sm: 8px; --kmi-radius-md: 12px; --kmi-radius-lg: 16px;
  --kmi-border-default: 1px solid var(--sand-200);
  --kmi-shadow-sm: var(--elevation-e1);
  --kmi-shadow-md: var(--elevation-e2);
  --kmi-shadow-lg: var(--elevation-e3);
}

/* Base */
body { color: var(--sand-900); background: #fff; font: 400 17px/1.6 var(--font-ui); }
html[lang^="hi"] body { font-family: var(--font-hi); font-size: 17px; line-height: 1.75; }
a { color: var(--saffron-700); }
a:hover { color: var(--saffron-800); }
:focus-visible { outline: 2px solid var(--saffron-600); outline-offset: 3px; }
h1, h2, h3, h4, .kmi-brand-name { font-family: var(--font-ui); color: var(--sand-900); letter-spacing: -.02em; }
h1 { font-size: clamp(2.1rem, 4.6vw, 3.25rem); line-height: 1.1; font-weight: 800; }
h2 { font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.2; font-weight: 700; }
h3 { font-size: clamp(1.2rem, 2vw, 1.4rem); line-height: 1.3; font-weight: 700; }
html[lang^="hi"] h1, html[lang^="hi"] h2 { font-family: var(--font-display-hi); letter-spacing: 0; line-height: 1.3; }
html[lang^="hi"] h3, html[lang^="hi"] h4 { font-family: var(--font-hi); letter-spacing: 0; }
.elementor .kmi-elementor-content-section .elementor-heading-title { font-family: var(--font-ui) !important; color: var(--sand-900) !important; letter-spacing: -.02em; }
html[lang^="hi"] .elementor .kmi-elementor-content-section .elementor-heading-title { font-family: var(--font-display-hi) !important; letter-spacing: 0; }

/* Header */
.kmi-site-header { background: rgba(255,255,255,.97); border-bottom: 1px solid var(--sand-200); box-shadow: none; backdrop-filter: saturate(1.2) blur(10px); }
.kmi-site-header.is-raised, .kmi-site-header:focus-within { box-shadow: var(--elevation-e1); }
.kmi-header-inner { min-height: 72px; }
.kmi-brand-name { font-weight: 800; letter-spacing: -.035em; }
.kmi-brand-domain { color: var(--saffron-700); font-weight: 800; }
.kmi-brand-symbol { background: var(--saffron-50); color: var(--saffron-600); }
.kmi-brand-symbol svg path + path { stroke: var(--neel-600); }
.kmi-primary-nav a { color: var(--sand-800); font: 600 15px/20px var(--font-ui); padding-block: 26px; }
.kmi-primary-nav > ul > li > a::after { bottom: 16px; height: 2px; background: var(--sand-900); }
.kmi-primary-nav .sub-menu { border: 1px solid var(--sand-200); border-radius: var(--radius-petal-sm); box-shadow: var(--elevation-e2); }
.kmi-primary-nav .sub-menu a { padding: 10px 12px; font-weight: 500; }
.kmi-primary-nav .sub-menu a:hover { background: var(--sand-50); }
.kmi-header-search .kmi-search-form { border-color: var(--sand-200); background: var(--sand-50); }
.kmi-language-nav ul { border-color: var(--sand-200); }
.kmi-language-nav .current-menu-item a, .kmi-language-nav a[aria-current="page"] { color: #fff; background: var(--sand-900); }
.kmi-menu-toggle { border: 1px solid var(--sand-200); border-radius: 12px; color: var(--sand-900); }
@media (max-width: 1149px) { .kmi-primary-nav { inset-block-start: 72px; height: calc(100dvh - 72px); } }

/* Buttons and search */
.kmi-button, .kmi-search-form button { border-radius: 12px; background: var(--saffron-600); font: 700 16px/1 var(--font-ui); }
.kmi-button:hover, .kmi-search-form button:hover { background: var(--saffron-700); }
.kmi-search-form input { border-color: var(--sand-300); border-radius: 12px; font-family: var(--font-ui); }

/* Elementor page sections */
.elementor-page .kmi-main { background: #fff; }
.kmi-elementor-content-section { padding: clamp(40px, 6vw, 72px) clamp(16px, 4vw, 40px); }
.kmi-elementor-content-section.kmi-section-tone-warm { background: var(--sand-50); }
.kmi-elementor-content-section.kmi-section-tone-soft { background: var(--sand-50); }
.kmi-elementor-content-section .elementor-widget-heading h2 { font-family: var(--font-ui); font-size: clamp(1.6rem, 3vw, 2.1rem); line-height: 1.2; font-weight: 700; }
.kmi-h2-section > .e-con-inner > .elementor-widget-text-editor:first-of-type { color: var(--sand-700); font-size: 1.06rem; }
.kmi-elementor-content-section .elementor-widget-text-editor { color: var(--sand-800); }
.kmi-elementor-content-section .elementor-widget-text-editor a { color: var(--saffron-700); text-underline-offset: 3px; }

/* Page hero: answer first, photo with petal corners, no glow behind text */
.kmi-h1-section { border-bottom: 1px solid var(--sand-200); background: #fff; padding-block: clamp(36px, 6vw, 72px); }
.kmi-h1-section .elementor-heading-title { font-family: var(--font-ui); font-size: clamp(2.1rem, 4.6vw, 3.4rem) !important; font-weight: 800; line-height: 1.08 !important; letter-spacing: -.03em; }
html[lang^="hi"] .kmi-h1-section .elementor-heading-title { font-family: var(--font-display-hi) !important; letter-spacing: 0; line-height: 1.25 !important; }
.kmi-h1-section .elementor-widget-text-editor { color: var(--sand-700); font-size: 1.1rem; line-height: 1.65; }
.kmi-h1-section .elementor-widget-image img { border-radius: var(--radius-petal); box-shadow: var(--elevation-e2); min-height: 380px; }
.kmi-hero-eyebrow, .kmi-blog-eyebrow { color: var(--geru-700); font: 700 13px/16px var(--font-ui); letter-spacing: .08em; text-transform: uppercase; }
.kmi-template-tpl-dates.kmi-h1-section { background: #fff; }

/* Home hero keeps its photo; text sits on a plain dark scrim, not a coloured glow */
.kmi-home-hero { background: var(--sand-950); }
.kmi-home-hero::after { background: linear-gradient(90deg, rgba(21,18,16,.88) 0%, rgba(21,18,16,.66) 45%, rgba(21,18,16,.25) 100%); }
.elementor .kmi-home-hero .elementor-heading-title { color: #fff !important; font-weight: 800; letter-spacing: -.035em; }
.kmi-home-hero .kmi-hero-eyebrow { color: #f3c7a3; }
.kmi-hero-search { border-radius: 16px; box-shadow: var(--elevation-e3); }
.kmi-hero-search button { border-radius: 12px; background: var(--saffron-600); }
.kmi-hero-links a { font-family: var(--font-ui); }

/* Information status lines (blockquotes) read as a calm source note */
.kmi-elementor-content-section blockquote, .kmi-article-content blockquote, .elementor .kmi-home-hero blockquote {
  padding: 14px 16px 14px 18px; border: 1px solid var(--sand-200) !important; border-inline-start: 4px solid var(--neel-600) !important;
  border-radius: var(--radius-petal-sm); color: var(--sand-800); background: var(--neel-50); font-size: .95rem; line-height: 1.55;
}
.kmi-template-tpl-dates.kmi-h1-section blockquote, .kmi-template-tpl-event.kmi-h1-section blockquote { background: var(--neel-50); box-shadow: none; }
.elementor .kmi-home-hero blockquote { color: rgba(255,255,255,.92) !important; background: rgba(21,18,16,.55) !important; border-color: rgba(255,255,255,.22) !important; border-inline-start-color: #f3c7a3 !important; }

/* Cards */
.kmi-has-subsections > .e-con-inner { gap: 16px; }
.elementor .kmi-content-subsection { border: 1px solid var(--sand-200) !important; border-radius: var(--radius-petal) !important; background: #fff !important; box-shadow: var(--elevation-e1) !important; }
.kmi-content-subsection:hover { transform: none; box-shadow: var(--elevation-e2) !important; border-color: var(--sand-300) !important; }
.kmi-content-subsection .elementor-heading-title { font-size: 1.2rem !important; line-height: 1.3 !important; }
.elementor .kmi-page-km-home-001.kmi-section-5 .kmi-content-subsection::before { display: none; }

/* Tables */
.kmi-table-scroll { border: 1px solid var(--sand-200); border-radius: var(--radius-petal-sm); box-shadow: none; }
.kmi-table-scroll th { background: var(--sand-100); color: var(--sand-900); font: 700 14px/20px var(--font-ui); }
.kmi-table-scroll td { font-variant-numeric: tabular-nums; }
.kmi-table-scroll tbody tr:nth-child(even) td { background: var(--sand-50); }

/* Hub "at a glance" card: one raised card with a quiet geru edge */
.kmi-template-tpl-event.kmi-section-1 > .e-con-inner, .kmi-template-tpl-dates.kmi-section-1 > .e-con-inner { border: 1px solid var(--sand-200); border-radius: var(--radius-petal); background: #fff; box-shadow: var(--elevation-e2); }
.kmi-template-tpl-event.kmi-section-1 > .e-con-inner::before, .kmi-template-tpl-dates.kmi-section-1 > .e-con-inner::before { width: 4px; background: var(--geru-500); }
.kmi-template-tpl-dates .kmi-section-tone-warm, .kmi-template-tpl-event .kmi-section-tone-warm { background: var(--sand-50); }

/* Home routing lists become calm link cards */
.kmi-page-km-home-001.kmi-section-1 { background: #fff; }
.kmi-page-km-home-001.kmi-section-1 > .e-con-inner { border: 1px solid var(--sand-200); border-radius: var(--radius-petal); background: #fff; box-shadow: var(--elevation-e2); }
.kmi-page-km-home-001.kmi-section-2 li, .kmi-page-km-home-001.kmi-section-4 li { border: 1px solid var(--sand-200); border-radius: var(--radius-petal-sm); box-shadow: var(--elevation-e1); }
.kmi-page-km-home-001.kmi-section-2 li::before, .kmi-page-km-home-001.kmi-section-4 li::before { border-color: var(--geru-50); background: var(--geru-500); }
.kmi-page-km-home-001.kmi-section-2 li a, .kmi-page-km-home-001.kmi-section-4 li a { font-family: var(--font-ui); font-weight: 700; }
.kmi-page-km-home-001.kmi-section-6 { background: var(--neel-950); }

/* Blog, articles and archives */
.kmi-page-header, .kmi-blog-archive-hero, .kmi-article-hero { background: #fff; border-bottom: 1px solid var(--sand-200); }
.kmi-article-hero::before { display: none; }
.kmi-blog-hero { background: var(--neel-950); }
.kmi-blog-hero::before { display: none; }
.kmi-blog-hero .kmi-blog-eyebrow { color: #f3c7a3; }
.kmi-blog-card, .kmi-topic-card, .kmi-post-summary { border-color: var(--sand-200); border-radius: var(--radius-petal); box-shadow: var(--elevation-e1); }
.kmi-blog-card:hover { transform: none; box-shadow: var(--elevation-e2); }
.kmi-blog-card__meta a, .kmi-blog-card__link, .kmi-article-category { color: var(--geru-700); }
.kmi-article-category { background: var(--geru-50); }
.kmi-topic-card::before { width: 4px; background: var(--geru-500); }
.kmi-topic-card span { font-family: var(--font-ui); }
.kmi-topic-card b { color: var(--geru-700); }
.kmi-blog-topics, .kmi-related-articles { background: var(--sand-50); }
.kmi-blog-category-bar a:hover, .kmi-blog-category-bar a[aria-current="page"], .page-numbers.current, .page-numbers:hover { color: #fff; background: var(--sand-900); border-color: var(--sand-900); }
.kmi-article-hero__media img { border-radius: var(--radius-petal); box-shadow: var(--elevation-e2); }
.kmi-article-content { line-height: 1.75; }
.kmi-article-aside__card { border-color: var(--sand-200); border-radius: var(--radius-petal); background: var(--sand-50); box-shadow: none; }

/* Footer: plain, no ornament */
.kmi-site-footer { background: var(--sand-950); }
.kmi-site-footer::before { display: none; }
.kmi-footer-brand > p, .kmi-footer-meta { color: #cfc6be; }
.kmi-footer-menu a { color: #f6f1ec; font-weight: 500; }
.kmi-footer-menu a:hover { color: #f3c7a3; }

/* Elementor containers take spacing from their own variables; set those instead of padding. */
.elementor .e-con.kmi-elementor-content-section { --padding-top: clamp(28px, 4vw, 48px); --padding-bottom: clamp(28px, 4vw, 48px); --padding-left: 0px; --padding-right: 0px; }
.elementor .e-con.kmi-elementor-content-section > .e-con-inner { width: min(calc(100% - 2 * clamp(16px, 4vw, 40px)), var(--kmi-container-default)) !important; max-width: none; margin-inline: auto; flex: 0 1 auto !important; }
.elementor .e-con.kmi-h1-section { --padding-top: clamp(24px, 4vw, 48px); --padding-bottom: clamp(28px, 4vw, 52px); }
.elementor .e-con.kmi-home-hero { --padding-top: 0px; --padding-bottom: 0px; }
.elementor .e-con.kmi-content-subsection { --padding-top: clamp(20px, 3vw, 28px); --padding-bottom: clamp(20px, 3vw, 28px); --padding-left: clamp(20px, 3vw, 28px); --padding-right: clamp(20px, 3vw, 28px); }

/* The Elementor kit paints every button saffron; saffron is kept for the main action only. */
body .kmi-site-header button, body .kmi-menu-toggle, body .kmi-language-nav button { background: #fff; color: var(--sand-900); border: 1px solid var(--sand-200); box-shadow: none; text-transform: none; letter-spacing: 0; }
body .kmi-menu-toggle:hover, body .kmi-menu-toggle[aria-expanded="true"] { background: var(--sand-50); color: var(--sand-900); }
body .kmi-header-search .kmi-search-form button { border: 0; background: var(--sand-900); color: #fff; }
body .kmi-site-footer button { background: transparent; color: #fff; }
.kmi-home-hero .elementor-widget-image img { border-radius: 0 !important; box-shadow: none !important; min-height: 0; }

/* Photo credits under hero images (Elementor image captions) */
.kmi-h1-section .elementor-widget-image figure { margin: 0; }
.kmi-h1-section .widget-image-caption, .kmi-elementor-content-section .widget-image-caption { margin-top: 8px; color: var(--sand-600); font: 500 12px/16px var(--font-ui); text-align: start; }
.kmi-home-hero .widget-image-caption { position: absolute; right: 12px; bottom: 10px; z-index: 3; margin: 0; padding: 3px 8px; border-radius: 999px; color: #fff; background: rgba(21,18,16,.55); }
/* Text-only heroes (no image): one readable column */
.kmi-h1-section > .e-con-inner:not(:has(.elementor-widget-image)) { grid-template-columns: minmax(0, 760px) !important; }

/* Elementor quotes a whole font list as one family name; give its global type variables a real stack. */
body[class*="elementor-kit-"] {
  --e-global-typography-primary-font-family: Figtree, "Noto Sans Devanagari";
  --e-global-typography-secondary-font-family: Figtree, "Noto Sans Devanagari";
  --e-global-typography-text-font-family: Figtree, "Noto Sans Devanagari";
  --e-global-typography-accent-font-family: Figtree, "Noto Sans Devanagari";
  --e-global-typography-5de26ab-font-family: Figtree, "Noto Sans Devanagari";
  --e-global-typography-f213d91-font-family: Figtree, "Noto Sans Devanagari";
}
html[lang^="hi"] body[class*="elementor-kit-"] {
  --e-global-typography-text-font-family: "Noto Sans Devanagari", Figtree;
  --e-global-typography-accent-font-family: "Noto Sans Devanagari", Figtree;
  --e-global-typography-primary-font-family: "Anek Devanagari", "Noto Sans Devanagari", Figtree;
}
.kmi-elementor-content-section .elementor-widget-text-editor, .kmi-elementor-content-section td, .kmi-elementor-content-section th { font-family: var(--font-ui); }
html[lang^="hi"] .kmi-elementor-content-section .elementor-widget-text-editor, html[lang^="hi"] .kmi-elementor-content-section td { font-family: var(--font-hi); }
.kmi-elementor-content-section .elementor-widget-text-editor { font-size: 1.0625rem; line-height: 1.7; }

/* Hero grid: the image spans many implicit rows, so row gaps must be zero or empty rows add height. */
.kmi-h1-section > .e-con-inner { row-gap: 0 !important; align-content: start; align-items: start; }
.kmi-h1-section > .e-con-inner > :not(.elementor-widget-image) { margin-block-end: 18px !important; }
.kmi-h1-section > .e-con-inner > :not(.elementor-widget-image):last-child { margin-block-end: 0; }
.kmi-h1-section .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
@media (max-width: 900px) { .kmi-h1-section > .e-con-inner > .elementor-widget-image { margin-block: 8px 18px; } }
.kmi-home-hero .elementor-widget-text-editor, .kmi-home-hero .elementor-widget-text-editor p { color: rgba(255,255,255,.9) !important; }
.kmi-home-hero .elementor-widget-text-editor a { color: #fff; }

/* Safety notice above the footer on every page (content safety rule, 16 Oct 2026). */
.kmi-safety-band { background: var(--geru-50); border-top: 1px solid var(--geru-100); }
.kmi-safety-band p { margin: 0; padding: 18px 0; max-width: 72ch; font: 400 15px/24px var(--font-ui); color: var(--sand-900, #2b2118); }
.kmi-safety-band strong { color: var(--geru-700); }

/* Design System v2 page heroes ([kmi_hero]): the plugin draws the hero, so its section keeps only a small gap. */
.kmi-elementor-content-section.kmi-hero-v2 { padding-block: 0; border-bottom: 0; }
.elementor .e-con.kmi-hero-v2 { --padding-top: 0px; --padding-bottom: 0px; }

/* Article header drawn by the plugin's [kmi_hero] (prototype article layout). */
.kmi-article-hero.kmi-article-hero--v2 { background: transparent; border-bottom: 0; padding-block: clamp(12px, 2vw, 20px) 0; }
.kmi-article-hero--v2 .kmi-breadcrumbs, .kmi-article-hero--v2 nav[aria-label] { margin-bottom: 4px; }
.kmi-blog-hero.kmi-blog-hero--v2 { background: transparent; color: inherit; padding-block: clamp(12px, 2vw, 20px) clamp(16px, 3vw, 32px); border-bottom: 0; }
.kmi-blog-hero--v2 .kmi-breadcrumbs a, .kmi-blog-hero--v2 nav a { color: var(--sand-800); }
/* Prototype module sections sit closer together than long-form sections (prototype .sec.tight). */
.elementor .e-con.kmi-v4-section { --padding-top: clamp(20px, 3vw, 36px); --padding-bottom: clamp(20px, 3vw, 36px); }
.kmi-elementor-content-section.kmi-v4-section { padding-block: clamp(20px, 3vw, 36px); }

/* Footer, prototype v4: notice, brand column and four link columns, then the credits line. */
.kmi-site-footer--v2 { background: var(--sand-50); color: var(--sand-800); border-top: 1px solid var(--sand-200); padding-block: clamp(24px, 4vw, 40px) 24px; }
.kmi-site-footer--v2 .kmi-footer-notice { margin: 0 0 28px; padding: 12px 16px; border: 1px solid var(--sand-200); border-radius: 16px 16px 16px 4px; background: #fff; font: 500 14px/20px var(--font-ui); color: var(--sand-900); }
.kmi-site-footer--v2 .kmi-footer-grid { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr); }
@media (min-width: 900px) { .kmi-site-footer--v2 .kmi-footer-grid { grid-template-columns: minmax(0, 1.3fr) minmax(0, 4fr); gap: 40px; } }
.kmi-site-footer--v2 .kmi-footer-brand p { margin: 10px 0 14px; max-width: 34ch; font: 400 14px/21px var(--font-ui); color: var(--sand-700); }
.kmi-site-footer--v2 .kmi-brand-name, .kmi-site-footer--v2 .kmi-brand-domain { color: var(--sand-950); }
.kmi-site-footer--v2 .kmi-footer-cols { list-style: none; margin: 0; padding: 0; display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .kmi-site-footer--v2 .kmi-footer-cols { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.kmi-site-footer--v2 .kmi-footer-cols > li > a { pointer-events: none; display: block; margin-bottom: 8px; font: 700 13px/18px var(--font-ui); letter-spacing: .04em; text-transform: uppercase; color: var(--sand-950); text-decoration: none; }
.kmi-site-footer--v2 .kmi-footer-cols .sub-menu { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; position: static; opacity: 1; visibility: visible; box-shadow: none; background: none; }
.kmi-site-footer--v2 .kmi-footer-cols .sub-menu a { font: 400 14px/20px var(--font-ui); color: var(--sand-800); text-decoration: none; }
.kmi-site-footer--v2 .kmi-footer-cols .sub-menu a:hover { color: var(--saffron-700, #A93402); text-decoration: underline; }
.kmi-site-footer--v2 .kmi-copyright { margin: 28px 0 0; padding-top: 16px; border-top: 1px solid var(--sand-200); font: 400 13px/18px var(--font-ui); color: var(--sand-600); }
