/* ═══════════════════════════════════════════════════════════════════════════
   KEELAMBI CATALOGUE PAGES — shared stylesheet (Phase 2, proposal §5/§8).
   Cached once, reused by every /products/, /tools/ page. Tokens mirror the
   homepage design system exactly — same fonts, colours, pill CTAs, hairlines.
   Budget: keep this file lean; page-specific rules stay tiny and inline.
   ═══════════════════════════════════════════════════════════════════════════ */
:root{
  --canvas:#FFFFFF; --canvas-2:#F5F5F7; --ink:#1D1D1F; --ink-2:#6E6E73;
  --saffron:#FF9933; --saffron-ink:#B25A00; --green:#138808; --green-soft:#E8F5E8;
  --navy:#1E2A78; --brand-maroon:#781216;
  --line:rgba(0,0,0,.08); --line-strong:rgba(0,0,0,.14);
  /* price-anchor system (2026-08-26) — struck MRP + savings chip. Deliberately
     NOT the India-Green brand token: --green is reserved for the money accent in
     copy, these three are the chip's own surface, ink and hairline. */
  --price-was:#86868B; --save-bg:#E8F5E9; --save-ink:#2E7D32; --save-line:#C8E6C9;
  --r-pill:980px; --r-card:16px; --ease:cubic-bezier(.22,1,.36,1);
  --f-body:"DM Sans",-apple-system,system-ui,"Segoe UI",Roboto,sans-serif;
  --f-kn:"Noto Sans Kannada","DM Sans",sans-serif;
  /* Bebas is already downloaded by every catalogue page's font link — it was loaded
     and never used here, so the catalogue spoke a different voice from the homepage
     and the flagship. Wiring the token costs zero new bytes. */
  --f-display:"Bebas Neue","DM Sans",sans-serif;
  --f-hand:"Caveat","Segoe Script","Bradley Hand",cursive;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;color-scheme:light;-webkit-text-size-adjust:100%}
body{overflow-x:hidden;font-family:var(--f-body);font-size:clamp(15px,1.4vw,17px);line-height:1.55;
  color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
button,a{font-family:inherit;color:inherit}
/* bilingual — same sibling-span system as the homepage */
html[lang="en"] [data-kn]{display:none}
html[lang="kn"] [data-en]{display:none}
[data-kn].kn-fallback{display:none}
html[lang="kn"] [data-en].kn-fallback{display:inline}
html[lang="kn"] [data-kn]{font-family:var(--f-kn)}
html[lang="kn"] body{line-height:1.7;font-family:var(--f-kn)}
.lat{white-space:nowrap}
html[lang="kn"] .lat{font-family:var(--f-body);letter-spacing:normal}

.kb-wrap{max-width:840px;margin-inline:auto;padding-inline:20px}
@media(min-width:744px){.kb-wrap{padding-inline:48px}}

/* ── top bar (minimal; full mega-nav arrives with Phase 3 shared nav) ── */
.kb-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;
  gap:12px;height:60px;padding-inline:clamp(16px,4vw,48px);background:rgba(255,255,255,.86);
  backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);
  border-bottom:0.5px solid var(--line)}
.kb-bar-logo img{height:28px;width:auto}
.kb-bar-right{display:flex;align-items:center;gap:10px}
.kb-langctl{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden}
.kb-langseg{height:38px;padding-inline:12px;background:transparent;font-weight:600;font-size:13px;cursor:pointer;border:0;line-height:1}
.kb-langseg[data-lang="kn"]{font-family:var(--f-kn)}
.kb-langseg[aria-pressed="true"]{background:var(--brand-maroon);color:#fff}
.kb-crumb{padding:14px 0 0;font-size:13px;color:var(--ink-2)}
.kb-crumb a{color:inherit;text-decoration:none}
.kb-crumb a:hover{color:var(--saffron-ink)}
.kb-crumb .sep{margin:0 6px;opacity:.6}

/* ── type ── */
.kb-eyebrow{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--saffron-ink)}
html[lang="kn"] .kb-eyebrow{letter-spacing:0;text-transform:none;font-family:var(--f-kn)}
/* ═══ KEELAMBI TYPE SYSTEM — three layers, one voice ═══════════════════════
   A · FUNCTIONAL  var(--f-body)     DM Sans — body, specs, tables, forms, nav, CTAs.
                                     The workhorse. Never replace it for utility text.
   B · STATEMENT   var(--f-display)  Bebas Neue — headlines meant to LAND as statements
                                     (category titles, section-defining moments).
                                     Kannada has no Bebas glyphs → falls back to Noto
                                     Sans Kannada 700 with taller line-height. This is
                                     the established, approved pattern (see CLAUDE.md).
   C · ANNOTATION  var(--f-hand)     Caveat — a thought written onto the page. ACCENT
                                     ONLY: at most one or two per section, never a
                                     paragraph, never for information the reader needs.
                                     Requires the page to load Caveat; Kannada falls
                                     back to Noto (no Caveat Kannada glyphs exist).
   Rule of thumb: B carries the voice, C carries the personality, A carries the load.
   If a moment reads better in A, leave it in A. More typography is not the goal.
   ═══════════════════════════════════════════════════════════════════════════ */
