/* =========================================================
   Area article local block (.kb-local)
   ========================================================= */
.kb-local {
	max-width: 100%;
	overflow-x: hidden;
}
.kb-local__wrap {
	max-width: 1200px;
	margin-inline: auto;
}
.kb-local__intro-title,
.kb-local__worries-title,
.kb-local__points-head h2 {
	color: #333;
	font-size: 24px;
	text-align: center;
}
.kb-local__phone-break { display: none; }
@media (max-width: 575.98px) {
	.kb-local__phone-break { display: inline; }
}

/* ---------- Service area intro ---------- */
.kb-local__intro {
	padding: 60px 20px;
	background: #f5f5f5;
}
.kb-local__intro-title { margin: 0 0 20px; }
.kb-local__intro-title i {
	margin-right: 10px;
	color: #286ab0;
}
.kb-local__intro-title span { color: #286ab0; }
.kb-local__intro-band {
	margin-bottom: 40px;
	padding: 20px;
	background: #286ab0;
	color: #fff;
	font-size: 18px;
	text-align: center;
}
.kb-local__intro-card {
	padding: 40px;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
}
.kb-local__intro-note {
	margin-top: 22px;
	padding: 20px;
	background: #f9f9f9;
	color: #666;
	font-size: 14px;
}
.kb-local__intro-map {
	margin-top: 22px;
	text-align: center;
}
.kb-local__intro-map img {
	max-width: 50%;
	height: auto;
}

/* ---------- Typical worries ---------- */
.kb-local__worries {
	padding: 80px 20px;
	background: #fff;
}
.kb-local__worries-title span { color: #fdc500; }
.kb-local__worries-art { text-align: center; }
.kb-local__worries-art img { width: 75%; }
.kb-local__worries-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
	margin-bottom: 40px;
}
.kb-local__worry {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 25px;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	background: #fff;
}
.kb-local__worry i {
	min-width: 22px;
	color: #fdc500;
	font-size: 24px;
}

/* ---------- Banner with a pointer ---------- */
.kb-local__banner {
	position: relative;
	padding: 22px 20px;
	background: linear-gradient(135deg, #286ab0 0%, #286ab0 100%);
	color: #fff;
	text-align: center;
}
.kb-local__banner::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: -20px;
	width: 0;
	height: 0;
	border: 20px solid transparent;
	border-top-color: #286ab0;
	border-bottom-width: 0;
	transform: translateX(-50%);
}
.kb-local__banner-text {
	max-width: 1200px;
	margin-inline: auto;
	font-size: 26px;
	font-weight: 700;
}
.kb-local__banner-text span { color: #ffd700; }

/* ---------- Six reasons ---------- */
.kb-local__points {
	padding: 80px 20px;
	background: #f5f5f5;
}
.kb-local__points-head {
	margin-bottom: 60px;
	text-align: center;
}
.kb-local__points-head h2 { margin-bottom: 15px; }
.kb-local__points-head p {
	color: #286ab0;
	font-size: 20px;
	font-weight: 700;
}
.kb-local__points-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}
.kb-local__point {
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, .1);
}
.kb-local__point-visual {
	position: relative;
	width: 100%;
	height: 250px;
	overflow: hidden;
}
.kb-local__point-visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.kb-local__point-no {
	display: flex;
	position: absolute;
	top: 20px;
	left: 20px;
	width: 60px;
	height: 60px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #286ab0;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
}
.kb-local__point-body { padding: 22px; }
.kb-local__point-body h3 {
	margin-bottom: 20px;
	color: #286ab0;
	font-size: 24px;
}
.kb-local__point-body p {
	color: #555;
	font-size: 15px;
	line-height: 1.8;
}

@media (max-width: 768px) {
	.kb-local__intro-band {
		padding: 15px;
		font-size: 16px;
	}
	.kb-local__intro-card { padding: 20px; }
	.kb-local__intro-map img { max-width: 100%; }
	.kb-local__worries,
	.kb-local__points { padding: 40px 20px; }
	.kb-local__worries-list { grid-template-columns: 1fr; }
	.kb-local__points-grid {
		grid-template-columns: 1fr;
		gap: 22px;
	}
	.kb-local__banner { padding: 20px 15px; }
	.kb-local__banner-text { font-size: 24px; }
}

/* ---------- Article body box on area articles ---------- */
.kb-area-body {
	width: 100%;
	min-height: 300px;
	margin: 0 auto;
	padding: 0 10px;
	background: #fff;
}
.kb-area-body__inner {
	display: block;
	max-width: 900px;
	margin: 0 auto;
	padding-top: 30px;
}
