/* ==========================================================================
   Bolts Contract Flooring — Design Tokens
   Distinct from the Bolts of Hereford main-site palette (deep green/cream/
   brass): cooler, more "material" — concrete stone, clay accent, forest
   green that leans blue rather than parchment-warm.
   ========================================================================== */

:root {
	/* Colour */
	--bcf-forest:    #16412F;
	--bcf-forest-80: #1F5A40;
	--bcf-moss:      #5C7A5E;
	--bcf-stone:     #EDEAE2;
	--bcf-stone-dim: #E2DDD0;
	--bcf-charcoal:  #1F2421;
	--bcf-clay:      #B8693F;
	--bcf-clay-dark: #9A552F;
	--bcf-line:      #D8D2C4;
	--bcf-white:     #FFFFFF;

	/* Type */
	--bcf-font-display: "Space Grotesk", "Helvetica Neue", Arial, sans-serif;
	--bcf-font-body:    "Inter", "Helvetica Neue", Arial, sans-serif;
	--bcf-font-mono:    "IBM Plex Mono", "Courier New", monospace;

	--bcf-fs-base:  1.125rem;   /* 18px */
	--bcf-fs-sm:    0.9375rem; /* 15px */
	--bcf-fs-h1:    clamp(2.25rem, 1.7rem + 2.2vw, 3.75rem);
	--bcf-fs-h2:    clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
	--bcf-fs-h3:    clamp(1.25rem, 1.1rem + 0.6vw, 1.625rem);
	--bcf-lh-tight: 1.1;
	--bcf-lh-body:  1.6;

	/* Spacing scale (used for section rhythm) */
	--bcf-space-xs: 0.5rem;
	--bcf-space-sm: 1rem;
	--bcf-space-md: 2rem;
	--bcf-space-lg: 4rem;
	--bcf-space-xl: 6.5rem;

	/* Shape */
	--bcf-radius-sm: 2px;
	--bcf-radius-md: 4px;

	/* Seam line — the recurring structural device */
	--bcf-seam-weight: 1px;
	--bcf-seam-stagger: 48px;
}

/* ==========================================================================
   Base typography & colour application
   ========================================================================== */

body {
	background-color: var( --bcf-stone );
	color: var( --bcf-charcoal );
	font-family: var( --bcf-font-body );
	font-size: var( --bcf-fs-base );
	line-height: var( --bcf-lh-body );
}

h1, h2, h3, h4,
.bcf-display {
	font-family: var( --bcf-font-display );
	color: var( --bcf-forest );
	line-height: var( --bcf-lh-tight );
	letter-spacing: -0.01em;
	font-weight: 600;
}

h1 { font-size: var( --bcf-fs-h1 ); font-weight: 700; }
h2 { font-size: var( --bcf-fs-h2 ); }
h3 { font-size: var( --bcf-fs-h3 ); }

a {
	color: var( --bcf-moss );
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

a:hover,
a:focus {
	color: var( --bcf-forest );
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var( --bcf-clay );
	outline-offset: 2px;
}

.bcf-mono,
.bcf-spec {
	font-family: var( --bcf-font-mono );
	font-size: var( --bcf-fs-sm );
	letter-spacing: 0.01em;
}

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