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

body {
	margin: 0;
	font-family: var(--rehab-font-body);
	color: var(--rehab-color-fg);
	background: var(--rehab-color-bg);
	line-height: 1.6;
}

h1, h2, h3, h4 {
	font-family: var(--rehab-font-display);
	line-height: 1.2;
	margin: 0 0 var(--rehab-space-sm);
}

a { color: var(--rehab-color-accent); }

img { max-width: 100%; height: auto; display: block; }

/* Embeds carry hard width/height attributes — a Google Maps iframe ships
   width="600", which on a 360px viewport gave the whole page a horizontal
   scrollbar (REH-236). img was already covered; these never were. */
iframe,
embed,
object,
video { max-width: 100%; }

.rehab-main {
	max-width: var(--rehab-container-max);
	margin: 0 auto;
	padding: var(--rehab-space-lg) var(--rehab-space-md);
}

.rehab-site-header,
.rehab-site-footer {
	background: var(--rehab-color-fg);
	color: var(--rehab-color-white);
}

.rehab-site-header__inner,
.rehab-site-footer__inner {
	max-width: var(--rehab-container-max);
	margin: 0 auto;
	padding: var(--rehab-space-md);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.rehab-site-header__brand {
	color: var(--rehab-color-white);
	text-decoration: none;
	font-family: var(--rehab-font-display);
	font-size: 1.25rem;
}

.rehab-site-header__nav {
	display: flex;
	gap: var(--rehab-space-md);
	list-style: none;
	padding: 0;
	margin: 0;
}

.rehab-site-header__nav a {
	color: var(--rehab-color-white);
	text-decoration: none;
}
