/**
 * WORKS theme foundation.
 *
 * Shared brand tokens, browser reset, page defaults,
 * container layout, and accessibility helpers.
 */

:root {
	--works-navy: #0b1f3b;
	--works-blue-deep: #0d47a1;
	--works-blue: #1565c0;
	--works-blue-royal: #1976d2;
	--works-sky: #42a5f5;
	--works-light-blue: #90caf9;
	--works-pale-blue: #e3f2fd;
	--works-ice: #f1f9ff;

	--works-orange: #f57c00;
	--works-bold-orange: #fb8c00;
	--works-amber: #ffa726;
	--works-gold: #ffb74d;
	--works-peach: #ffd7a3;

	--works-charcoal: #263238;
	--works-steel: #455a64;
	--works-gray: #78909c;
	--works-cool-gray: #b0bec5;
	--works-light-gray: #cfd8dc;
	--works-off-white: #eceff1;
	--works-white: #ffffff;

	--works-ink: var(--works-navy);
	--works-muted: #536579;
	--works-font: Inter, Arial, sans-serif;
	--works-width: 1160px;
	--works-section-space: clamp(3.8rem, 7vw, 6rem);
}

/* Use predictable sizing for all elements. */
* {
	box-sizing: border-box;
}

/* Set the site-wide scrolling and text defaults. */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 90px;
}

body {
	margin: 0;
	color: var(--works-ink);
	background: var(--works-white);
	font-family: var(--works-font);
	line-height: 1.55;
}

a {
	color: inherit;
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.2em;
}

img {
	max-width: 100%;
	height: auto;
}

/* Reusable centered page-width wrapper. */
.works-container {
	width: min(var(--works-width), calc(100% - 3rem));
	margin-inline: auto;
}

/* Accessibility helpers shared across the site. */
.works-screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

.works-skip-link {
	position: absolute;
	z-index: 50;
	top: -100px;
	left: 1rem;
	padding: 0.7rem 1rem;
	color: var(--works-navy);
	background: var(--works-white);
}

.works-skip-link:focus {
	top: 1rem;
}

/* Respect visitors who prefer less animation. */
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		transition-duration: 0.01ms !important;
	}
}