/*
 * BSN App design tokens — Playfair Display (display) + Poppins (interface).
 * Palette follows the approved mockups: deep navy, midnight navy, warm amber-gold, warm white.
 */

@font-face { font-family: "Poppins"; src: url("../fonts/poppins-400.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-500.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-600.woff2") format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }
@font-face { font-family: "Poppins"; src: url("../fonts/poppins-700.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("../fonts/playfair-display-500-800.woff2") format("woff2"); font-weight: 500 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Playfair Display"; src: url("../fonts/playfair-display-500-700-italic.woff2") format("woff2"); font-weight: 500 700; font-style: italic; font-display: swap; }

:root {
	color-scheme: light;

	/* Brand */
	--navy-950: #06172a;
	--navy-900: #0b2239;
	--navy-800: #10304f;
	--navy-700: #163a5f;
	--navy-600: #1e4a78;
	--slate-500: #2e5e8c;
	--slate-300: #9db3ca;
	--slate-100: #e7eef6;
	--slate-50: #f2f6fa;
	--warm-white: #f8f7f3;
	--cream: #fdf8ec;
	--white: #ffffff;
	--charcoal: #1f2937;
	--ink-600: #4b5563;
	--ink-500: #6b7280;
	--ink-400: #9ca3af;
	--border: #e9e7e1;
	--border-strong: #d9d6ce;
	--gold: #f2a81d;
	--gold-deep: #d98e07;
	--gold-soft: #fff3d6;
	--gold-ink: #8a5a00;
	--whatsapp: #1fa855;

	/* Status */
	--ok: #1c7c54;
	--ok-soft: #e6f4ed;
	--warn: #9a6b00;
	--warn-soft: #fbf3dc;
	--danger: #c23a2b;
	--danger-soft: #fdeceb;

	/* Type */
	--font-sans: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans Malayalam", "Noto Sans", Arial, sans-serif;
	--font-display: "Playfair Display", "Iowan Old Style", Georgia, "Times New Roman", serif;
	--fs-11: 0.6875rem;
	--fs-12: 0.75rem;
	--fs-13: 0.8125rem;
	--fs-14: 0.875rem;
	--fs-15: 0.9375rem;
	--fs-16: 1rem;
	--fs-18: 1.125rem;
	--fs-20: 1.25rem;
	--fs-24: 1.5rem;
	--fs-28: 1.75rem;
	--fs-32: 2rem;
	--fs-40: 2.5rem;
	--fs-52: 3.25rem;
	--lh-tight: 1.15;
	--lh-snug: 1.3;
	--lh-body: 1.6;
	--tracking-tight: -0.01em;
	--tracking-caps: 0.12em;

	/* Space (4px grid) */
	--s-1: 4px;
	--s-2: 8px;
	--s-3: 12px;
	--s-4: 16px;
	--s-5: 20px;
	--s-6: 24px;
	--s-8: 32px;
	--s-10: 40px;
	--s-12: 48px;
	--s-16: 64px;
	--gutter: 16px;
	--maxw: 1240px;

	/* Shape */
	--r-sm: 8px;
	--r-md: 12px;
	--r-lg: 16px;
	--r-xl: 22px;
	--r-2xl: 28px;
	--r-pill: 999px;

	/* Depth */
	--shadow-1: 0 1px 2px rgba(11, 34, 57, 0.05), 0 1px 1px rgba(11, 34, 57, 0.03);
	--shadow-2: 0 1px 2px rgba(11, 34, 57, 0.05), 0 6px 18px -6px rgba(11, 34, 57, 0.12);
	--shadow-3: 0 2px 4px rgba(11, 34, 57, 0.05), 0 16px 40px -12px rgba(11, 34, 57, 0.2);
	--shadow-float: 0 1px 1px rgba(11, 34, 57, 0.05), 0 14px 34px -8px rgba(11, 34, 57, 0.35);
	--shadow-gold: 0 8px 22px -8px rgba(217, 142, 7, 0.65);

	/* Glass */
	--glass-bg: rgba(255, 255, 255, 0.82);
	--glass-bg-strong: rgba(255, 255, 255, 0.9);
	--glass-border: rgba(11, 34, 57, 0.08);
	--glass-highlight: inset 0 1px 0 rgba(255, 255, 255, 0.85);
	--glass-blur: saturate(160%) blur(10px);
	--glass-dark-bg: rgba(255, 255, 255, 0.08);
	--glass-dark-border: rgba(255, 255, 255, 0.14);

	/* Focus */
	--focus: 0 0 0 3px rgba(46, 94, 140, 0.32);

	/* Motion */
	--ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--ease-spring: cubic-bezier(0.32, 0.72, 0, 1);
	--t-fast: 120ms;
	--t: 200ms;
	--t-slow: 320ms;

	/* Chrome */
	--header-h: 60px;
	--bottom-nav-h: 68px;
	--sidebar-w: 236px;
	--safe-bottom: env(safe-area-inset-bottom, 0px);
}

@media (min-width: 1024px) {
	:root {
		--gutter: 36px;
		--header-h: 76px;
	}
}

@media (prefers-reduced-motion: reduce) {
	:root {
		--t-fast: 0ms;
		--t: 0ms;
		--t-slow: 0ms;
	}
}
