/* Main-site refinement layer. Kept separate from the vendor theme for safe upgrades. */
:root {
	--nptt-navy: #0d2d4a;
	--nptt-navy-2: #16486f;
	--nptt-gold: #c89143;
	--nptt-gold-dark: #a66d25;
	--nptt-ink: #172433;
	--nptt-muted: #667587;
	--nptt-surface: #ffffff;
	--nptt-soft: #f3f6f8;
	--nptt-line: #dce4ea;
	--nptt-success: #18794e;
	--nptt-radius: 16px;
	--nptt-shadow: 0 16px 45px rgba(16, 43, 67, .10);
}

html {
	scroll-behavior: smooth;
	scroll-padding-top: 24px;
}

body.nptt-main-site {
	background: #f5f7f9;
	color: var(--nptt-ink);
	font-size: 16px;
	line-height: 1.65;
	overflow-x: hidden;
}

.nptt-main-site main,
.nptt-main-site .fix-menu,
.nptt-main-site .fix-menu2 {
	max-width: 1240px;
	padding-right: 20px;
	padding-left: 20px;
}

.nptt-main-site a,
.nptt-main-site button,
.nptt-main-site input,
.nptt-main-site select,
.nptt-main-site textarea {
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.nptt-main-site :focus-visible {
	outline: 3px solid #f1b45b !important;
	outline-offset: 3px;
}

.nptt-skip-link {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 100000;
	transform: translateY(-160%);
	padding: 10px 16px;
	border-radius: 8px;
	background: #fff;
	color: var(--nptt-navy) !important;
	box-shadow: var(--nptt-shadow);
	font-weight: 700;
}

.nptt-skip-link:focus {
	transform: translateY(0);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Header and navigation */
.site-header {
	z-index: 20;
	background: var(--nptt-surface);
}

.nptt-main-site .menu-top {
	height: 78px;
	margin-bottom: 0;
	background: var(--nptt-navy);
	box-shadow: 0 8px 30px rgba(9, 32, 51, .16);
}

.nptt-main-site .menu-top .fix-menu {
	position: relative;
	height: 78px;
}

.nptt-main-site .menu-top .logo {
	max-width: calc(100% - 130px);
}

.nptt-site-brand {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	min-height: 78px;
	color: #fff !important;
	letter-spacing: .02em;
}

.nptt-site-brand span {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(21px, 3vw, 30px);
	font-weight: 700;
	line-height: 1.05;
}

.nptt-site-brand small {
	margin-top: 5px;
	color: #cddbe6;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.nptt-main-site .menu-top button,
.nptt-main-site .menu-top .label {
	color: #fff;
}

.nptt-main-site .menu-top .custom-logo-link {
	min-height: 78px;
}

.nptt-main-site .menu-top .custom-logo-link img {
	max-height: 68px;
}

.nptt-main-site .menu-list,
.nptt-main-site .menu-list2,
.nptt-main-site .menu-list3,
.nptt-main-site .menu-list4 {
	margin-top: 0;
	margin-bottom: 0;
	border-radius: 0;
}

.nptt-main-site .menu-list-gb-1,
.nptt-main-site .menu-list-gb-2 {
	min-height: 48px;
	margin: 0 !important;
	padding: 9px 20px !important;
	box-sizing: border-box;
}

.nptt-main-site .wp-menu > li > a,
.nptt-main-site .wp-menu2 > li > a,
.nptt-main-site .wp-menu4 > li > a,
.nptt-main-site .wptop-menu-1 > li > a,
.nptt-main-site .wptop-menu-2 > li > a {
	font-size: 15px;
	font-weight: 700;
}

.nptt-main-site .search-bg {
	background: var(--nptt-navy);
}

.nptt-main-site #otimkiem {
	background: #fff;
	color: var(--nptt-ink);
}

/* Hero */
.nptt-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 15%, rgba(219, 166, 88, .30), transparent 32%),
		linear-gradient(120deg, #0a2945 0%, #164c73 62%, #1f5c83 100%);
	color: #fff;
}

.nptt-hero::after {
	content: "";
	position: absolute;
	right: -5%;
	bottom: -95px;
	z-index: -1;
	width: min(55vw, 760px);
	height: 310px;
	background: url("../../images/land.png") center bottom / cover no-repeat;
	opacity: .15;
	filter: grayscale(1) brightness(1.8);
}

.nptt-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(280px, .65fr);
	gap: 52px;
	align-items: center;
	max-width: 1240px;
	min-height: 470px;
	margin: 0 auto;
	padding: 72px 20px;
}

