:root {
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif;
	color: #153330;
	background: #f4f6f2;
	font-size: 16px
}
* {
	box-sizing: border-box
}
body {
	margin: 0
}
button, input, select {
	font: inherit
}
button {
	cursor: pointer
}
a {
	color: #126365
}
a:hover {
	text-decoration-thickness: 2px
}
.shell {
	max-width: 1440px;
	padding: 0 30px;
	margin: auto
}
header, footer {
	background: #173b39;
	color: #fff
}
.nav {
	height: 72px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px
}
.brand {
	font-size: 23px;
	letter-spacing: -.045em;
	font-weight: 800
}
.brand span {
	color: #c8dd9e
}
nav {
	display: flex;
	gap: 25px
}
nav a, footer a {
	color: #e3efeb;
	text-decoration: none;
	font-size: 14px
}
.intro {
	padding: 55px 0 52px;
	display: grid;
	grid-template-columns: 1fr 235px;
	gap: 40px;
	align-items: end
}
.eyebrow {
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #43826e
}
h1, h2, h3 {
	font-family: Georgia, serif;
	font-weight: 500;
	letter-spacing: -.045em
}
h1 {
	font-size: clamp(40px, 5vw, 68px);
	line-height: 1.07;
	margin: 14px 0 16px;
	max-width: 850px
}
h2 {
	font-size: clamp(30px, 3.2vw, 44px);
	margin: 7px 0
}
h3 {
	font-size: 24px;
	margin: 0 0 12px
}
.intro p {
	line-height: 1.55;
	color: #4d625d;
	font-size: 18px;
	max-width: 720px;
	margin: 0
}
.snapshot {
	border-left: 3px solid #6caa82;
	padding-left: 18px
}
.snapshot strong {
	display: block;
	font: 42px Georgia, serif
}
.snapshot span, .snapshot small {
	display: block;
	color: #526862
}
.snapshot small {
	margin-top: 12px;
	font-size: 13px
}
.section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 24px
}
.section-head p {
	max-width: 520px;
	line-height: 1.5;
	color: #526862;
	margin: 0
}
section {
	margin-bottom: 78px
}
.toolbar {
	display: flex;
	align-items: end;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 16px
}
.toolbar label {
	font-size: 14px;
	font-weight: 700
}
.toolbar label span {
	display: block;
	margin-bottom: 7px
}
.toolbar input[type=search], .toolbar select, .inputs input {
	height: 46px;
	border: 1px solid #bfcbc5;
	background: white;
	color: #173b39;
	border-radius: 8px;
	padding: 0 12px
}
.search {
	flex: 1;
	min-width: 260px
}
.search input {
	width: 100%
}
.toolbar select {
	min-width: 190px
}
.toolbar .check {
	height: 46px;
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 500
}
.check input {
	width: 17px;
	height: 17px;
	accent-color: #176664
}
.workspace {
	display: grid;
grid-template-columns:minmax(330px, .9fr) minmax(440px, 1.1fr);
	gap: 16px;
	min-height: 690px
}
.list-pane, .detail {
	border: 1px solid #d4dfd7;
	background: #fff;
	border-radius: 12px;
	overflow: hidden
}
.list-pane {
	display: flex;
	flex-direction: column
}
.list-summary {
	background: #e7eee7;
	color: #315a50;
	padding: 13px 18px;
	font-size: 14px;
	font-weight: 700
}
.list {
	flex: 1;
	max-height: 650px;
	overflow-y: auto
}
.row {
	border: 0;
	border-bottom: 1px solid #e3eae4;
	background: #fff;
	text-align: left;
	width: 100%;
	padding: 15px 18px;
	color: #173b39;
	display: block
}
.row:hover, .row.active {
	background: #eef4ed
}
.row.active {
	box-shadow: inset 4px 0 #247369
}
.row-main {
	display: flex;
	justify-content: space-between;
	gap: 10px
}
.row strong {
	font-size: 15px;
	line-height: 1.35
}
.row small {
	display: block;
	color: #61756e;
	margin-top: 6px;
	font-size: 13px
}
.badge {
	font-size: 12px;
	white-space: nowrap;
	color: #326351;
	background: #dcefe2;
	border-radius: 100px;
	padding: 5px 9px;
	height: max-content
}
.badge.negative {
	color: #855e27;
	background: #f8edda
}
.badge.unknown {
	color: #5e6b65;
	background: #ecf0ed
}
.pager {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 13px 18px;
	gap: 9px;
	border-top: 1px solid #e3eae4;
	font-size: 13px
}
.pager button {
	border: 1px solid #b5c9c1;
	background: white;
	padding: 8px 12px;
	border-radius: 6px;
	color: #173b39
}
.pager button:disabled {
	opacity: .4;
	cursor: default
}
.detail {
	padding: 24px
}
.placeholder {
	color: #60756b;
	display: grid;
	place-items: center;
	min-height: 400px;
	text-align: center
}
.detail-top {
	display: flex;
	align-items: start;
	justify-content: space-between;
	gap: 12px
}
.detail h3 {
	font-size: 29px;
	line-height: 1.15;
	overflow-wrap: anywhere
}
.detail .ref {
	color: #587267;
	font-size: 13px;
	margin-bottom: 7px
}
.detail .meta {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px;
	margin: 20px 0
}
.meta div {
	border-top: 1px solid #dbe5dc;
	padding-top: 9px
}
.meta small {
	display: block;
	color: #65776f;
	font-size: 12px;
	margin-bottom: 5px
}
.meta strong {
	font-size: 15px
}
.map {
	height: 320px;
	background: #e5ede5;
	border-radius: 8px;
	overflow: hidden;
	display: grid;
	place-items: center;
	color: #65766e;
	text-align: center
}
.map iframe {
	width: 100%;
	height: 100%;
	border: 0
}
.detail-links {
	display: flex;
	gap: 18px;
	flex-wrap: wrap;
	margin: 14px 0 23px;
	font-size: 14px;
	font-weight: 700
}
.valuation {
	background: #eef3ec;
	border-radius: 9px;
	padding: 18px
}
.valuation h4 {
	margin: 0 0 9px;
	font-size: 17px
}
.valuation p {
	font-size: 14px;
	line-height: 1.5;
	color: #526862;
	margin: 7px 0
}
.valuation .figures {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin: 14px 0
}
.figures div {
	background: white;
	padding: 11px;
	border-radius: 6px
}
.figures small {
	display: block;
	color: #60736c;
	font-size: 12px
}
.figures strong {
	font-size: 18px
}
.data-note, .attribution {
	font-size: 13px;
	line-height: 1.55;
	color: #5d7168
}
.model {
	background: #e5ece5;
	padding: 34px;
	border-radius: 13px
}
.model-grid {
	display: grid;
grid-template-columns:1.2fr .8fr;
	gap: 27px
}
.inputs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px
}
.inputs label {
	font-size: 14px;
	font-weight: 700
}
.inputs label span {
	float: right;
	color: #65786e
}
.inputs input {
	width: 100%;
	display: block;
	margin-top: 7px
}
.method-card {
	background: #173b39;
	color: white;
	border-radius: 9px;
	padding: 23px
}
.method-card p {
	font-size: 14px;
	line-height: 1.58;
	color: #d9e6df
}
.method-card strong {
	color: white
}
.source-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 17px
}
.source-grid article {
	border-top: 2px solid #287767;
	background: white;
	padding: 21px
}
.source-grid p {
	line-height: 1.55;
	color: #526862;
	font-size: 14px
}
.source-grid a {
	font-size: 14px;
	font-weight: 700
}
footer {
	padding: 28px 0;
	font-size: 14px
}
footer .shell {
	display: flex;
	justify-content: space-between;
	gap: 20px
}
footer span {
	color: #c7d9d0
}


