/* NSV_CONTENT_HUB_V80_START
   Public catalogue of object services (Folio) and editorial hub (Page). */

.nsv80-folio-list,
.nsv80-page-list {
	--nsv80-ink: #18383d;
	--nsv80-muted: #718386;
	--nsv80-border: #dce6e3;
	--nsv80-teal: #087f80;
	--nsv80-teal-deep: #044f57;
	--nsv80-coral: #f2644b;
	--nsv80-gold: #d7a936;
	--nsv80-sand: #f6f1e9;
	min-height: 100vh;
	background:
		radial-gradient(circle at 4% 2%, rgba(8, 127, 128, .08), transparent 31rem),
		linear-gradient(180deg, #f8f4ee 0, #fbfaf7 36%, #f2f7f5 100%);
	color: var(--nsv80-ink);
	font-family: var(--font-body, Inter, Arial, sans-serif);
}

.nsv80-page-list {
	--nsv80-teal: #9a3e59;
	--nsv80-teal-deep: #63283c;
	--nsv80-coral: #d8a533;
	background:
		radial-gradient(circle at 5% 1%, rgba(160, 58, 88, .08), transparent 30rem),
		linear-gradient(180deg, #faf5ef 0, #fffdf9 38%, #f4f7f5 100%);
}

.nsv80-folio-list *,
.nsv80-folio-list *::before,
.nsv80-folio-list *::after,
.nsv80-page-list *,
.nsv80-page-list *::before,
.nsv80-page-list *::after {
	box-sizing: border-box;
}

/* ---------- Shared hero ---------- */
.nsv80-hero {
	padding: 28px 0 0;
}

.nsv80-hero__panel {
	position: relative;
	display: grid;
	min-height: 410px;
	grid-template-columns: minmax(0, 1.25fr) minmax(290px, .62fr);
	align-items: center;
	gap: clamp(30px, 5vw, 70px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 32px;
	background:
		radial-gradient(circle at 88% 10%, rgba(233, 196, 93, .22), transparent 26%),
		linear-gradient(135deg, #033e45 0%, #087f80 60%, #0c6d70 100%);
	padding: clamp(34px, 5vw, 62px);
	box-shadow: 0 30px 76px rgba(4, 63, 70, .22);
}

.nsv80-page-list .nsv80-hero__panel {
	background:
		radial-gradient(circle at 88% 9%, rgba(239, 196, 95, .25), transparent 27%),
		linear-gradient(135deg, #552236 0%, #8e3651 57%, #ba4965 100%);
	box-shadow: 0 30px 76px rgba(92, 34, 53, .2);
}

.nsv80-hero__panel::before,
.nsv80-hero__panel::after {
	position: absolute;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.nsv80-hero__panel::before {
	width: 420px;
	height: 420px;
	top: -255px;
	right: -120px;
}

.nsv80-hero__panel::after {
	width: 520px;
	height: 210px;
	bottom: -168px;
	left: 17%;
	transform: rotate(-8deg);
}

.nsv80-hero__copy,
.nsv80-hero__summary {
	position: relative;
	z-index: 1;
}

.nsv80-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 24px;
	color: rgba(255, 255, 255, .65);
	font-size: 10px;
	font-weight: 800;
}

.nsv80-breadcrumbs a {
	color: inherit !important;
	text-decoration: none !important;
}

.nsv80-breadcrumbs a:hover {
	color: #fff !important;
}

.nsv80-eyebrow {
	display: inline-flex;
	min-height: 31px;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(255, 255, 255, .17);
	border-radius: 999px;
	background: rgba(255, 255, 255, .09);
	padding: 0 12px;
	color: #f2d477;
	font-size: 9px;
	font-weight: 950;
	letter-spacing: .08em;
	text-transform: uppercase;
	backdrop-filter: blur(8px);
}

.nsv80-hero h1 {
	max-width: 850px;
	margin: 22px 0 0;
	color: #fff;
	font-family: var(--font-heading, Georgia, serif);
	font-size: clamp(45px, 5.2vw, 74px);
	font-weight: 850;
	letter-spacing: -.052em;
	line-height: .98;
}

.nsv80-hero__copy > p {
	max-width: 730px;
	margin: 21px 0 0;
	color: rgba(255, 255, 255, .76);
	font-size: 14px;
	line-height: 1.72;
}

.nsv80-hero__benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 25px;
}

.nsv80-hero__benefits span {
	display: inline-flex;
	min-height: 37px;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 12px;
	background: rgba(255, 255, 255, .07);
	padding: 0 12px;
	color: rgba(255, 255, 255, .84);
	font-size: 9px;
	font-weight: 850;
	backdrop-filter: blur(7px);
}

.nsv80-hero__benefits i {
	color: #f0cf70;
}

.nsv80-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 27px;
}

.nsv80-hero__action {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 14px;
	padding: 0 19px;
	font-size: 10px;
	font-weight: 950;
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.nsv80-hero__action--primary {
	border-color: #da4c38;
	background: var(--nsv80-coral);
	color: #fff !important;
	box-shadow: inset 0 -3px 0 rgba(94, 30, 20, .18), 0 14px 28px rgba(242, 100, 75, .23);
}

.nsv80-page-list .nsv80-hero__action--primary {
	border-color: #b98215;
	color: #553b05 !important;
	box-shadow: inset 0 -3px 0 rgba(98, 68, 6, .18), 0 14px 28px rgba(216, 165, 51, .25);
}

.nsv80-hero__action--secondary {
	background: rgba(255, 255, 255, .09);
	color: #fff !important;
	backdrop-filter: blur(8px);
}

.nsv80-hero__action:hover {
	transform: translateY(-2px);
}

.nsv80-hero__summary {
	justify-self: end;
	width: min(100%, 350px);
	border: 1px solid rgba(255, 255, 255, .17);
	border-radius: 25px;
	background: rgba(255, 255, 255, .1);
	padding: 25px;
	color: #fff;
	box-shadow: 0 24px 54px rgba(0, 0, 0, .15);
	backdrop-filter: blur(12px);
}

.nsv80-hero__summary-icon {
	display: inline-flex;
	width: 48px;
	height: 48px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 15px;
	background: rgba(255, 255, 255, .1);
	color: #f0cf70;
	font-size: 18px;
}

.nsv80-hero__summary strong,
.nsv80-hero__summary span,
.nsv80-hero__summary small {
	display: block;
}

.nsv80-hero__summary strong {
	margin-top: 23px;
	font-family: var(--font-heading, Georgia, serif);
	font-size: 66px;
	font-weight: 800;
	letter-spacing: -.06em;
	line-height: .82;
}

.nsv80-hero__summary span {
	margin-top: 11px;
	font-size: 12px;
	font-weight: 900;
}

.nsv80-hero__summary small {
	margin-top: 8px;
	color: rgba(255, 255, 255, .62);
	font-size: 9px;
	line-height: 1.55;
}

/* ---------- Shared filter/search surface ---------- */
.nsv80-filter-wrap {
	position: relative;
	z-index: 3;
	margin-top: -22px;
}

.nsv80-filter {
	display: grid;
	grid-template-columns: minmax(220px, 1.2fr) minmax(175px, .75fr) minmax(175px, .7fr) minmax(150px, .62fr) auto;
	align-items: end;
	gap: 12px;
	border: 1px solid #dddcd6;
	border-radius: 22px;
	background: rgba(255, 255, 255, .97);
	padding: 18px;
	box-shadow: 0 22px 56px rgba(27, 56, 55, .11);
}

.nsv80-filter__field {
	display: grid;
	min-width: 0;
	gap: 7px;
}

.nsv80-filter__field > span {
	display: flex;
	align-items: center;
	gap: 7px;
	color: #526b6e;
	font-size: 8px;
	font-weight: 950;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.nsv80-filter__field > span i {
	color: var(--nsv80-teal);
}

.nsv80-filter input,
.nsv80-filter select,
.nsv80-filter .schstring,
.nsv80-filter textarea {
	width: 100% !important;
	min-width: 0 !important;
	height: 47px !important;
	border: 1px solid #dce5e2 !important;
	border-radius: 12px !important;
	background: #f8faf9 !important;
	padding: 0 13px !important;
	color: #26484c !important;
	font: inherit !important;
	font-size: 10px !important;
	outline: 0 !important;
	box-shadow: none !important;
}

.nsv80-filter input:focus,
.nsv80-filter select:focus,
.nsv80-filter .schstring:focus {
	border-color: rgba(8, 127, 128, .58) !important;
	background: #fff !important;
	box-shadow: 0 0 0 3px rgba(8, 127, 128, .09) !important;
}

.nsv80-page-list .nsv80-filter input:focus,
.nsv80-page-list .nsv80-filter select:focus {
	border-color: rgba(154, 62, 89, .52) !important;
	box-shadow: 0 0 0 3px rgba(154, 62, 89, .09) !important;
}

.nsv80-filter__submit {
	display: inline-flex;
	min-width: 134px;
	height: 47px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border: 1px solid var(--nsv80-teal-deep) !important;
	border-radius: 12px !important;
	background: var(--nsv80-teal) !important;
	padding: 0 17px !important;
	color: #fff !important;
	font-size: 9px !important;
	font-weight: 950 !important;
	box-shadow: inset 0 -3px 0 rgba(3, 53, 57, .16), 0 10px 22px rgba(8, 127, 128, .18) !important;
	cursor: pointer;
}

/* ---------- Folio catalogue ---------- */
.nsv80-folio-results,
.nsv80-page-results {
	padding: 44px 0 90px;
}

.nsv80-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 24px;
}

.nsv80-section-heading span {
	display: block;
	color: var(--nsv80-teal);
	font-size: 8px;
	font-weight: 950;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.nsv80-section-heading h2 {
	margin: 7px 0 0;
	color: var(--nsv80-ink);
	font-family: var(--font-heading, Georgia, serif);
	font-size: clamp(31px, 4vw, 47px);
	font-weight: 850;
	letter-spacing: -.04em;
	line-height: 1.03;
}

.nsv80-section-heading p {
	max-width: 560px;
	margin: 0;
	color: var(--nsv80-muted);
	font-size: 10px;
	line-height: 1.65;
}

.nsv80-folio-layout {
	display: grid;
	grid-template-columns: 245px minmax(0, 1fr);
	align-items: start;
	gap: 24px;
}

.nsv80-folio-sidebar {
	position: sticky;
	top: 92px;
	display: grid;
	gap: 15px;
}

.nsv80-side-card {
	border: 1px solid #dde5e2;
	border-radius: 20px;
	background: rgba(255, 255, 255, .92);
	padding: 18px;
	box-shadow: 0 14px 38px rgba(30, 57, 57, .07);
}

.nsv80-side-card h3 {
	margin: 0;
	color: #28494d;
	font-size: 12px;
	font-weight: 950;
}

.nsv80-side-card > p {
	margin: 7px 0 0;
	color: #829092;
	font-size: 8px;
	line-height: 1.55;
}

.nsv80-side-card__catalog {
	margin-top: 13px;
}

.nsv80-side-card__catalog ul {
	display: grid;
	gap: 5px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.nsv80-side-card__catalog ul ul {
	margin: 5px 0 0 13px !important;
	border-left: 1px solid #e1e8e5;
	padding-left: 10px !important;
}

.nsv80-side-card__catalog li {
	margin: 0 !important;
	padding: 0 !important;
}

.nsv80-side-card__catalog a {
	display: flex;
	min-height: 36px;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	border-radius: 10px;
	padding: 0 10px;
	color: #526d70 !important;
	font-size: 9px;
	font-weight: 850;
	text-decoration: none !important;
	transition: background .18s ease, color .18s ease;
}

.nsv80-side-card__catalog a:hover {
	background: #edf7f5;
	color: var(--nsv80-teal) !important;
}

.nsv80-folio-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 20px;
}

.nsv80-service-card {
	position: relative;
	display: grid;
	min-width: 0;
	height: 100%;
	grid-template-rows: auto minmax(0, 1fr) auto;
	overflow: hidden;
	border: 1px solid #dce6e3;
	border-radius: 23px;
	background: #fff;
	box-shadow: 0 18px 46px rgba(24, 58, 59, .085);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.nsv80-service-card:hover {
	border-color: rgba(8, 127, 128, .32);
	box-shadow: 0 26px 60px rgba(24, 58, 59, .14);
	transform: translateY(-4px);
}

.nsv80-service-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #dce8e5;
}

.nsv80-service-card__media > a,
.nsv80-service-card__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.nsv80-service-card__media img {
	object-fit: cover;
	object-position: center;
	transition: transform .35s ease;
}

.nsv80-service-card:hover .nsv80-service-card__media img {
	transform: scale(1.035);
}

.nsv80-service-card__media::after {
	position: absolute;
	inset: auto 0 0;
	height: 43%;
	background: linear-gradient(180deg, transparent, rgba(3, 43, 47, .62));
	content: "";
	pointer-events: none;
}

.nsv80-service-card__category {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	min-height: 31px;
	align-items: center;
	gap: 7px;
	top: 13px;
	left: 13px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	padding: 0 10px;
	color: #08676c !important;
	font-size: 8px;
	font-weight: 950;
	text-decoration: none !important;
	box-shadow: 0 9px 20px rgba(3, 61, 65, .15);
}

.nsv80-service-card__location {
	position: absolute;
	z-index: 2;
	display: flex;
	max-width: calc(100% - 26px);
	align-items: center;
	gap: 6px;
	inset: auto 13px 12px;
	color: #fff;
	font-size: 8px;
	font-weight: 850;
}

.nsv80-service-card__location span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nsv80-service-card__body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 19px 19px 16px;
}

.nsv80-service-card__owner {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	gap: 9px;
	color: inherit !important;
	text-decoration: none !important;
}

.nsv80-service-card__owner-image {
	display: inline-flex;
	width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border: 1px solid #dce7e3;
	border-radius: 11px;
	background: #edf5f3;
	color: var(--nsv80-teal);
}

.nsv80-service-card__owner-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nsv80-service-card__owner small,
.nsv80-service-card__owner strong {
	display: block;
}

.nsv80-service-card__owner small {
	color: #899698;
	font-size: 7px;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.nsv80-service-card__owner strong {
	margin-top: 2px;
	overflow: hidden;
	color: #315055;
	font-size: 10px;
	font-weight: 950;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.nsv80-service-card h2 {
	min-height: 48px;
	margin: 15px 0 0;
	font-family: var(--font-heading, Georgia, serif);
	font-size: 23px;
	font-weight: 850;
	letter-spacing: -.032em;
	line-height: 1.04;
}

.nsv80-service-card h2 a {
	display: -webkit-box;
	overflow: hidden;
	color: var(--nsv80-ink) !important;
	text-decoration: none !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.nsv80-service-card h2 a:hover {
	color: var(--nsv80-teal) !important;
}

.nsv80-service-card__text {
	display: -webkit-box;
	min-height: 47px;
	max-height: 47px;
	margin-top: 10px;
	overflow: hidden;
	color: #748689;
	font-size: 9px;
	line-height: 1.7;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.nsv80-service-card__bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 11px;
	border-top: 1px solid #e4eae7;
	background: #f7faf9;
	padding: 15px 19px 17px;
}

.nsv80-service-card__price span,
.nsv80-service-card__price strong,
.nsv80-service-card__price small {
	display: block;
}

.nsv80-service-card__price span {
	color: #899697;
	font-size: 7px;
	font-weight: 850;
	text-transform: uppercase;
}

.nsv80-service-card__price strong {
	margin-top: 4px;
	color: #24464a;
	font-family: var(--font-heading, Georgia, serif);
	font-size: 24px;
	font-weight: 850;
	letter-spacing: -.035em;
	line-height: 1;
}

.nsv80-service-card__price small {
	margin-top: 3px;
	color: #829092;
	font-size: 7px;
}

.nsv80-service-card__action {
	display: inline-flex;
	min-height: 43px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	border: 1px solid var(--nsv80-teal-deep);
	border-radius: 11px;
	background: var(--nsv80-teal);
	padding: 0 13px;
	color: #fff !important;
	font-size: 8px;
	font-weight: 950;
	text-decoration: none !important;
}

.nsv80-empty {
	display: grid;
	min-height: 280px;
	place-items: center;
	border: 1px dashed #cfdcd8;
	border-radius: 24px;
	background: rgba(255, 255, 255, .7);
	padding: 35px;
	text-align: center;
}

.nsv80-empty i {
	font-size: 31px;
	color: var(--nsv80-teal);
}

.nsv80-empty h2 {
	margin: 15px 0 0;
	font-family: var(--font-heading, Georgia, serif);
	font-size: 30px;
}

.nsv80-empty p {
	max-width: 520px;
	margin: 8px auto 0;
	color: var(--nsv80-muted);
	font-size: 10px;
	line-height: 1.65;
}

/* ---------- Page editorial hub ---------- */
.nsv80-page-categories {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 26px;
}

.nsv80-page-category {
	display: grid;
	min-height: 108px;
	grid-template-columns: minmax(0, 1fr) 36px;
	align-items: center;
	gap: 12px;
	border: 1px solid #e0e4df;
	border-radius: 18px;
	background: rgba(255, 255, 255, .92);
	padding: 17px;
	color: inherit !important;
	text-decoration: none !important;
	box-shadow: 0 12px 34px rgba(49, 51, 48, .06);
	transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.nsv80-page-category:hover {
	border-color: rgba(154, 62, 89, .3);
	box-shadow: 0 18px 42px rgba(83, 47, 57, .1);
	transform: translateY(-2px);
}

.nsv80-page-category small,
.nsv80-page-category strong,
.nsv80-page-category span {
	display: block;
}

.nsv80-page-category small {
	color: #a07884;
	font-size: 7px;
	font-weight: 950;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.nsv80-page-category strong {
	margin-top: 6px;
	color: #4f3440;
	font-size: 12px;
	font-weight: 950;
	line-height: 1.2;
}

.nsv80-page-category span {
	margin-top: 5px;
	color: #92908d;
	font-size: 8px;
}

.nsv80-page-category > i {
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border-radius: 11px;
	background: #fff0f3;
	color: #a3405d;
}

.nsv80-article-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 20px;
}

.nsv80-article-card {
	display: grid;
	min-width: 0;
	height: 100%;
	grid-template-rows: auto minmax(0, 1fr);
	overflow: hidden;
	border: 1px solid #e1e5e0;
	border-radius: 23px;
	background: #fff;
	box-shadow: 0 17px 44px rgba(60, 49, 53, .075);
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.nsv80-article-card:first-child {
	grid-column: span 2;
	grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
	grid-template-rows: minmax(0, 1fr);
}

.nsv80-article-card:hover {
	border-color: rgba(154, 62, 89, .27);
	box-shadow: 0 25px 58px rgba(92, 54, 66, .13);
	transform: translateY(-4px);
}

.nsv80-article-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background:
		radial-gradient(circle at 80% 12%, rgba(255, 255, 255, .45), transparent 25%),
		linear-gradient(145deg, #ead9dd, #c9919e 56%, #7e4c5b);
}

.nsv80-article-card:first-child .nsv80-article-card__media {
	height: 100%;
	aspect-ratio: auto;
	min-height: 390px;
}

.nsv80-article-card__media > a,
.nsv80-article-card__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.nsv80-article-card__media img {
	object-fit: cover;
	object-position: center;
	transition: transform .35s ease;
}

.nsv80-article-card:hover .nsv80-article-card__media img {
	transform: scale(1.03);
}

.nsv80-article-card__media::after {
	position: absolute;
	inset: auto 0 0;
	height: 45%;
	background: linear-gradient(180deg, transparent, rgba(55, 25, 36, .62));
	content: "";
	pointer-events: none;
}

.nsv80-article-card__category {
	position: absolute;
	z-index: 2;
	display: inline-flex;
	min-height: 31px;
	align-items: center;
	gap: 7px;
	top: 13px;
	left: 13px;
	border: 1px solid rgba(255, 255, 255, .7);
	border-radius: 999px;
	background: rgba(255, 255, 255, .95);
	padding: 0 10px;
	color: #8d3852 !important;
	font-size: 8px;
	font-weight: 950;
	text-decoration: none !important;
	box-shadow: 0 9px 20px rgba(77, 31, 46, .15);
}

.nsv80-article-card__date {
	position: absolute;
	z-index: 2;
	inset: auto 13px 12px;
	color: #fff;
	font-size: 8px;
	font-weight: 850;
}

.nsv80-article-card__body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	padding: 20px;
}

.nsv80-article-card:first-child .nsv80-article-card__body {
	justify-content: center;
	padding: clamp(25px, 4vw, 44px);
}

.nsv80-article-card__source {
	display: flex;
	align-items: center;
	gap: 8px;
	color: #886a74;
	font-size: 8px;
	font-weight: 900;
}

.nsv80-article-card__source i {
	display: inline-flex;
	width: 27px;
	height: 27px;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: #fff0f3;
	color: #a3405d;
}

.nsv80-article-card h2 {
	min-height: 50px;
	margin: 15px 0 0;
	font-family: var(--font-heading, Georgia, serif);
	font-size: 25px;
	font-weight: 850;
	letter-spacing: -.035em;
	line-height: 1.04;
}

.nsv80-article-card:first-child h2 {
	min-height: 0;
	font-size: clamp(34px, 3.7vw, 49px);
}

.nsv80-article-card h2 a {
	display: -webkit-box;
	overflow: hidden;
	color: #352e31 !important;
	text-decoration: none !important;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.nsv80-article-card h2 a:hover {
	color: #993f5a !important;
}

.nsv80-article-card__excerpt {
	display: -webkit-box;
	min-height: 47px;
	max-height: 47px;
	margin-top: 11px;
	overflow: hidden;
	color: #7e7d7a;
	font-size: 9px;
	line-height: 1.7;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
}

.nsv80-article-card:first-child .nsv80-article-card__excerpt {
	min-height: 0;
	max-height: 76px;
	font-size: 10px;
	-webkit-line-clamp: 4;
}

.nsv80-article-card__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	border-top: 1px solid #ece9e5;
	padding-top: 15px;
}

.nsv80-article-card__stats {
	display: flex;
	align-items: center;
	gap: 11px;
	color: #989590;
	font-size: 8px;
	font-weight: 850;
}

.nsv80-article-card__read {
	display: inline-flex;
	min-height: 39px;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 1px solid #89344d;
	border-radius: 11px;
	background: #993f5a;
	padding: 0 12px;
	color: #fff !important;
	font-size: 8px;
	font-weight: 950;
	text-decoration: none !important;
}

/* ---------- Pagination ---------- */
.nsv80-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 34px 0 0;
	padding: 0;
	list-style: none;
}

.nsv80-pagination a,
.nsv80-pagination span,
.nsv80-pagination li > a,
.nsv80-pagination li > span {
	display: inline-flex;
	min-width: 39px;
	height: 39px;
	align-items: center;
	justify-content: center;
	border: 1px solid #dce4e1;
	border-radius: 11px;
	background: #fff;
	padding: 0 10px;
	color: #526d70 !important;
	font-size: 9px;
	font-weight: 900;
	text-decoration: none !important;
	box-shadow: 0 8px 18px rgba(32, 58, 57, .05);
}

.nsv80-pagination .active a,
.nsv80-pagination .active span,
.nsv80-pagination a.current,
.nsv80-pagination span.current {
	border-color: var(--nsv80-teal);
	background: var(--nsv80-teal);
	color: #fff !important;
}

/* ---------- Responsive ---------- */
@media (max-width: 1220px) {
	.nsv80-folio-grid,
	.nsv80-article-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nsv80-page-categories {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nsv80-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
	}

	.nsv80-filter__submit {
		grid-column: 3;
		grid-row: 1 / span 2;
		height: 100%;
		min-height: 47px;
	}
}

@media (max-width: 980px) {
	.nsv80-hero__panel {
		grid-template-columns: minmax(0, 1fr) minmax(250px, .55fr);
		gap: 28px;
	}

	.nsv80-folio-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.nsv80-folio-sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nsv80-side-card__catalog > ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 780px) {
	.nsv80-hero {
		padding-top: 18px;
	}

	.nsv80-hero__panel {
		grid-template-columns: minmax(0, 1fr);
		border-radius: 25px;
		padding: 31px 23px;
	}

	.nsv80-hero__summary {
		justify-self: stretch;
		width: 100%;
	}

	.nsv80-hero__summary strong {
		font-size: 52px;
	}

	.nsv80-filter-wrap {
		margin-top: 18px;
	}

	.nsv80-filter {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		border-radius: 18px;
	}

	.nsv80-filter__submit {
		grid-column: 1 / -1;
		grid-row: auto;
		height: 47px;
	}

	.nsv80-section-heading {
		align-items: start;
		flex-direction: column;
		gap: 10px;
	}

	.nsv80-article-card:first-child {
		grid-column: auto;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto minmax(0, 1fr);
	}

	.nsv80-article-card:first-child .nsv80-article-card__media {
		height: auto;
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.nsv80-article-card:first-child .nsv80-article-card__body {
		padding: 20px;
	}

	.nsv80-article-card:first-child h2 {
		font-size: 28px;
	}
}

@media (max-width: 620px) {
	.nsv80-hero h1 {
		font-size: clamp(39px, 12vw, 55px);
	}

	.nsv80-hero__copy > p {
		font-size: 12px;
	}

	.nsv80-hero__benefits {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

	.nsv80-hero__benefits span {
		width: 100%;
	}

	.nsv80-hero__actions,
	.nsv80-hero__action {
		width: 100%;
	}

	.nsv80-filter,
	.nsv80-folio-sidebar,
	.nsv80-page-categories,
	.nsv80-folio-grid,
	.nsv80-article-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.nsv80-side-card__catalog > ul {
		grid-template-columns: minmax(0, 1fr);
	}

	.nsv80-folio-results,
	.nsv80-page-results {
		padding: 34px 0 70px;
	}

	.nsv80-service-card h2,
	.nsv80-article-card h2 {
		font-size: 24px;
	}

	.nsv80-service-card__bottom {
		grid-template-columns: minmax(0, 1fr);
	}

	.nsv80-service-card__action {
		width: 100%;
	}
}

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

/* NSV_CONTENT_HUB_V80_END */