/* Base — tokens, resets, typography, layout helpers. Loaded site-wide. */

:root {
	--bg: #0F0B07;
	--bg-soft: #1A130D;
	--bg-warm: #FAF6F0;
	--bg-warm-deep: #F2EBDE;
	--ink: #100B05;
	--ink-soft: #3D332A;
	--paper-ink: rgba(255, 255, 255, .96);
	--paper-ink-soft: rgba(255, 255, 255, .72);
	--paper-muted: rgba(255, 255, 255, .55);
	--muted: #6B5E50;
	--rule-light: rgba(255, 255, 255, .12);
	--rule-dark: #1A1006;
	--rule-warm: #D6CCB8;
	--orange: #E2541C;
	--orange-2: #FF7A3D;
	--orange-deep: #B23E14;
	--foot: #0A0703;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; font-size: 22px; }
html, body { max-width: 100%; }

body {
	font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	color: var(--ink);
	background: var(--bg-warm);
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
	font-feature-settings: 'cv11', 'ss03';
}

h1, h2, h3, h4 {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 500;
	line-height: 1.0;
	letter-spacing: -.03em;
	overflow-wrap: break-word;
	font-variation-settings: "opsz" 144, "SOFT" 100;
}

a,
a:link,
a:visited {
	text-decoration: none;
	color: inherit;
}

.wrap { max-width: 1280px; margin: 0 auto; padding: 0 36px; }

.serif-i {
	font-family: 'Fraunces', serif;
	font-style: italic;
	color: var(--orange);
	font-variation-settings: "opsz" 144, "SOFT" 100;
}

/* Buttons used in headers, CTAs, etc. */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 500;
	font-size: .93rem;
	padding: 10px 20px;
	border-radius: 999px;
	transition: .2s;
	background: #fff;
	color: var(--bg);
}
.btn:hover { background: var(--orange); color: #fff; transform: translateY(-1px); }

/* Accessibility — visually-hidden text */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(50%);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, .6);
	clip: auto !important;
	-webkit-clip-path: none;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: .875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}
