/* sections/about-services.php */
.ns-section {
	box-sizing: border-box; width: 100%;
	padding: clamp(2.5rem, 1.5rem + 3.5vw, 4.5rem) var(--space-gutter);
	background: var(--c-bg); color: var(--c-text);
	font-family: var(--f-body); font-size: var(--fs-base); line-height: 1.6;
}
.ns-section *, .ns-section *::before, .ns-section *::after { box-sizing: border-box; }
.ns-inner { display: grid; gap: var(--space-7); max-width: var(--container); margin: 0 auto; }
.ns-inner > * { min-width: 0; }

.ns-text { display: flex; flex-direction: column; align-items: flex-start; }
.ns-label {
	display: inline-flex; align-items: center; gap: var(--space-2);
	margin: 0 0 var(--space-3); padding: var(--space-1) var(--space-3);
	border-radius: var(--radius-pill); background: var(--c-primary-soft); color: var(--c-primary);
	font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
}
.ns-label::before { content: ""; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--c-accent); }
.ns-section .ns-title {
	margin: 0; color: var(--c-heading);
	font-family: var(--f-heading); font-size: var(--fs-2xl); font-weight: 800;
	line-height: 1.18; letter-spacing: -0.02em; text-wrap: balance;
}
.ns-p { margin: var(--space-4) 0 0; color: var(--c-text-muted); font-size: var(--fs-lg); }
.ns-section .ns-inline { color: var(--c-primary); font-weight: 700; text-decoration: underline; text-underline-offset: 0.2em; }
.ns-section .ns-inline:hover, .ns-section .ns-inline:focus { color: var(--c-accent); }

.ns-section a:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 3px; }

/* Families: rows separated by hairlines, the pests as pills */
.ns-groups { margin: 0; padding: 0; list-style: none; }
.ns-group { display: grid; gap: var(--space-3); padding: var(--space-4) 0; border-top: 1px solid var(--c-border); }
.ns-group:last-child { border-bottom: 1px solid var(--c-border); }
.ns-section .ns-group-title { margin: 0; color: var(--c-heading); font: 700 var(--fs-xs)/1.3 var(--f-heading); letter-spacing: 0.06em; text-transform: uppercase; }
.ns-pills { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.ns-section .ns-pill {
	display: inline-flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-4) var(--space-2) var(--space-2);
	border: 1px solid var(--c-border); border-radius: var(--radius-pill); background: var(--c-bg-alt); color: var(--c-heading);
	font-size: var(--fs-sm); font-weight: 700; text-decoration: none;
	transition: background-color 0.25s, border-color 0.25s, color 0.25s, transform 0.25s;
}
.ns-pill-icon { display: grid; place-items: center; flex: none; width: 2rem; height: 2rem; border-radius: 50%; background: var(--c-surface); color: var(--c-primary); transition: background-color 0.25s, color 0.25s; }
.ns-pill-icon svg { width: 1.125rem; height: 1.125rem; }
.ns-section a.ns-pill:hover, .ns-section a.ns-pill:focus { border-color: var(--c-primary); background: var(--c-primary); color: var(--c-on-primary); transform: translateY(-2px); }
a.ns-pill:hover .ns-pill-icon, a.ns-pill:focus .ns-pill-icon { background: var(--c-accent); color: var(--c-on-accent); }

@media (min-width: 1024px) {
	.ns-inner { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--space-8); align-items: center; }
	.ns-groups { align-self: center; }
}
@media (prefers-reduced-motion: reduce) {
	.ns-section * { transition: none !important; }
}
