/* ==========================================================================
   BASE – design tokens, reset, typography.
   SCAFFOLD ONLY: the values below are neutral placeholders (except the page
   background, which matches the reference site's theme-color #0B0B0D).
   Replace with the real tokens when the original CSS is supplied.
   ========================================================================== */
:root {
	--color-bg: #0b0b0d;
	--color-surface: #141418;
	--color-text: #f2efe9;
	--color-muted: #a3a09a;
	--color-accent: #c9a24b;           /* PLACEHOLDER */
	--color-border: rgba(255, 255, 255, .12);

	--font-body: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;   /* PLACEHOLDER */
	--font-display: Georgia, "Times New Roman", serif;                        /* PLACEHOLDER */

	--container: 1280px;
	--container-narrow: 760px;
	--gutter: clamp(1rem, 4vw, 2.5rem);
	--section-space: clamp(3.5rem, 8vw, 7rem);
	--header-h: 80px;
	--radius: 4px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font: 400 1rem/1.65 var(--font-body); -webkit-font-smoothing: antialiased; }
img, video, iframe, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--color-accent); }
h1, h2, h3, h4 { margin: 0 0 .5em; font-family: var(--font-display); line-height: 1.15; font-weight: 600; }
h1 { font-size: clamp(2.4rem, 6vw, 4.5rem); }
h2 { font-size: clamp(1.8rem, 3.6vw, 2.75rem); }
h3 { font-size: 1.25rem; }
p { margin: 0 0 1em; }
ul, ol { margin: 0; padding: 0; list-style: none; }
button, input, textarea { font: inherit; color: inherit; }
address { font-style: normal; }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
body.nav-open, body.modal-open { overflow: hidden; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed; top: .5rem; left: .5rem; z-index: 1000; width: auto; height: auto; clip: auto; margin: 0; padding: .75rem 1rem; background: var(--color-accent); color: #000; }
.hp-field { position: absolute; left: -9999px; opacity: 0; pointer-events: none; }

.entry-content > * + * { margin-top: 1em; }
.entry-content a { color: var(--color-accent); text-decoration: underline; }
