/* Base: fonts, design tokens, reset, typography. */

@font-face {
	font-family: Mukta;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/mukta-400-devanagari.woff2") format("woff2");
	unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
	font-family: Mukta;
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/mukta-600-devanagari.woff2") format("woff2");
	unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
	font-family: Mukta;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/mukta-700-devanagari.woff2") format("woff2");
	unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC, U+A830-A839, U+A8E0-A8FF;
}
@font-face {
	font-family: Mukta;
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("../fonts/mukta-400-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: Mukta;
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("../fonts/mukta-600-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: Mukta;
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url("../fonts/mukta-700-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;
}

:root {
	--tmp-ink: #0B1B33;
	--tmp-text: #1F2937;
	--tmp-muted: #5B6575;
	--tmp-brand-blue: #1A5BD6;
	--tmp-brand-cyan: #0CCCFC;
	--tmp-accent-orange: #FF8A3D;
	--tmp-accent-orange-deep: #C2410C;
	--tmp-gain: #0F7B3F;
	--tmp-loss: #C42B1C;
	--tmp-surface: #F5F8FC;
	--tmp-card: #FFFFFF;
	--tmp-border: #E2E8F0;
	--tmp-tint-blue: #EAF2FF;
	--tmp-tint-orange: #FFF4EC;
	--tmp-tint-orange-text: #7A2E0B;
	--tmp-on-dark-muted: #AFC3E0;
	--tmp-gradient: linear-gradient(90deg, #0CCCFC, #3090FC, #FC9C30, #FC300C);
	--tmp-radius: 12px;
	--tmp-gutter: 16px;
	--tmp-container: 1200px;
	--tmp-reading: 720px;
	--tmp-font: Mukta, "Noto Sans Devanagari", system-ui, -apple-system, "Segoe UI", sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-padding-top: 80px; }

body {
	margin: 0;
	background: var(--tmp-surface);
	color: var(--tmp-text);
	font-family: var(--tmp-font);
	font-size: 18px;
	line-height: 1.75;
	overflow-wrap: break-word;
}

html:lang(en) body { font-size: 17px; line-height: 1.65; }

@media (min-width: 1024px) {
	body { font-size: 19px; }
	html:lang(en) body { font-size: 18px; }
}

h1, h2, h3, h4, h5, h6 {
	color: var(--tmp-ink);
	font-weight: 700;
	line-height: 1.4;
	margin: 1.6em 0 0.6em;
}
h1 { font-size: 1.75rem; }
h2 { font-size: 1.45rem; }
h3 { font-size: 1.2rem; }
@media (min-width: 1024px) {
	h1 { font-size: 2.25rem; }
	h2 { font-size: 1.6rem; }
	h3 { font-size: 1.3rem; }
}

p { margin: 0 0 1.1em; }

/* Devanagari has no true italic: use weight for emphasis instead. */
:lang(hi) em, :lang(hi) i, :lang(hi) cite { font-style: normal; font-weight: 600; }

a { color: var(--tmp-brand-blue); text-underline-offset: 3px; }
a:hover { color: var(--tmp-ink); }

:focus-visible { outline: 2px solid var(--tmp-brand-blue); outline-offset: 2px; }

img, svg, video { max-width: 100%; height: auto; }
/* Iframes keep their height attribute (height:auto would collapse them to 150px). */
iframe { max-width: 100%; }
img { display: block; }

button, input, select, textarea { font: inherit; color: inherit; }

table { font-variant-numeric: tabular-nums; }

.screen-reader-text, .tmp-visually-hidden {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.tmp-icon { display: inline-block; width: 1.1em; height: 1.1em; vertical-align: -0.15em; flex: none; }