.nptt-eyebrow {
	margin: 0 0 7px;
	color: var(--nptt-gold-dark);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .16em;
	line-height: 1.4;
	text-transform: uppercase;
}

.nptt-hero .nptt-eyebrow,
.nptt-footer-info .nptt-eyebrow {
	color: #f1c27c;
}

.nptt-hero h1 {
	max-width: 790px;
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(38px, 6vw, 67px);
	font-weight: 700;
	letter-spacing: -.035em;
	line-height: 1.05;
}

.nptt-hero__content > p:not(.nptt-eyebrow) {
	max-width: 690px;
	margin: 22px 0 0;
	color: #d8e5ee;
	font-size: clamp(17px, 2vw, 20px);
}

.nptt-hero__actions,
.nptt-filter-actions,
.nptt-empty-state > div {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-top: 28px;
}

.nptt-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 20px;
	border: 1px solid transparent !important;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.2;
	cursor: pointer;
}

.nptt-button:hover {
	transform: translateY(-2px);
}

.nptt-button--primary {
	background: var(--nptt-gold) !important;
	color: #172433 !important;
}

.nptt-button--primary:hover {
	background: #dda858 !important;
}

.nptt-button--secondary {
	border-color: var(--nptt-line) !important;
	background: transparent !important;
	color: var(--nptt-navy) !important;
}

.nptt-hero .nptt-button--secondary {
	border-color: rgba(255, 255, 255, .42) !important;
	color: #fff !important;
}

.nptt-button--light {
	background: #fff !important;
	color: var(--nptt-navy) !important;
}

.nptt-hero__benefits {
	display: grid;
	gap: 12px;
	margin: 0;
}

.nptt-hero__benefits li {
	display: flex;
	flex-direction: column;
	padding: 18px 20px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 14px;
	background: rgba(255, 255, 255, .08);
	backdrop-filter: blur(8px);
}

.nptt-hero__benefits strong {
	font-size: 18px;
}

.nptt-hero__benefits span {
	color: #cddce7;
	font-size: 14px;
}

/* Main layout and section headings */
.nptt-main-site main {
	padding-top: 36px;
}

.nptt-main-site .homepage {
	width: 70%;
}

.nptt-main-site .sidebar {
	width: 27.5%;
}

.nptt-section-heading,
.nptt-results-heading {
	display: flex;
	gap: 24px;
	align-items: end;
	justify-content: space-between;
	margin: 10px 0 20px;
}