.text_small {
font-size: 10px;
line-height: 140%;
color: #c7d9d0;
}


.mb_2 {
margin-bottom: 2rem;	
}

@media(max-width:980px) {
.workspace, .model-grid {
	grid-template-columns: 1fr
}
.list {
	max-height: 410px
}
.detail {
	min-height: 500px
}
}
@media(max-width:620px) {
.shell {
	padding: 0 18px
}
.nav {
	height: auto;
	padding-top: 18px;
	padding-bottom: 18px;
	display: block
}
.nav nav {
	margin-top: 12px
}
.intro {
	grid-template-columns: 1fr;
	padding: 38px 0;
	gap: 22px
}
.section-head {
	display: block
}
.toolbar label, .toolbar select {
	width: 100%
}
.toolbar .check {
	width: auto
}
.inputs, .source-grid {
	grid-template-columns: 1fr
}
.model {
	padding: 20px
}
.detail {
	padding: 17px
}
.detail .meta {
	grid-template-columns: 1fr 1fr
}
.map {
	height: 260px
}
footer .shell {
	display: block
}
footer span {
	display: block;
	margin-top: 8px
}
}
.explainer {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px;
	margin-bottom: 72px
}
.explainer article {
	background: #fff;
	border-top: 3px solid #2e7565;
	padding: 29px 31px;
	border-radius: 0 0 10px 10px
}
.explainer h2 {
	font-size: clamp(27px, 2.6vw, 35px);
	margin: 10px 0 16px
}
.explainer p {
	line-height: 1.65;
	color: #425c54;
	margin: 0
}
.explainer a {
	font-size: 14px;
	font-weight: 700
}
@media(max-width:800px) {
.explainer {
	grid-template-columns: 1fr;
	gap: 16px
}
.explainer article {
	padding: 23px
}
}
