:root {
	--color-primary: #0759b8;
	--color-primary-dark: #064894;
	--color-primary-soft: #eaf6ff;
	--color-border: #d9e2ec;
	--color-text: #172033;
	--color-muted: #667085;
	--color-white: #fff;
	--color-surface: #f8fafc;
	--radius-card: 14px;
	--radius-input: 10px;
	--shadow-soft: 0 8px 24px rgba(23, 32, 51, 0.06);
	--container: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--color-white);
	color: var(--color-text);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}
button, input, select { color: inherit; font: inherit; }
button, select { cursor: pointer; }
a { color: var(--color-primary); }
[hidden] { display: none !important; }
.site-container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0);
	white-space: nowrap; border: 0;
}

.site-header { border-bottom: 1px solid var(--color-border); background: #fff; }
.site-header__inner {
	display: flex; align-items: center; justify-content: space-between;
	min-height: 84px; gap: 24px;
}
.site-branding__name {
	display: inline-block; color: var(--color-primary-dark);
	font-size: 1.4rem; font-weight: 800; letter-spacing: -.025em;
	text-decoration: none;
}
.site-branding__tagline { margin: 1px 0 0; color: var(--color-muted); font-size: .82rem; }
.site-branding__logo img { display: block; max-height: 48px; width: auto; }
.site-badges { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.badge {
	display: inline-flex; align-items: center; min-height: 30px;
	padding: 5px 10px; border: 1px solid #b8d8f7; border-radius: 999px;
	background: #f5faff; color: var(--color-primary-dark); font-size: .78rem; font-weight: 650;
}
.badge--accent { border-color: #a8d1f5; background: var(--color-primary); color: #fff; }

.site-main { min-height: calc(100vh - 220px); }
.breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	padding-top: 18px;
	color: var(--color-muted);
	font-size: .82rem;
}
.breadcrumbs a { color: var(--color-primary-dark); text-decoration: none; }
.breadcrumbs a:hover { text-decoration: underline; text-underline-offset: 2px; }
.hero { padding: 28px 0 24px; background: linear-gradient(180deg, #f5faff 0%, #fff 100%); }
.hero__inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.hero__eyebrow {
	margin: 0 0 8px; color: var(--color-primary); font-size: .78rem;
	font-weight: 750; letter-spacing: .08em; text-transform: uppercase;
}
.hero h1 { margin: 0; color: var(--color-primary-dark); font-size: clamp(1.75rem, 3.4vw, 2.55rem); line-height: 1.16; letter-spacing: -.035em; }
.hero__description { max-width: 680px; margin: 9px 0 0; color: var(--color-muted); font-size: .98rem; }
.hero__stat {
	flex: 0 0 170px; padding: 19px 22px; border: 1px solid #cde3f6;
	border-radius: var(--radius-card); background: rgba(255,255,255,.88); box-shadow: var(--shadow-soft);
}
.hero__stat strong { display: block; color: var(--color-primary); font-size: 2.2rem; line-height: 1; }
.hero__stat span { display: block; margin-top: 6px; color: var(--color-muted); font-size: .84rem; }

.lookup { padding-bottom: 60px; }
.filters {
	position: relative; z-index: 2; margin: 0 0 28px; padding: 24px;
	border: 1px solid #cfe5f7; border-radius: var(--radius-card); background: var(--color-primary-soft);
}
.filters__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.filters__search-row { display: flex; align-items: flex-end; gap: 14px; margin-top: 18px; }
.field { min-width: 0; }
.field--search { flex: 1; }
.field label, .page-size label {
	display: block; margin-bottom: 7px; color: #27364d; font-size: .84rem; font-weight: 700;
}
.select-wrap { position: relative; }
.select-wrap::after {
	position: absolute; right: 14px; top: 50%; width: 7px; height: 7px;
	border-right: 2px solid var(--color-muted); border-bottom: 2px solid var(--color-muted);
	content: ""; pointer-events: none; transform: translateY(-65%) rotate(45deg);
}
select, input[type="search"] {
	width: 100%; min-height: 46px; border: 1px solid #b7c9da; border-radius: var(--radius-input);
	outline: 0; background: #fff; transition: border-color .18s, box-shadow .18s;
}
select { appearance: none; padding: 9px 38px 9px 13px; }
input[type="search"] { padding: 9px 13px 9px 43px; }
select:focus, input:focus, button:focus-visible, a:focus-visible {
	outline: 3px solid rgba(7, 89, 184, .2); outline-offset: 2px; border-color: var(--color-primary);
}
.search-input { position: relative; }
.search-input svg { position: absolute; top: 50%; left: 14px; color: var(--color-muted); transform: translateY(-50%); }
.button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px;
	padding: 10px 16px; border: 1px solid var(--color-primary); border-radius: var(--radius-input);
	background: var(--color-primary); color: #fff; font-weight: 700; white-space: nowrap;
	transition: background .18s, border-color .18s, transform .18s;
}
.button:hover { border-color: var(--color-primary-dark); background: var(--color-primary-dark); }
.button:active { transform: translateY(1px); }
.button--secondary { border-color: #a9c5df; background: #fff; color: var(--color-primary-dark); }
.button--secondary:hover { border-color: var(--color-primary); background: #f5faff; }
.button--small { min-height: 36px; padding: 6px 12px; }

.data-status {
	display: flex; align-items: center; justify-content: center; gap: 11px;
	min-height: 170px; padding: 28px; border: 1px dashed #bac8d6; border-radius: var(--radius-card);
	color: var(--color-muted); text-align: center;
}
.data-status--error { flex-direction: column; border-color: #f1b7b7; background: #fff8f8; color: #a02d2d; }
.spinner {
	width: 22px; height: 22px; border: 3px solid #c9deef; border-top-color: var(--color-primary);
	border-radius: 50%; animation: spin .75s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.results { border: 1px solid var(--color-border); border-radius: var(--radius-card); background: #fff; box-shadow: var(--shadow-soft); overflow: hidden; }
.results__summary {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	padding: 16px 18px; border-bottom: 1px solid var(--color-border); background: var(--color-surface);
}
#result-count { margin: 0; color: var(--color-muted); font-size: .9rem; }
#result-count strong { color: var(--color-text); }
.results__heading { min-width: 0; }
.results__heading h2 {
	margin: 0 0 5px;
	color: var(--color-text);
	font-size: clamp(1.15rem, 2.4vw, 1.45rem);
	line-height: 1.3;
	letter-spacing: -.02em;
}
.page-size { display: flex; align-items: center; gap: 9px; }
.page-size label { margin: 0; white-space: nowrap; }
.page-size select { min-height: 36px; width: 76px; padding-block: 5px; }
.table-wrap { max-height: 660px; overflow: auto; }
.price-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: .88rem; }
.price-table th {
	position: sticky; z-index: 1; top: 0; padding: 13px 14px;
	border-bottom: 1px solid var(--color-border); background: #eef5fb;
	color: #344054; font-size: .75rem; font-weight: 750; letter-spacing: .015em; text-align: left;
}
.price-table td { padding: 15px 14px; border-bottom: 1px solid #e8edf2; vertical-align: top; }
.price-table tbody tr:last-child td { border-bottom: 0; }
.price-table tbody tr:hover td { background: #f7fbff; }
.cell-center { text-align: center !important; }
.cell-number { text-align: right !important; white-space: nowrap; }
.primary-text { display: block; color: var(--color-primary-dark); font-weight: 750; }
a.primary-text, .price-card h3 a { text-decoration: none; }
a.primary-text:hover, .price-card h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.area-link { text-decoration: none; }
.area-link:hover { color: var(--color-primary); text-decoration: underline; text-underline-offset: 2px; }
.secondary-text { display: block; margin-top: 3px; color: var(--color-muted); font-size: .8rem; line-height: 1.4; }
.land-type {
	display: inline-block; padding: 4px 8px; border-radius: 999px;
	background: #eef5fb; color: #344054; font-size: .75rem; font-weight: 650;
}
.money { color: #24364c; font-variant-numeric: tabular-nums; }
.money-unit { display: block; color: #8792a2; font-size: .68rem; }
.price-cards { display: none; }
.empty-state { padding: 60px 20px; color: var(--color-muted); text-align: center; }
.empty-state svg { color: #9badbd; }
.empty-state p { margin: 8px 0 18px; }
.pagination {
	display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px;
	min-height: 70px; padding: 14px 18px; border-top: 1px solid var(--color-border);
}
.data-disclaimer {
	margin-top: 16px;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	background: var(--color-surface);
	color: var(--color-muted);
	font-size: .82rem;
}
.data-disclaimer summary {
	padding: 11px 14px;
	color: #475467;
	font-weight: 650;
	cursor: pointer;
}
.data-disclaimer__content { padding: 0 14px 12px; border-top: 1px solid var(--color-border); }
.data-disclaimer p { margin: 5px 0; }
.pagination button {
	min-width: 40px; min-height: 40px; padding: 7px 11px; border: 1px solid #c6d2dd;
	border-radius: 9px; background: #fff; color: #344054; font-weight: 650;
}
.pagination button:hover:not(:disabled), .pagination button[aria-current="page"] {
	border-color: var(--color-primary); background: var(--color-primary); color: #fff;
}
.pagination button:disabled { cursor: not-allowed; opacity: .45; }
.pagination__ellipsis { padding-inline: 3px; color: var(--color-muted); }

.site-footer { border-top: 1px solid var(--color-border); background: var(--color-surface); }
.site-footer__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	min-height: 110px; padding-block: 22px; color: var(--color-muted); font-size: .82rem;
}
.site-footer p { margin: 0; color: #344054; }
.site-footer__notes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px 22px; margin: 0; padding: 0; list-style: none; }
.site-footer__notes li { position: relative; }
.site-footer__notes li + li::before { position: absolute; left: -13px; content: "•"; color: #aab3c0; }
.site-footer__links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 16px; }
.site-footer__links a { color: var(--color-primary-dark); text-decoration: none; }
.site-footer__links a:hover { text-decoration: underline; }
.legal-page { max-width: 860px; padding-block: 50px 64px; }
.legal-page h1 { margin: 0 0 26px; color: var(--color-primary-dark); font-size: clamp(2rem, 5vw, 2.8rem); line-height: 1.2; }
.legal-page__content { color: #344054; }
.legal-page__content h2 { margin: 32px 0 10px; color: var(--color-text); font-size: 1.35rem; }
.legal-page__content h3 { margin: 24px 0 8px; color: var(--color-text); font-size: 1.08rem; }
.legal-page__content p, .legal-page__content ul { margin-block: 10px; }
.legal-page__content li + li { margin-top: 6px; }

@media (max-width: 900px) {
	.price-table { min-width: 1000px; }
	.site-footer__inner { align-items: flex-start; flex-direction: column; }
	.site-footer__notes { justify-content: flex-start; }
	.site-footer__links { justify-content: flex-start; }
}

@media (max-width: 767px) {
	.site-container { width: min(calc(100% - 28px), var(--container)); }
	.site-header__inner { min-height: 76px; }
	.site-badges { display: none; }
	.hero { padding: 24px 0 20px; }
	.hero__stat { display: none; }
	.hero__description { font-size: .96rem; }
	.lookup { padding-bottom: 36px; }
	.filters { padding: 17px; }
	.filters__grid { grid-template-columns: 1fr; gap: 14px; }
	.filters__search-row { align-items: stretch; flex-direction: column; gap: 14px; margin-top: 14px; }
	.filters__search-row .button { width: 100%; }
	.results { border-inline: 0; border-radius: 0; box-shadow: none; margin-inline: -14px; }
	.results__summary { align-items: flex-start; flex-direction: column; gap: 12px; padding-inline: 14px; }
	.table-wrap { display: none; }
	.price-cards { display: grid; gap: 12px; padding: 14px; background: #f7f9fb; }
	.price-card { padding: 17px; border: 1px solid var(--color-border); border-radius: 12px; background: #fff; box-shadow: 0 2px 8px rgba(23,32,51,.04); }
	.price-card__place { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
	.price-card h3 { margin: 12px 0 2px; color: var(--color-primary-dark); font-size: 1.04rem; }
	.price-card__segment { margin: 0; color: var(--color-muted); font-size: .82rem; }
	.price-card__prices { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 15px; }
	.price-card__price { padding: 10px; border-radius: 9px; background: #f3f7fa; }
	.price-card__price span { display: block; color: var(--color-muted); font-size: .7rem; }
	.price-card__price strong { display: block; margin-top: 3px; color: #24364c; font-size: .86rem; font-variant-numeric: tabular-nums; }
	.pagination { justify-content: flex-start; overflow-x: auto; flex-wrap: nowrap; padding-inline: 14px; }
	.pagination button { flex: 0 0 auto; min-width: 44px; min-height: 44px; }
	.site-footer__notes { display: grid; gap: 4px; }
	.site-footer__notes li + li::before { display: none; }
}

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