.nptt-section-heading h2,
.nptt-results-heading h1 {
	margin: 0;
	color: var(--nptt-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(26px, 3.2vw, 38px);
	line-height: 1.15;
}

.nptt-section-heading > a,
.nptt-results-heading > a {
	flex: none;
	padding-bottom: 4px;
	border-bottom: 1px solid currentColor;
	color: var(--nptt-navy);
	font-weight: 800;
}

/* Property finder */
.nptt-property-search {
	margin: 0 0 34px;
	border-radius: var(--nptt-radius);
	box-shadow: var(--nptt-shadow);
}

.nptt-main-site .land-images-dang {
	display: flex;
	align-items: end;
	justify-content: space-between;
	height: auto;
	min-height: 82px;
	margin: 0;
	padding: 20px 24px 16px;
	border-radius: var(--nptt-radius) var(--nptt-radius) 0 0;
	background:
		linear-gradient(90deg, rgba(13, 45, 74, .98), rgba(21, 73, 108, .93)),
		url("../../images/land.png") right center / auto 100% no-repeat;
	box-sizing: border-box;
}

.land-images-dang h2 {
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 25px;
}

.nptt-main-site .land-dang-tin {
	padding: 9px 15px;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 9px;
	background: rgba(255, 255, 255, .10);
	box-shadow: none;
	filter: none;
	font-size: 14px;
}

.nptt-main-site .land-main-search {
	margin: 0;
	padding: 22px 24px 24px;
	border: 1px solid var(--nptt-line);
	border-top: 0;
	border-radius: 0 0 var(--nptt-radius) var(--nptt-radius);
	background: #fff;
	box-shadow: none;
}

.nptt-main-site .land-input {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
}

.nptt-main-site .land-input input {
	min-height: 50px;
	padding: 11px 14px 11px 42px;
	border: 1px solid var(--nptt-line);
	border-radius: 10px;
	background: var(--nptt-soft);
	color: var(--nptt-ink);
}

.nptt-main-site .land-input > button {
	width: auto;
	min-width: 138px;
	min-height: 50px;
	padding: 10px 18px;
	border-radius: 10px;
	background: var(--nptt-navy);
	font-weight: 800;
}

.nptt-main-site .land-search-type {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	overflow: visible;
	margin: 16px 0 0;
}

.nptt-main-site .land-search-type > div,
.nptt-main-site .land-search-type > div:not(:last-child) {
	min-width: 0;
	margin: 0;
}

.nptt-main-site .land-search-type select,
.nptt-main-site .select2-container,
.nptt-main-site .select2-container .select2-selection--single {
	width: 100% !important;
	min-height: 44px;
	box-sizing: border-box;
}

.nptt-main-site .land-search-type select,
.nptt-main-site .select2-container .select2-selection--single {
	padding: 8px 9px 8px 36px;
	border: 1px solid var(--nptt-line) !important;
	border-radius: 9px;
	background: #fff;
	color: var(--nptt-ink);
}

.nptt-main-site .select2-container .select2-selection--single .select2-selection__rendered {
	padding-left: 0;
	line-height: 26px;
}

.nptt-main-site .input-land-icon {
	top: 50%;
	left: 13px;
	transform: translateY(-50%);
	color: #7b8998;
	pointer-events: none;
}

.land-filter-toggle {
	display: none;
	margin-top: 14px !important;
	color: var(--nptt-navy) !important;
	font-size: 14px !important;
	font-weight: 800 !important;
}

.nptt-filter-actions {
	justify-content: flex-end;
	margin-top: 18px;
}

.nptt-filter-actions > a {
	color: var(--nptt-muted);
	font-size: 14px;
	font-weight: 700;
}

.nptt-field-error::after {
	content: "Không tải được dữ liệu vị trí";
	display: block;
	margin-top: 4px;
	color: #a73535;
	font-size: 12px;
}

/* Property cards */
.nptt-main-site .main-bai {
	gap: 20px;
}

.nptt-main-site .comic-card.nptt-property-card {
	overflow: hidden;
	padding: 0;
	border: 1px solid var(--nptt-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 10px 28px rgba(21, 45, 66, .07);
}

.nptt-main-site .comic-card.nptt-property-card:hover {
	transform: translateY(-4px);
	border-color: #c6d2dc;
	box-shadow: 0 18px 35px rgba(21, 45, 66, .13);
}

.nptt-property-card .land-hinh {
	position: relative;
	display: block;
	overflow: hidden;
	background: #d8e1e7;
}

.nptt-property-card .land-hinh img {
	display: block;
	height: 220px;
	margin: 0;
	border-radius: 0;
	transition: transform .4s ease;
}

.nptt-property-card:hover .land-hinh img {
	transform: scale(1.035);
}

.nptt-property-card .land-hinh.is-fallback img {
	object-position: center bottom;
	filter: saturate(.75);
}

.nptt-property-card .land-hinh > span {
	top: 12px;
	right: 12px;
	z-index: 2;
	border-radius: 7px;
	font-size: 12px;
}

.nptt-property-card__body {
	padding: 17px 18px 19px;
}

.nptt-property-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 10px;
}

.nptt-property-card .land-loai,
.nptt-property-card .land-tien {
	margin: 0;
	padding: 4px 8px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}

.nptt-property-card .land-loai {
	background: #eaf1f5;
	color: var(--nptt-navy);
}

.nptt-property-card .land-loai:hover {
	background: var(--nptt-navy);
	color: #fff;
}

.nptt-property-card .land-tien {
	border-color: #dfbf8d;
	color: #8b5a1c;
}

.nptt-property-card h2 {
	margin: 0 0 10px !important;
	font-size: 19px !important;
	line-height: 1.35 !important;
}

.nptt-property-card h2 a {
	color: var(--nptt-ink);
}

.nptt-property-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 13px;
	color: var(--nptt-muted);
	font-size: 13px;
}

.nptt-property-card .land-dc {
	margin: 10px 0 0;
	color: #526171;
	font-size: 13px;
}

