/* Pro Wood Bats Pro — reset + base typography */

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

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; -webkit-font-smoothing: antialiased; }
body {
	margin: 0;
	background: var(--pwb-bg-warm);
	color: var(--pwb-ink);
	font-family: var(--pwb-font-body);
	font-size: var(--pwb-fs-400);
	line-height: 1.6;
}

img, svg, video, canvas { max-width: 100%; height: auto; display: block; }
a { color: var(--pwb-red); text-decoration: underline; text-underline-offset: 2px; }
a:hover, a:focus-visible { color: var(--pwb-red-2); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible {
	outline: 3px solid var(--pwb-gold);
	outline-offset: 2px;
	border-radius: 4px;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--pwb-font-display);
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--pwb-navy);
	margin: 0 0 var(--pwb-sp-4);
	line-height: 1.1;
}
h1 { font-size: var(--pwb-fs-900); }
h2 { font-size: var(--pwb-fs-800); }
h3 { font-size: var(--pwb-fs-700); }
h4 { font-size: var(--pwb-fs-600); }
h5 { font-size: var(--pwb-fs-500); }
h6 { font-size: var(--pwb-fs-400); text-transform: uppercase; letter-spacing: 0.05em; }

p { margin: 0 0 var(--pwb-sp-4); }

ul, ol { padding-left: 1.2em; margin: 0 0 var(--pwb-sp-4); }

code, kbd, pre, samp { font-family: var(--pwb-font-mono); font-size: 0.95em; }
pre { background: var(--pwb-navy); color: var(--pwb-ash); padding: var(--pwb-sp-4); border-radius: var(--pwb-radius-md); overflow: auto; }

hr { border: 0; border-top: 1px solid var(--pwb-border); margin: var(--pwb-sp-7) 0; }

table { width: 100%; border-collapse: collapse; }
th, td { padding: var(--pwb-sp-3) var(--pwb-sp-4); border-bottom: 1px solid var(--pwb-border); text-align: left; vertical-align: top; }
th { background: var(--pwb-ash); font-family: var(--pwb-font-display); color: var(--pwb-navy); }

.pwb-sr-only {
	position: absolute !important;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px; width: 1px;
	overflow: hidden;
	white-space: nowrap;
}

.pwb-skip-link {
	position: absolute; left: -9999px; top: 0;
	background: var(--pwb-navy); color: var(--pwb-white);
	padding: var(--pwb-sp-3) var(--pwb-sp-4); z-index: 100;
}
.pwb-skip-link:focus { left: var(--pwb-sp-4); top: var(--pwb-sp-4); }

.pwb-prose h2 { margin-top: var(--pwb-sp-7); }
.pwb-prose h3 { margin-top: var(--pwb-sp-6); }
.pwb-prose ul li, .pwb-prose ol li { margin-bottom: var(--pwb-sp-2); }
.pwb-prose blockquote {
	border-left: 4px solid var(--pwb-gold);
	margin: var(--pwb-sp-5) 0;
	padding: var(--pwb-sp-3) var(--pwb-sp-5);
	background: var(--pwb-ash);
	border-radius: 0 var(--pwb-radius-md) var(--pwb-radius-md) 0;
	color: var(--pwb-charcoal);
}

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