/* PropertyMatch — base styles (mobile-first). */
:root {
	--pm-ink: #14213d;
	--pm-brand: #0f6e5a;
	--pm-accent: #e07a2e;
	--pm-surface: #f6f7f5;
	--pm-white: #ffffff;
	--pm-radius: 10px;
	--pm-gutter: 16px;
	--pm-tap: 44px;
	--pm-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

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

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

body {
	margin: 0;
	font-family: var(--pm-font);
	font-size: 16px;
	line-height: 1.5;
	color: var(--pm-ink);
	background: var(--pm-surface);
	overflow-x: hidden;
	padding-bottom: env(safe-area-inset-bottom);
}

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

a { color: var(--pm-brand); }

:focus-visible { outline: 3px solid var(--pm-accent); outline-offset: 2px; }

.container {
	width: 100%;
	max-width: 1120px;
	margin: 0 auto;
	padding-left: max(var(--pm-gutter), env(safe-area-inset-left));
	padding-right: max(var(--pm-gutter), env(safe-area-inset-right));
}

.skip-link {
	position: absolute;
	left: -9999px;
}
.skip-link:focus {
	left: var(--pm-gutter);
	top: var(--pm-gutter);
	z-index: 100;
	padding: 8px 12px;
	background: var(--pm-white);
}

.site-header { background: var(--pm-white); border-bottom: 1px solid #e3e6e1; }
.site-header__inner { display: flex; align-items: center; min-height: 56px; }
.site-header__brand { font-weight: 700; color: var(--pm-ink); text-decoration: none; min-height: var(--pm-tap); display: inline-flex; align-items: center; }

.site-main { padding-top: 24px; padding-bottom: 48px; }

.site-footer { padding: 24px 0; font-size: 14px; color: #5a6270; }