/* Category image tiles */
.nptt-main-site .widget-cm-img {
	gap: 16px;
}

.nptt-main-site .widget-cm-img a {
	overflow: hidden;
	border-radius: 14px;
	background: var(--nptt-navy);
	box-shadow: 0 9px 24px rgba(16, 43, 67, .12);
}

.nptt-main-site .widget-cm-img img {
	display: block;
	height: 190px;
	margin: 0;
	border-radius: 14px;
	filter: brightness(.55) saturate(.75);
}

.nptt-main-site .widget-cm-img a span {
	width: 86%;
	line-height: 1.25;
	text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
}

/* Search states */
.nptt-search-page {
	max-width: 1240px !important;
}

.nptt-results-heading {
	margin-top: 34px;
}

.nptt-empty-state {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	padding: 40px 24px;
	border: 1px solid var(--nptt-line);
	border-radius: var(--nptt-radius);
	background: #fff;
	box-shadow: 0 12px 35px rgba(16, 43, 67, .07);
	text-align: center;
	box-sizing: border-box;
}

.nptt-empty-state > span {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	margin-bottom: 14px;
	border-radius: 50%;
	background: #edf3f6;
	color: var(--nptt-navy);
	font-size: 30px;
}

.nptt-empty-state h1,
.nptt-empty-state h2 {
	margin: 0;
	color: var(--nptt-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(25px, 3vw, 34px);
}

.nptt-empty-state p {
	max-width: 650px;
	margin: 10px 0 0;
	color: var(--nptt-muted);
}

.nptt-filter-guide {
	margin-top: 22px;
}

.nptt-main-site .land-page {
	margin: 26px 0 0;
}

/* Listing detail */
.single-land.nptt-main-site main {
	padding-top: 34px;
}

.single-land .box-card {
	overflow: hidden;
	border: 1px solid var(--nptt-line);
	border-radius: var(--nptt-radius);
	background: #fff;
	box-shadow: var(--nptt-shadow);
}

.single-land .box-noidung {
	padding: 28px !important;
}

.single-land #crumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 9px;
	margin-bottom: 18px;
	color: var(--nptt-muted);
	font-size: 13px;
}

.single-land #crumbs li {
	display: inline-flex;
	align-items: center;
	min-width: 0;
	word-break: break-word;
}

.single-land #crumbs li:not(:last-child)::after {
	content: "/";
	margin-left: 9px;
	color: #a5b0ba;
}

.single-land #noidung-h2 {
	margin-bottom: 10px;
	color: var(--nptt-ink);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(29px, 4vw, 46px);
	line-height: 1.12;
}

.single-land .box-land-adress {
	color: var(--nptt-muted);
	font-size: 14px;
}

.nptt-listing-notice {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin: 20px 0;
	padding: 16px 18px;
	border-left: 4px solid var(--nptt-gold);
	border-radius: 0 10px 10px 0;
	background: #fff8eb;
	color: #69522d;
}

.single-land .box-land-note {
	margin-top: 20px;
	border: 1px solid var(--nptt-line);
	border-radius: 12px;
	overflow: hidden;
}

.single-land .box-land-note-title {
	background: #edf3f6;
	color: var(--nptt-navy);
	font-weight: 800;
}

.single-land .box-land-note-nd {
	background: #fff;
}

.single-land .box-land-lienhe a {
	font-weight: 800;
}

.single-land .box-land-maps iframe {
	display: block;
	max-height: 390px;
}

.single-land .sidebar .widget-land1 {
	position: sticky;
	top: 18px;
}

/* Footer */
.nptt-footer-info {
	margin-top: 54px;
	background: var(--nptt-navy);
	color: #d5e1e9;
}

.nptt-footer-info__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
	gap: 70px;
	max-width: 1240px;
	margin: 0 auto;
	padding: 54px 20px;
}

.nptt-footer-info h2 {
	margin: 0 0 12px;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(24px, 3vw, 34px);
	line-height: 1.2;
}

.nptt-footer-info p {
	margin: 0;
}

.nptt-footer-contact {
	padding-left: 32px;
	border-left: 1px solid rgba(255, 255, 255, .18);
}

.nptt-footer-contact .nptt-button {
	margin-top: 20px;
}

.nptt-main-site .chan,
.nptt-main-site .chan-3,
.nptt-main-site .chan-4 {
	margin-top: 0;
	padding-top: 18px;
	background: #081f34;
	color: #aebfcb;
}

