.ct-grid {
	display:grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap:20px;
	border-top:2px solid var(--pol-ink);
	padding-top:26px;
}

.ct-card {
	display:flex;
	flex-direction:column;
	background:var(--pol-band);
	padding:24px 24px 26px;
	scroll-margin-top:16px;
}
.ct-card__h {
	font:400 28px/1.12 var(--f-display), Georgia, serif;
	letter-spacing:-.012em;
	margin:0;
	text-wrap:balance;
}
.ct-card__t {
	font:400 16px/1.55 var(--f-display), Georgia, serif;
	color:var(--pol-body2);
	margin:12px 0 0;
	text-wrap:pretty;
}

.ct-card__mail {
	margin:auto 0 0;
	padding-top:20px;
}
@supports (grid-template-rows:subgrid) {
	.ct-card {
		display:grid;
		grid-row:span 4;
		grid-template-rows:subgrid;
		row-gap:0;
	}
	.ct-card__mail { margin:0; }
}
.ct-card__mail a {
	font:400 20px/1.2 var(--f-display), Georgia, serif;
	color:var(--pol-accent);
	overflow-wrap:anywhere;
}
.ct-card__mail a:hover { text-decoration:underline; text-underline-offset:3px; }
.ct-card__fine {
	align-self:start;
	font:400 13px/1.4 var(--f-body), Arial, sans-serif;
	color:var(--pol-label);
	margin:6px 0 0;
}
.ct-card__link {
	align-self:flex-start;
	justify-self:start;
	font:700 10px/1 var(--f-body), Arial, sans-serif;
	letter-spacing:.14em;
	text-transform:uppercase;
	color:var(--pol-ink);
	border-bottom:1px solid currentColor;
	padding-bottom:3px;
	margin-top:14px;
}
.ct-card__link:hover { color:var(--pol-accent); }

.ct-office {
	display:grid;
	grid-template-columns:200px minmax(0, 1fr) auto;
	align-items:baseline;
	gap:20px;
	border-bottom:1px solid var(--pol-hair2);
	padding:30px 0;
}
.ct-office__k {
	font:700 10px/1 var(--f-body), Arial, sans-serif;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--pol-label);
	margin:0;
}
.ct-office__addr {
	font:400 22px/1.3 var(--f-display), Georgia, serif;
	font-style:normal;
	color:var(--pol-ink);
}
.ct-office .ct-card__link { margin-top:0; justify-self:start; }

.ct-related { grid-template-columns:repeat(3, minmax(0, 1fr)); }

@media (max-width:1100px) {
	.ct-grid { grid-template-columns:1fr 1fr; }
	.ct-card:last-child { grid-column:1 / -1; }
}

@media (max-width:900px) {
	.ct-grid { grid-template-columns:1fr; gap:14px; padding-top:20px; }
	.ct-card:last-child { grid-column:auto; }
	.ct-card { padding:20px 18px 22px; }
	.ct-card__h { font-size:24px; }
	.ct-card__t { font-size:15px; }
	.ct-office { grid-template-columns:1fr; gap:10px; padding:24px 0; }
	.ct-office__addr { font-size:19px; }
	.ct-related { grid-template-columns:1fr; }
}
