/*
Theme Name: TSPR
Theme URI: http://localhost/tspr
Description: Custom lightweight theme for TSPR — Brand. Business. Communication.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: tspr
*/

/* ---------- Brand tokens ---------- */
:root {
	--green: #17241E;
	--green-deep: #0d1712;
	--gold: #B29A6A;
	--ivory: #F3F0E9;
	--black: #111210;
	--font-display: "Bodoni Moda", "Didot", "Bodoni 72", Georgia, serif;
	--font-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--gutter: clamp(16px, 4vw, 48px);
}

/* ---------- Base ---------- */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	background: var(--ivory);
	color: var(--black);
	font-family: var(--font-sans);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

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

a { color: inherit; }

h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 500;
	line-height: 1.1;
	color: var(--green);
}

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

/* ---------- Site header (inner pages) ---------- */
.site-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px var(--gutter);
	max-width: 1280px;
	margin: 0 auto;
}

.site-logo {
	font-family: var(--font-display);
	font-size: 34px;
	font-weight: 500;
	letter-spacing: -0.04em;
	color: var(--green);
	text-decoration: none;
}

.site-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-nav a {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--black);
}

.site-nav a:hover { color: var(--gold); }

.btn {
	display: inline-block;
	padding: 14px 28px;
	background: var(--gold);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color .2s ease;
}

.btn:hover { background: #9c855a; }

/* ---------- Content (inner pages) ---------- */
.site-main {
	max-width: 860px;
	margin: 0 auto;
	padding: 48px var(--gutter) 96px;
}

.site-main h1 { font-size: clamp(36px, 5vw, 56px); margin: 0 0 24px; }

.tagline-rule {
	width: 48px;
	height: 1px;
	background: var(--gold);
	border: 0;
	margin: 24px 0;
}

.site-footer {
	padding: 32px var(--gutter);
	text-align: center;
	font-size: 11px;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: var(--green);
	border-top: 1px solid rgba(23, 36, 30, .1);
}

@media (max-width: 768px) {
	.site-header { flex-wrap: wrap; }
	.site-header .btn { display: none; }
}