.nptt-main-site .chan a,
.nptt-main-site .chan-3 a,
.nptt-main-site .chan-4 a {
	color: #d8e5ed;
}

.nptt-main-site .fox,
.nptt-main-site .fox-2,
.nptt-main-site .fox-3,
.nptt-main-site .fox-4 {
	border-color: rgba(255, 255, 255, .13);
	background: #081f34;
	color: #8ea5b5;
}

/* Floating controls should not cover important mobile actions. */
#backtop {
	opacity: 0;
	pointer-events: none;
	transform: translateY(10px);
}

#backtop.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

@media (max-width: 1050px) {
	.nptt-main-site .land-search-type {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 800px) {
	.nptt-main-site main,
	.nptt-main-site .fix-menu,
	.nptt-main-site .fix-menu2 {
		padding-right: 16px;
		padding-left: 16px;
	}

	.nptt-hero__inner {
		grid-template-columns: 1fr;
		gap: 32px;
		min-height: 0;
		padding: 58px 18px;
	}

	.nptt-hero__benefits {
		grid-template-columns: repeat(3, 1fr);
	}

	.nptt-main-site .homepage,
	.nptt-main-site .homepage2,
	.nptt-main-site .sidebar,
	.nptt-main-site .sidebar2 {
		width: 100%;
		float: none;
	}

	.nptt-footer-info__inner {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.nptt-footer-contact {
		padding: 28px 0 0;
		border-top: 1px solid rgba(255, 255, 255, .18);
		border-left: 0;
	}
}

@media (max-width: 700px) {
	body.nptt-main-site {
		font-size: 15px;
	}

	.nptt-main-site .menu-top,
	.nptt-main-site .menu-top .fix-menu,
	.nptt-site-brand {
		height: 68px;
		min-height: 68px;
	}

	.nptt-site-brand small {
		display: none;
	}

	.nptt-main-site .iconmenu button,
	.nptt-main-site .iconlogin button {
		height: 68px;
	}

	.nptt-main-site main {
		padding-top: 24px;
	}

	.nptt-hero h1 {
		font-size: clamp(36px, 12vw, 51px);
	}

	.nptt-hero__content > p:not(.nptt-eyebrow) {
		font-size: 17px;
	}

	.nptt-hero__benefits {
		grid-template-columns: 1fr;
	}

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

	.nptt-main-site .land-images-dang {
		align-items: start;
		padding: 18px;
	}

	.land-images-dang h2 {
		font-size: 22px;
	}

	.nptt-main-site .land-main-search {
		padding: 16px;
	}

	.nptt-main-site .land-input {
		grid-template-columns: 1fr;
	}

	.nptt-main-site .land-input > button {
		width: 100%;
	}

	.land-filter-toggle {
		display: inline-flex;
		gap: 7px;
		align-items: center;
	}

	.nptt-main-site .land-search-type {
		grid-template-columns: 1fr 1fr;
	}

	.nptt-main-site .land-search-type.is-collapsed {
		display: none;
	}

	.nptt-filter-actions {
		justify-content: stretch;
	}

	.nptt-filter-actions .nptt-button {
		width: 100%;
	}

	.nptt-main-site .widget-cm-img {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}

	.nptt-main-site .widget-cm-img img {
		height: 145px;
	}

	.nptt-property-card .land-hinh img {
		height: min(62vw, 280px);
	}

	.single-land .box-noidung {
		padding: 20px !important;
	}

	.single-land #crumbs {
		display: block;
		overflow: visible;
		white-space: normal;
	}

	.single-land #crumbs li {
		margin: 0 7px 5px 0;
	}

	.single-land .sidebar {
		display: none;
	}

	.darkmode-bottom {
		bottom: 62px;
	}

	#backtop {
		bottom: 12px;
	}

	.onchat-animating,
	.onchat {
		bottom: 112px !important;
	}
}

