@layer tushal.base {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	html {
		scroll-behavior: smooth;
		text-size-adjust: 100%;
	}

	body {
		margin: 0;
		background: var(--tushal-color-white);
		color: var(--tushal-color-copy);
		font-family: var(--tushal-font-sans);
		font-size: var(--tushal-font-size-base);
		line-height: var(--tushal-line-body);
		-webkit-font-smoothing: antialiased;
	}

	body,
	button,
	input,
	textarea,
	select {
		font-family: var(--tushal-font-sans);
	}

	img,
	svg,
	video {
		display: block;
		max-width: 100%;
	}

	img {
		height: auto;
	}

	a {
		color: var(--tushal-color-blue-600);
		text-decoration-thickness: 0.08em;
		text-underline-offset: 0.18em;
	}

	a:hover {
		color: var(--tushal-color-violet-500);
	}

	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		margin: 0;
		color: var(--tushal-color-ink);
		font-weight: 800;
		letter-spacing: -0.035em;
		line-height: var(--tushal-line-heading);
	}

	h1 { font-size: var(--tushal-font-size-h1); }
	h2 { font-size: var(--tushal-font-size-h2); }
	h3 { font-size: var(--tushal-font-size-h3); }
	h4 { font-size: var(--tushal-font-size-h4); }

	p,
	ul,
	ol,
	blockquote {
		margin-block: 0 1em;
	}

	p:last-child,
	ul:last-child,
	ol:last-child,
	blockquote:last-child {
		margin-bottom: 0;
	}

	:lang(hi) {
		line-height: var(--tushal-line-devanagari);
	}

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

	button,
	[type="button"],
	[type="submit"] {
		cursor: pointer;
	}

	:focus-visible {
		outline: 3px solid var(--tushal-color-blue-500);
		outline-offset: 3px;
	}

	.tushal-skip-link {
		position: fixed;
		top: var(--tushal-space-3);
		left: var(--tushal-space-3);
		z-index: 99999;
		padding: 0.75rem 1rem;
		transform: translateY(-180%);
		border-radius: var(--tushal-radius-control);
		background: var(--tushal-color-navy-950);
		color: var(--tushal-color-white);
		font-weight: 700;
		transition: transform var(--tushal-duration-fast) var(--tushal-ease);
	}

	.tushal-skip-link:focus {
		transform: translateY(0);
	}

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

	@media (prefers-reduced-motion: reduce) {
		html { scroll-behavior: auto; }
		*,
		*::before,
		*::after {
			animation-duration: 0.01ms !important;
			animation-iteration-count: 1 !important;
			transition-duration: 0.01ms !important;
			scroll-behavior: auto !important;
		}
	}
}

@layer tushal.base {
	[hidden] { display: none !important; }

	:target { scroll-margin-top: calc(var(--tushal-header-height, 76px) + 1rem); }

	@media (forced-colors: active) {
		:focus-visible { outline: 3px solid Highlight; }
		.tushal-button,
		.tushal-card,
		.tushal-field input,
		.tushal-field textarea,
		.tushal-field select { border: 2px solid CanvasText; }
	}

	@media (prefers-contrast: more) {
		body { color: var(--tushal-color-ink); }
		a { text-decoration-thickness: .12em; }
		.tushal-card { border-width: 3px; }
	}
}