/* Layer B — Bebas is condensed, so it sits ~25% larger than DM Sans at equal optical size */
.kb-h1{font-family:var(--f-display);font-weight:400;font-size:clamp(34px,6.4vw,56px);
  line-height:.98;letter-spacing:.02em;margin-top:10px}
html[lang="kn"] .kb-h1{font-family:var(--f-kn);font-weight:700;font-size:clamp(26px,5.2vw,42px);
  line-height:1.3;letter-spacing:0}
/* reusable statement class for any section-defining headline */
.kb-statement{font-family:var(--f-display);font-weight:400;line-height:.98;letter-spacing:.02em;
  font-size:clamp(32px,4.6vw,60px);color:var(--ink)}
html[lang="kn"] .kb-statement{font-family:var(--f-kn);font-weight:700;line-height:1.32;
  letter-spacing:0;font-size:clamp(25px,3.6vw,44px)}
/* Layer C — pen annotation. Saffron ink, a hair off-axis, as if written by hand. */
.kb-pen{font-family:var(--f-hand);font-weight:600;line-height:1.14;letter-spacing:.01em;
  font-size:clamp(19px,2.1vw,28px);color:var(--saffron-ink);display:inline-block;
  transform:rotate(-1.8deg);transform-origin:left bottom}
.kb-pen--lg{font-size:clamp(24px,2.9vw,38px)}
.kb-pen--dark{color:var(--saffron)}
/* Kannada: Noto carries the note instead — still an aside (saffron, offset, smaller),
   but upright, because rotated Kannada script reads as broken, not as handwriting. */
html[lang="kn"] .kb-pen{font-family:var(--f-kn);font-weight:500;transform:none;
  font-size:clamp(15px,1.6vw,19px);line-height:1.55;letter-spacing:0}
@media(prefers-reduced-motion:reduce){.kb-pen{transform:none}}

.kb-sub{margin-top:12px;color:var(--ink-2);max-width:58ch}
.kb-note{font-size:12.5px;color:var(--ink-2)}

/* ── PDP hero ── */
.kb-hero{padding:26px 0 8px}
.kb-media{margin-top:20px;background:var(--canvas-2);border:0.5px solid var(--line);border-radius:var(--r-card);
  aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;overflow:hidden}