@media (max-width: 480px) {
	.nptt-main-site main,
	.nptt-main-site .fix-menu,
	.nptt-main-site .fix-menu2 {
		padding-right: 12px;
		padding-left: 12px;
	}

	.nptt-hero__inner {
		padding: 46px 15px 50px;
	}

	.nptt-hero__actions .nptt-button {
		width: 100%;
	}

	.nptt-main-site .land-images-dang {
		gap: 12px;
	}

	.nptt-main-site .land-dang-tin {
		padding: 7px 10px;
	}

	.nptt-main-site .land-search-type {
		grid-template-columns: 1fr;
	}

	.nptt-main-site .widget-cm-img img {
		height: 125px;
	}

	.nptt-main-site .widget-cm-img a span {
		font-size: 14px;
	}

	.nptt-empty-state {
		padding: 32px 18px;
	}

	.nptt-footer-info__inner {
		padding: 42px 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* About and contact pages */
main.nptt-content-page {
	max-width: none;
	margin: 0;
	padding: 0;
	background: #fff;
}

.nptt-page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background:
		radial-gradient(circle at 85% 12%, rgba(200, 145, 67, .32), transparent 30%),
		linear-gradient(125deg, #092640 0%, #14486f 66%, #1c5a84 100%);
	color: #dce8f0;
}

.nptt-page-hero::after {
	content: "";
	position: absolute;
	right: -80px;
	bottom: -170px;
	z-index: -1;
	width: 520px;
	height: 520px;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 50%;
	box-shadow: 0 0 0 80px rgba(255, 255, 255, .025), 0 0 0 160px rgba(255, 255, 255, .018);
}

.nptt-page-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
	gap: 64px;
	align-items: center;
	max-width: 1180px;
	min-height: 520px;
	margin: 0 auto;
	padding: 72px 20px;
}

.nptt-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 30px;
	color: #b9ccda;
	font-size: 14px;
}

.nptt-breadcrumb a {
	color: #fff;
	font-weight: 700;
}

.nptt-page-hero .nptt-eyebrow,
.nptt-footer-cta .nptt-eyebrow {
	color: #f0c27f;
}

.nptt-page-hero h1 {
	max-width: 780px;
	margin: 0;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(40px, 5.6vw, 66px);
	letter-spacing: -.035em;
	line-height: 1.06;
}

.nptt-page-hero__inner > div > p:not(.nptt-eyebrow) {
	max-width: 740px;
	margin: 22px 0 0;
	color: #d5e3ec;
	font-size: 19px;
}

.nptt-page-hero .nptt-button--secondary {
	border-color: rgba(255, 255, 255, .4) !important;
	background: rgba(255, 255, 255, .08) !important;
	color: #fff !important;
}

.nptt-page-hero__panel {
	padding: 30px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 18px;
	background: rgba(255, 255, 255, .09);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .16);
	backdrop-filter: blur(10px);
}

.nptt-page-hero__panel > strong {
	display: block;
	margin-bottom: 18px;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 25px;
}

.nptt-page-hero__panel ul,
.nptt-check-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nptt-page-hero__panel li,
.nptt-check-list li {
	position: relative;
	margin-top: 12px;
	padding-left: 28px;
}

.nptt-page-hero__panel li::before,
.nptt-check-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #f0c27f;
	font-weight: 900;
}

.nptt-page-section {
	max-width: 1180px;
	margin: 0 auto;
	padding: 80px 20px;
}

.nptt-page-section--soft {
	margin-top: 12px;
	margin-bottom: 12px;
	border-radius: 22px;
	background: var(--nptt-soft);
}

.nptt-page-heading {
	max-width: 760px;
	margin-bottom: 38px;
}

.nptt-page-heading h2,
.nptt-two-column h2,
.nptt-contact-form-card h2,
.nptt-contact-help h2 {
	margin: 0 0 14px;
	color: var(--nptt-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(30px, 4vw, 46px);
	letter-spacing: -.025em;
	line-height: 1.12;
}

.nptt-page-heading > p:last-child,
.nptt-two-column > div > p:last-child,
.nptt-contact-form-card > p {
	color: var(--nptt-muted);
	font-size: 17px;
}

.nptt-values-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.nptt-value-card {
	padding: 27px;
	border: 1px solid var(--nptt-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(16, 43, 67, .06);
}

.nptt-value-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: #edf3f7;
	color: var(--nptt-navy-2);
	font-size: 20px;
}

.nptt-value-card h3 {
	margin: 21px 0 8px;
	color: var(--nptt-navy);
	font-size: 20px;
}

.nptt-value-card p {
	margin: 0;
	color: var(--nptt-muted);
}

.nptt-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.nptt-steps li {
	display: flex;
	gap: 18px;
	padding: 26px;
	border: 1px solid var(--nptt-line);
	border-radius: 16px;
	background: #fff;
}

.nptt-steps li > span {
	color: var(--nptt-gold-dark);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 25px;
	font-weight: 800;
}

.nptt-steps h3 {
	margin: 0 0 7px;
	color: var(--nptt-navy);
	font-size: 19px;
}

.nptt-steps p {
	margin: 0;
	color: var(--nptt-muted);
}

.nptt-two-column {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr);
	gap: 70px;
	align-items: center;
}

