/* haki site. Shared tokens for the landing page and the legal pages. Fonts are self-hosted (no Google requests). */
@font-face { font-family: "Figtree"; src: url(/fonts/figtree-latin-wght-normal.woff2) format("woff2"); font-weight: 300 900; font-display: swap;
  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"; src: url(/fonts/figtree-latin-ext-wght-normal.woff2) format("woff2"); font-weight: 300 900; font-display: swap;
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF; }
@font-face { font-family: "Haki Indic"; src: url(/fonts/noto-sans-devanagari-devanagari-wght-normal.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0900-097F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+25CC,U+A830-A839,U+A8E0-A8FF; }
@font-face { font-family: "Haki Indic"; src: url(/fonts/noto-sans-kannada-kannada-wght-normal.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0C80-0CF3,U+200C-200D,U+25CC; }
:root {
  --ink: #0f1638;
  --ink-2: #4a5275;
  --white: #ffffff;
  --mist: #f3f6ff;
  --butter: #ffdd4a;
  --sky: #cfe8ff;
  --mint: #c4f1d8;
  --lilac: #e4dcff;
  --peach: #ffdccf;
  --win: #0b9655;
  --alert: #e8364f;
  --display: "Figtree", "Haki Indic", system-ui, sans-serif;
  --body: "Figtree", "Haki Indic", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; } }
body { margin: 0; background: var(--white); color: var(--ink); font: 450 17px/1.55 var(--body); }
a { color: var(--ink); text-decoration-color: var(--butter); text-decoration-thickness: 3px; text-underline-offset: 3px; }
:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; }
.wrap { max-width: 1120px; margin: 0 auto; padding: 0 22px; }

header.top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 18px; padding-bottom: 18px; }
.mark { display: inline-flex; align-items: center; gap: 8px; font: 800 30px/1 var(--display); letter-spacing: -0.03em; text-decoration: none; color: var(--ink); }
.mark svg, .mark img { width: 34px; height: 34px; }
nav a { margin-left: 18px; font-size: 15px; font-weight: 500; }

h1, h2, h3 { font-family: var(--display); letter-spacing: -0.035em; text-wrap: balance; margin: 0; }
h1 { font-size: clamp(44px, 7.6vw, 88px); font-weight: 800; line-height: 0.98; }
h2 { font-size: clamp(34px, 5vw, 56px); font-weight: 800; line-height: 1.02; margin-bottom: 14px; }
h3 { font-size: 26px; font-weight: 700; line-height: 1.1; }
p { margin: 0 0 12px; }

footer { padding: 40px 0 60px; font-size: 14.5px; color: var(--ink-2); }
footer p { margin-bottom: 8px; max-width: 70ch; }

/* Legal pages */
.legal { padding: 34px 26px; background: var(--mist); border-radius: 28px; margin-bottom: 20px; }
.legal h1 { font-size: clamp(36px, 6vw, 52px); margin-bottom: 8px; }
.legal h2 { font-size: 25px; margin: 30px 0 8px; }
.legal .meta { color: var(--ink-2); font-size: 15px; margin-bottom: 20px; }
.legal ul { margin: 0 0 12px; padding-left: 22px; display: grid; gap: 5px; }
.legal p, .legal li { max-width: 72ch; }
.legal .note { background: var(--white); border-radius: 16px; padding: 12px 16px; }
table.data { width: 100%; border-collapse: collapse; font-size: 15.5px; margin: 8px 0 14px; }
table.data th, table.data td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid #d9def0; }
table.data th { font-size: 14px; color: var(--ink-2); }
.scroll { overflow-x: auto; }