.kb-media img{width:100%;height:100%;object-fit:contain;padding:14px}
.kb-media.is-ph{background:linear-gradient(135deg,var(--canvas-2),#ececef)}
.kb-media.is-ph::after{content:attr(data-name);font-weight:700;font-size:20px;color:var(--ink-2);letter-spacing:-0.01em}
.kb-fit{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-weight:600;font-size:13.5px;color:var(--green)}
.kb-fit::before{content:"✓";font-size:12px}

/* ── price block · THE price-anchor component ────────────────────────
   One pattern, every surface: the price the farmer pays is the loud, high-contrast
   figure; the MRP sits quietly beside it, struck through; the saving is a soft chip.
   The now-price is INK, not an accent — which is what lets the savings chip be the
   card's single accent instead of a second one fighting a maroon or saffron price.
   Every numeral is tabular, so changing grade cannot shift the layout. ── */
.kb-priceblock{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 10px;margin-top:18px}
.kb-was{font-size:15px;color:var(--price-was);text-decoration:line-through;
  text-decoration-thickness:1px;text-underline-offset:2px;font-variant-numeric:tabular-nums}
.kb-now{font-weight:800;font-size:clamp(26px,5vw,38px);color:var(--ink);letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.kb-save{display:inline-flex;align-items:center;background:var(--save-bg);color:var(--save-ink);
  border:1px solid var(--save-line);font-weight:600;font-size:11.5px;line-height:1.5;
  padding:2px 10px;border-radius:var(--r-pill);white-space:nowrap;font-variant-numeric:tabular-nums}
/* the honest sentence under a price: what came off, and that tax is already in it */
.kb-savenote{display:block;margin-top:7px;font-size:12.5px;line-height:1.5;color:var(--ink-2);font-variant-numeric:tabular-nums}
.kb-pricenote{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-2)}

/* ── buttons ── */
.kb-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:11px 26px;
  border-radius:var(--r-pill);font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;border:0;
  transition:transform .16s var(--ease),box-shadow .24s var(--ease),background .16s var(--ease)}
.kb-btn:active{transform:scale(.98)}
.kb-btn-pri{background:var(--saffron);color:#1A1208}
.kb-btn-pri:hover{background:#FFA64D;box-shadow:0 6px 16px rgba(255,153,51,.32)}
.kb-btn-sec{background:var(--canvas);color:var(--ink);border:1px solid var(--line-strong)}
.kb-btn-sec:hover{background:var(--canvas-2)}
.kb-btn-wa{background:#25D366;color:#fff}
.kb-btn-wa:hover{background:#1eb457}
.kb-triad{display:flex;flex-direction:column;gap:10px;margin-top:22px}
@media(min-width:600px){.kb-triad{flex-direction:row;flex-wrap:wrap}}
.kb-call{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-weight:600;font-size:14px;
  color:var(--ink-2);text-decoration:underline;text-underline-offset:3px}
.kb-call:hover{color:var(--ink)}

/* ── sections / cards ── */
.kb-sec{padding:34px 0;border-top:0.5px solid var(--line);margin-top:26px}
.kb-h2{font-weight:700;font-size:clamp(19px,3vw,24px);letter-spacing:-0.015em}
html[lang="kn"] .kb-h2{letter-spacing:0;line-height:1.35}
.kb-ticks{list-style:none;margin:16px 0 0;display:grid;gap:10px}
.kb-ticks li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.5}
.kb-ticks li::before{content:"";position:absolute;left:0;top:3px;width:17px;height:17px;border-radius:50%;background:var(--green-soft)}
.kb-ticks li::after{content:"";position:absolute;left:6px;top:6px;width:4px;height:8px;border:solid var(--green);border-width:0 2px 2px 0;transform:rotate(45deg)}
.kb-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:18px}
.kb-card{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--canvas);border:0.5px solid var(--line);
  border-radius:var(--r-card);text-decoration:none;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
a.kb-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px -18px rgba(0,0,0,.16)}
.kb-card-media{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;margin:-4px -4px 8px;
  border-radius:12px;overflow:hidden;background:linear-gradient(135deg,var(--canvas-2) 0%,#EDEBE6 100%)}
.kb-card-media img{width:100%;height:100%;object-fit:cover}
.kb-card-media.is-ph img{width:34%;max-width:46px;height:auto;object-fit:contain;opacity:.20;filter:saturate(.45)}
.kb-card-name{font-weight:600;font-size:15.5px}
.kb-card-meta{font-size:13px;color:var(--ink-2);line-height:1.45}
.kb-card-price{margin-top:auto;padding-top:8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px;
  font-weight:700;font-size:14.5px;color:var(--ink);font-variant-numeric:tabular-nums}
.kb-card-price .was{font-weight:500;font-size:12.5px;color:var(--price-was);text-decoration:line-through;
  text-decoration-thickness:1px;text-underline-offset:2px}
.kb-card-price .off{background:var(--save-bg);color:var(--save-ink);border:1px solid var(--save-line);
  font-weight:600;font-size:11.5px;line-height:1.55;padding:1px 8px;border-radius:var(--r-pill);white-space:nowrap}
.kb-card-tag{align-self:flex-start;font-weight:700;font-size:10px;letter-spacing:.04em;text-transform:uppercase;
  padding:2px 8px;border-radius:var(--r-pill)}
html[lang="kn"] .kb-card-tag{letter-spacing:0;text-transform:none}
.kb-card-tag.is-top{background:var(--green-soft);color:var(--green)}
.kb-card-tag.is-new{background:var(--saffron);color:#3a2400}
.kb-roi-tease{display:flex;align-items:center;gap:12px;margin-top:22px;padding:16px 18px;background:var(--green-soft);
  border:0.5px solid rgba(19,136,8,.22);border-radius:var(--r-card);text-decoration:none;color:var(--ink)}
.kb-roi-tease b{color:var(--green)}
.kb-roi-tease:hover{box-shadow:0 8px 20px -12px rgba(19,136,8,.3)}

/* ── reach selector (Doti PDP — mirrors homepage .reach) ── */
.kb-reach{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-top:16px}
.kb-reach-card{position:relative;display:flex;flex-direction:column;gap:4px;padding:16px;min-height:44px;
  background:#fff;border:1.5px solid var(--line);border-radius:var(--r-card);cursor:pointer;text-align:left;font-family:inherit}
.kb-reach-card[aria-checked="true"]{border-color:var(--saffron);box-shadow:0 0 0 3px rgba(255,153,51,.18)}
.kb-reach-code{font-weight:700;font-size:18px;font-variant-numeric:tabular-nums}
.kb-reach-ft{font-size:13px;color:var(--ink-2)}
.kb-reach-price{font-weight:700;font-size:14px;color:var(--saffron-ink);margin-top:6px}
.kb-reach-pos{position:absolute;top:12px;right:12px;font-weight:700;font-size:10px;color:var(--green);
  background:var(--green-soft);padding:2px 7px;border-radius:var(--r-pill);text-transform:uppercase}
html[lang="kn"] .kb-reach-pos{text-transform:none}
.kb-echo{margin-top:14px;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums}

/* ── ROI tool page ── */
.kb-seg{display:inline-flex;border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden;width:100%}
.kb-seg button{flex:1;height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:transparent;border:0;cursor:pointer;font-weight:600;font-size:15px}
.kb-seg button[aria-pressed="true"]{background:var(--saffron);color:#1a1208}
.kb-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:var(--line);margin:22px 0 6px}
.kb-slider::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px;border-radius:50%;
  background:var(--saffron);border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.28);cursor:pointer}
.kb-slider::-moz-range-thumb{width:30px;height:30px;border:3px solid #fff;border-radius:50%;background:var(--saffron);cursor:pointer}
.kb-chips{display:grid;gap:8px;margin-top:14px}
.kb-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;min-height:50px;border:0.5px solid var(--line);
  border-radius:14px;background:var(--canvas);cursor:pointer}
.kb-chip input{position:absolute;opacity:0;pointer-events:none}
.kb-chip.on{border-color:var(--green);background:var(--green-soft)}
.kb-chip .n{flex:1;font-size:14.5px}
.kb-chip .p{font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.kb-answer{margin-top:26px;padding:28px 22px;text-align:center;background:var(--canvas);
  border:0.5px solid var(--line);border-radius:var(--r-card)}
.kb-answer-lab{display:block;font-weight:600;font-size:14px;color:var(--navy)}
.kb-answer-val{display:block;margin-top:8px;font-weight:800;font-size:clamp(40px,9vw,64px);line-height:1;
  color:var(--green);font-variant-numeric:tabular-nums;letter-spacing:-0.02em}
.kb-answer-pb{display:inline-flex;gap:6px;margin-top:12px;background:#FFF4E5;color:var(--saffron-ink);
  font-weight:600;font-size:14px;padding:8px 16px;border-radius:var(--r-pill)}
.kb-answer-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.kb-answer-cell{padding:12px 8px;background:var(--canvas);border:0.5px solid var(--line);border-radius:12px;text-align:center}
.kb-answer-cell b{display:block;font-size:clamp(15px,2.4vw,20px);color:var(--green);font-variant-numeric:tabular-nums}
.kb-answer-cell b.cost{color:var(--brand-maroon)}
.kb-answer-cell span{font-size:11.5px;color:var(--ink-2)}

/* ═══ PHASE 4 · EXPERIENCE KIT ═══ */
/* motion grammar — one reveal language on every catalogue page (reduced-motion safe) */
html.kb-js .kb-rev{opacity:0;transform:translateY(22px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
html.kb-js .kb-rev.in{opacity:1;transform:none}
.kb-rev.in{opacity:1;transform:none}
.kb-rev[data-rev-d="1"]{transition-delay:.08s}.kb-rev[data-rev-d="2"]{transition-delay:.16s}.kb-rev[data-rev-d="3"]{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){.kb-rev{opacity:1;transform:none;transition:none}}
/* premium branded placeholder — the K mark composed on a soft tile, never a bare cube */
.kb-media.is-ph{position:relative;background:linear-gradient(135deg,var(--canvas-2) 0%,#EDEBE6 100%);overflow:hidden}
.kb-media.is-ph::before{content:"";position:absolute;inset:0;
  background:url('/assets/images/keelambi-mark.svg') center 38% / clamp(56px,16%,96px) no-repeat;
  opacity:.16;filter:saturate(.5)}
.kb-media.is-ph::after{content:attr(data-name);position:absolute;left:0;right:0;top:62%;
  text-align:center;font-weight:700;font-size:clamp(16px,2.4vw,21px);color:var(--ink-2);letter-spacing:-0.01em}
.kb-media .kb-ph-rule{display:none}
.kb-media.is-ph .kb-ph-rule{display:block;position:absolute;left:50%;top:56%;transform:translateX(-50%);
  width:44px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--saffron),var(--brand-maroon))}
/* "next experience" band — LAW 2 as a component; tricolor signature rule on top */
.kb-next{position:relative;margin-top:56px;padding:clamp(28px,5vw,44px) 0 clamp(30px,5vw,46px);background:var(--canvas-2)}
.kb-next::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--saffron) 0 33.4%,var(--navy) 33.4% 66.7%,var(--green) 66.7% 100%)}
.kb-next-title{font-weight:700;font-size:clamp(19px,3vw,26px);letter-spacing:-0.015em;max-width:30ch}
html[lang="kn"] .kb-next-title{letter-spacing:0;line-height:1.4}
.kb-next-sub{margin-top:8px;color:var(--ink-2);font-size:14.5px;max-width:52ch}
.kb-next .kb-triad{margin-top:18px}
/* the answer, staged — shared by the ROI page + homepage live stat */
.kb-stage{position:relative;border:0.5px solid var(--line);border-radius:20px;background:var(--canvas);
  padding:clamp(24px,4.5vw,40px) clamp(18px,3.5vw,34px);text-align:center;overflow:hidden}
.kb-stage::before{content:"";position:absolute;inset:-30%;pointer-events:none;
  background:radial-gradient(50% 40% at 50% 42%,rgba(19,136,8,.08),transparent 70%)}
.kb-stage.tick .kb-stage-val{animation:kbPulse .45s var(--ease)}
@keyframes kbPulse{0%{transform:scale(.985)}60%{transform:scale(1.015)}100%{transform:scale(1)}}
.kb-stage-lab{display:block;font-weight:600;font-size:14px;color:var(--navy)}
.kb-stage-val{display:block;margin-top:10px;font-weight:800;line-height:1;letter-spacing:-0.02em;
  font-size:clamp(46px,11vw,76px);color:var(--green);font-variant-numeric:tabular-nums}
.kb-stage-pb{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:14px;
  background:#FFF4E5;color:var(--saffron-ink);font-weight:600;font-size:14px;padding:8px 16px;border-radius:var(--r-pill)}
.kb-stage-note{display:block;margin-top:10px;font-size:12.5px;color:var(--ink-2)}
/* floating live-result pill (mobile) — the number follows the farmer while adjusting */
.kb-live{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:60;
  display:flex;align-items:center;gap:10px;padding:12px 18px;min-height:50px;cursor:pointer;border:0.5px solid var(--line);
  background:rgba(255,255,255,.93);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-radius:var(--r-pill);box-shadow:0 12px 32px -12px rgba(0,0,0,.2);
  transform:translateY(180%);transition:transform .35s var(--ease)}
.kb-live.show{transform:none}
.kb-live .kl-lab{font-size:12px;color:var(--ink-2)}
.kb-live .kl-val{flex:1;text-align:left;font-weight:800;font-size:18px;color:var(--green);font-variant-numeric:tabular-nums}
.kb-live .kl-pb{font-size:12px;color:var(--saffron-ink);background:#FFF4E5;padding:4px 10px;border-radius:var(--r-pill);white-space:nowrap}
@media(min-width:900px){.kb-live{display:none}}
@media(prefers-reduced-motion:reduce){.kb-live{transition:none}}
/* ROI page stage layout: mobile stacks; desktop = controls left, sticky living answer right */
.kb-roi-grid{display:grid;gap:22px;margin-top:26px;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){
  .kb-roi-grid{grid-template-columns:minmax(0,1fr) 400px;align-items:start}
  .kb-roi-answer{position:sticky;top:84px;order:2}
  .kb-roi-controls{order:1}
  .kb-roi-answer .kb-stage-val{font-size:clamp(40px,4.4vw,54px)}
}
.kb-roi-controls{border:0.5px solid var(--line);border-radius:20px;background:var(--canvas);padding:clamp(18px,3vw,28px)}

/* ── footer mini ── */
.kb-foot{margin-top:56px;background:var(--brand-maroon);color:rgba(255,255,255,.75);padding:30px 0 34px}
.kb-foot a{color:rgba(255,255,255,.85);text-decoration:none;font-size:13.5px;padding:8px 0;display:inline-block}
.kb-foot a:hover{color:#fff}
.kb-foot-links{display:flex;flex-wrap:wrap;gap:6px 20px}
.kb-foot-base{margin-top:12px;font-size:12px;color:rgba(255,255,255,.55)}
:focus-visible{outline:2px solid var(--saffron);outline-offset:3px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation:none!important}html{scroll-behavior:auto}}