.nptt-trust-note,
.nptt-contact-help,
.nptt-contact-note {
	padding: 30px;
	border-radius: 17px;
	background: var(--nptt-navy);
	color: #dce7ee;
}

.nptt-trust-note h3 {
	margin: 0 0 10px;
	color: #fff;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
}

.nptt-trust-note p {
	margin: 0 0 20px;
}

.nptt-text-link {
	color: #f0c27f !important;
	font-weight: 800;
}

/* Contact */
.nptt-contact-summary {
	display: grid;
	gap: 20px;
}

.nptt-contact-summary > div {
	display: grid;
	grid-template-columns: 34px 1fr;
	column-gap: 12px;
}

.nptt-contact-summary i {
	grid-row: 1 / span 2;
	padding-top: 4px;
	color: #f0c27f;
	font-size: 20px;
}

.nptt-contact-summary span {
	color: #b8cbd8;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.nptt-contact-summary a,
.nptt-contact-summary strong {
	min-width: 0;
	overflow-wrap: anywhere;
	color: #fff;
	font-size: 16px;
}

.nptt-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
	gap: 34px;
	align-items: start;
}

.nptt-contact-form-card {
	padding: 38px;
	border: 1px solid var(--nptt-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--nptt-shadow);
}

.nptt-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 28px;
}

