:root {
	color-scheme: light;
	--color-ink: #172331;
	--color-muted: #4d5965;
	--color-accent: #155e47;
	--color-surface: #ffffff;
	--color-page: #f5f7f5;
	--color-border: #d2dbd5;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--color-ink); background: var(--color-page); font-family: system-ui, sans-serif; line-height: 1.6; }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--color-accent); }
a:hover { text-decoration-thickness: 0.15em; }
:focus-visible { outline: 3px solid #a34800; outline-offset: 3px; }
.container { width: min(100% - 2rem, 75rem); margin-inline: auto; }
.skip-link { position: absolute; z-index: 10; top: -10rem; left: 1rem; padding: 0.75rem 1rem; background: var(--color-surface); }
.skip-link:focus { top: 1rem; }
.site-header, .site-footer { background: var(--color-surface); }
.site-header { border-bottom: 1px solid var(--color-border); }
.site-header__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem 2rem; padding-block: 1rem; }
.site-branding { display: flex; flex-direction: column; }
.site-branding__name { color: var(--color-ink); font-size: 1.4rem; font-weight: 750; text-decoration: none; }
.site-branding__tagline { color: var(--color-muted); font-size: 0.9rem; }
.primary-nav__list { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin: 0; padding: 0; list-style: none; }
.primary-nav a { display: inline-block; padding-block: 0.5rem; font-weight: 600; }
.site-main { min-height: 55vh; padding-block: 2.5rem 4rem; }
.page-header { margin-bottom: 2rem; }
.page-header h1 { margin: 0 0 0.5rem; font-size: clamp(2rem, 5vw, 3rem); line-height: 1.15; }
.page-header p { margin: 0; color: var(--color-muted); }
.breadcrumbs { margin-bottom: 1rem; font-size: 0.9rem; }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1.25rem; }
.content-card { overflow: hidden; border: 1px solid var(--color-border); border-radius: 0.75rem; background: var(--color-surface); }
.content-card__image { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.content-card__image img { width: 100%; height: 100%; object-fit: cover; }
.content-card__body { padding: 1.25rem; }
.content-card h2 { margin: 0 0 0.5rem; font-size: 1.2rem; line-height: 1.3; }
.content-card p { margin-bottom: 0; }
.property-detail { max-width: 55rem; }
.property-detail__image { margin-bottom: 2rem; }
.entry-content { overflow-wrap: break-word; }
.site-footer { border-top: 1px solid var(--color-border); padding-block: 1.5rem; }
.site-footer p { margin: 0; color: var(--color-muted); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