.nptt-field {
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.nptt-field--full {
	grid-column: 1 / -1;
}

.nptt-field label {
	color: var(--nptt-ink);
	font-weight: 800;
}

.nptt-field input,
.nptt-field select,
.nptt-field textarea {
	width: 100%;
	min-height: 50px;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid #cbd6de;
	border-radius: 10px;
	background: #fff;
	color: var(--nptt-ink);
	font: inherit;
}

.nptt-field textarea {
	min-height: 170px;
	resize: vertical;
}

.nptt-field small {
	color: var(--nptt-muted);
}

.nptt-consent {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	margin: 22px 0;
	color: var(--nptt-muted);
	font-size: 14px;
}

.nptt-consent input {
	width: 18px;
	height: 18px;
	margin-top: 3px;
	accent-color: var(--nptt-navy-2);
}

.nptt-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

.nptt-form-message {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	margin: 24px 0;
	padding: 16px 18px;
	border-radius: 12px;
}

.nptt-form-message i {
	padding-top: 3px;
	font-size: 21px;
}

.nptt-form-message strong,
.nptt-form-message span {
	display: block;
}

.nptt-form-message--success {
	background: #e9f7f0;
	color: #146b46;
}

.nptt-form-message--error {
	background: #fff0ef;
	color: #a33b33;
}

.nptt-contact-aside {
	display: grid;
	gap: 20px;
	position: sticky;
	top: 22px;
}

.nptt-contact-help {
	background: #eef3f6;
	color: var(--nptt-ink);
}

.nptt-contact-help h2 {
	font-size: 30px;
}

.nptt-contact-help .nptt-check-list li::before {
	color: var(--nptt-gold-dark);
}

.nptt-contact-note {
	display: flex;
	gap: 16px;
	background: var(--nptt-navy);
}

.nptt-contact-note i {
	color: #f0c27f;
	font-size: 23px;
}

.nptt-contact-note strong {
	color: #fff;
	font-size: 18px;
}

.nptt-contact-note p {
	margin: 6px 0 0;
}

.nptt-faq-list {
	display: grid;
	gap: 12px;
}

.nptt-faq-list details {
	padding: 0 22px;
	border: 1px solid var(--nptt-line);
	border-radius: 13px;
	background: #fff;
}

.nptt-faq-list summary {
	padding: 19px 0;
	color: var(--nptt-navy);
	font-weight: 800;
	cursor: pointer;
}

.nptt-faq-list details p {
	margin: -3px 0 20px;
	color: var(--nptt-muted);
}

/* Complete footer */
.nptt-site-footer {
	margin-top: 0;
	background: #071d30;
	color: #c5d4df;
}

.nptt-footer-cta {
	background: #eef3f6;
	color: var(--nptt-ink);
}

.nptt-footer-cta__inner {
	display: flex;
	gap: 40px;
	align-items: center;
	justify-content: space-between;
	max-width: 1180px;
	margin: 0 auto;
	padding: 52px 20px;
}

.nptt-footer-cta h2 {
	max-width: 760px;
	margin: 0 0 8px;
	color: var(--nptt-navy);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(27px, 4vw, 42px);
	line-height: 1.12;
}

.nptt-footer-cta p {
	margin: 0;
	color: var(--nptt-muted);
}

.nptt-footer-main {
	max-width: 1180px;
	margin: 0 auto;
	padding: 62px 20px 24px;
}

.nptt-footer-grid {
	display: grid;
	grid-template-columns: minmax(240px, 1.35fr) minmax(150px, .7fr) minmax(150px, .7fr) minmax(230px, 1fr);
	gap: 46px;
}

.nptt-footer-logo {
	display: inline-flex;
	flex-direction: column;
	margin-bottom: 18px;
	color: #fff !important;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.15;
}

.nptt-footer-logo small {
	margin-top: 7px;
	color: #93a9b9;
	font-family: inherit;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.nptt-footer-brand p,
.nptt-footer-contact-card p {
	margin: 0;
	color: #aebfcb;
}

.nptt-footer-nav h2,
.nptt-footer-contact-card h2 {
	margin: 0 0 18px;
	color: #fff;
	font-size: 16px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nptt-footer-nav ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nptt-footer-nav li + li {
	margin-top: 10px;
}

.nptt-footer-nav a {
	color: #c5d4df !important;
}

.nptt-footer-nav a:hover,
.nptt-footer-email:hover {
	color: #f0c27f !important;
}

.nptt-footer-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 22px;
}

.nptt-footer-socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 10px;
	color: #fff !important;
}

.nptt-footer-email {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	margin-top: 17px;
	color: #fff !important;
	font-weight: 800;
	overflow-wrap: anywhere;
}

.nptt-footer-email i {
	padding-top: 4px;
	color: #f0c27f;
}

.nptt-footer-contact-card small {
	display: block;
	margin-top: 10px;
	color: #8fa5b5;
}

.nptt-footer-bottom {
	display: flex;
	gap: 30px;
	justify-content: space-between;
	margin-top: 48px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .11);
	color: #88a0b1;
	font-size: 13px;
}

.nptt-footer-bottom p {
	margin: 0;
}

@media (max-width: 980px) {
	.nptt-page-hero__inner,
	.nptt-contact-layout,
	.nptt-two-column {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.nptt-page-hero__inner {
		padding-top: 62px;
		padding-bottom: 62px;
	}

	.nptt-values-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nptt-contact-aside {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		position: static;
	}

	.nptt-footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.nptt-page-hero__inner {
		min-height: 0;
		padding: 48px 17px;
	}

	.nptt-page-hero h1 {
		font-size: clamp(37px, 11vw, 53px);
	}

	.nptt-page-hero__inner > div > p:not(.nptt-eyebrow) {
		font-size: 17px;
	}

	.nptt-page-section {
		padding: 58px 17px;
	}

	.nptt-page-section--soft {
		border-radius: 0;
	}

	.nptt-steps,
	.nptt-contact-aside {
		grid-template-columns: 1fr;
	}

	.nptt-contact-form-card {
		padding: 27px 20px;
	}

	.nptt-form-grid {
		grid-template-columns: 1fr;
	}

	.nptt-field--full {
		grid-column: auto;
	}

	.nptt-footer-cta__inner,
	.nptt-footer-bottom {
		align-items: flex-start;
		flex-direction: column;
	}

	.nptt-footer-cta__inner {
		padding: 42px 17px;
	}

	.nptt-footer-main {
		padding-right: 17px;
		padding-left: 17px;
	}
}

@media (max-width: 520px) {
	.nptt-values-grid,
	.nptt-footer-grid {
		grid-template-columns: 1fr;
	}

	.nptt-page-hero__panel {
		padding: 23px;
	}

	.nptt-footer-cta .nptt-button,
	.nptt-contact-form .nptt-button {
		width: 100%;
	}
}
