/*
Theme Name: Nusentra
Description: Custom WordPress child theme for PT Nusantara Integrasi Teknologi.
Author: Nusentra
Template: astra
Version: 1.2.8
Text Domain: nusentra
*/

/* =============================================================================
   1. Design Tokens
   ============================================================================= */
:root {
	--nusentra-primary: #07566a;
	--nusentra-primary-deep: #073b4a;
	--nusentra-brand: #079bab;
	--nusentra-accent: #4dd7dc;
	--nusentra-ink: #102a36;
	--nusentra-muted: #58707a;
	--nusentra-surface: #ffffff;
	--nusentra-subtle: #f3f8f9;
	--nusentra-border: #d9e5e8;
	--nusentra-container: 1200px;
	--nusentra-section-space: clamp(4.5rem, 8vw, 7.5rem);
	--nusentra-radius: 4px;
	--nusentra-shadow: 0 18px 55px rgba(7, 59, 74, 0.10);
	--nusentra-transition: 180ms ease;
}

/* =============================================================================
   2. Typography
   ============================================================================= */
body,
button,
input,
select,
textarea {
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--nusentra-ink);
}

h1,
h2,
h3,
h4,
h5,
h6,
.site-title,
.site-title a {
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: -0.025em;
}

/* =============================================================================
   3. Global Elements
   ============================================================================= */
.nusentra-shell {
	width: min(calc(100% - 48px), var(--nusentra-container));
	margin-inline: auto;
}

.nusentra-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.7rem;
	margin: 0 0 1.3rem;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--nusentra-brand);
}

.nusentra-eyebrow::before {
	content: "";
	width: 2.2rem;
	height: 2px;
	background: currentColor;
}

/* =============================================================================
   4. Header & Navigation
   ============================================================================= */
#masthead {
	position: sticky;
	top: 0;
	z-index: 999;
}

#masthead .ast-primary-header-bar,
#masthead .ast-above-header-bar {
	min-height: 76px;
	background: #ffffff !important;
	border-bottom: 1px solid rgba(7, 59, 74, 0.08);
	box-shadow: 0 4px 20px rgba(5, 36, 45, 0.06);
}

@supports (backdrop-filter: blur(12px)) {
	#masthead .ast-primary-header-bar,
	#masthead .ast-above-header-bar {
		backdrop-filter: blur(12px);
	}
}

#masthead .site-branding {
	display: flex;
	align-items: center;
	padding: 0.38rem 0.65rem;
	background: transparent;
	border-radius: 3px;
}

#masthead .custom-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

#masthead .site-logo-img img,
#masthead .custom-logo-link img {
	display: block;
	width: auto;
	max-width: 140px;
	max-height: 52px;
	height: auto;
	object-fit: contain;
	filter: none;
}

#masthead .main-header-menu > .menu-item > .menu-link {
	padding-inline: 1.05rem;
	font-size: 0.91rem;
	font-weight: 600;
	color: var(--nusentra-primary-deep) !important;
	transition: color var(--nusentra-transition), background var(--nusentra-transition);
}

/* Ensure only one dropdown toggle arrow displays on parent items and none on sub-items */
#masthead .main-header-menu > .menu-item > .menu-link > .dropdown-menu-toggle ~ .dropdown-menu-toggle {
	display: none !important;
}

#masthead .main-header-menu .sub-menu .icon-arrow,
#masthead .main-header-menu .sub-menu .dropdown-menu-toggle {
	display: none !important;
}

#masthead .main-header-menu > .menu-item > .menu-link:hover,
#masthead .main-header-menu > .current-menu-item > .menu-link,
#masthead .main-header-menu > .current-menu-ancestor > .menu-link {
	color: var(--nusentra-brand) !important;
}

#masthead .main-header-menu .sub-menu {
	padding: 0.45rem;
	background: #ffffff;
	border: 1px solid rgba(7, 59, 74, 0.12);
	border-radius: 3px;
	box-shadow: 0 18px 45px rgba(5, 36, 45, 0.12);
}

#masthead .main-header-menu .sub-menu .menu-link {
	padding: 0.72rem 0.9rem;
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--nusentra-primary-deep) !important;
	border-radius: 2px;
}

#masthead .main-header-menu .sub-menu .menu-link:hover,
#masthead .main-header-menu .sub-menu .current-menu-item > .menu-link {
	color: var(--nusentra-primary-deep) !important;
	background: var(--nusentra-subtle);
}

#masthead .main-header-menu > .menu-item-contact-cta > .menu-link {
	height: 42px;
	min-height: 42px;
	margin-left: 1rem;
	padding: 0.7rem 1.25rem;
	font-weight: 700;
	color: #ffffff !important;
	background: var(--nusentra-primary-deep) !important;
	border: 1px solid var(--nusentra-primary-deep) !important;
	border-radius: var(--nusentra-radius);
}

#masthead .main-header-menu > .menu-item-contact-cta > .menu-link:hover {
	color: #ffffff !important;
	background: var(--nusentra-brand) !important;
	border-color: var(--nusentra-brand) !important;
}

/* =============================================================================
   5. Buttons & CTA
   ============================================================================= */
.nusentra-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0.82rem 1.45rem;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	border: 1px solid transparent;
	border-radius: var(--nusentra-radius);
	transition: color var(--nusentra-transition), background var(--nusentra-transition), border-color var(--nusentra-transition), transform var(--nusentra-transition);
}

.nusentra-button:hover {
	transform: translateY(-1px);
}

.nusentra-button--primary {
	color: #fff;
	background: var(--nusentra-primary);
	border-color: var(--nusentra-primary);
}

.nusentra-button--primary:hover {
	color: #fff;
	background: var(--nusentra-brand);
	border-color: var(--nusentra-brand);
}

.nusentra-button--secondary {
	color: var(--nusentra-primary);
	background: transparent;
	border-color: #a9c1c8;
}

.nusentra-button--secondary:hover {
	color: var(--nusentra-primary-deep);
	background: #fff;
	border-color: var(--nusentra-primary);
}

/* =============================================================================
   6. Homepage Hero V2 — Showcase Night City
   ============================================================================= */
.nusentra-hero-v2.elementor-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: clamp(620px, 42vw, 700px);
	padding: clamp(5.5rem, 10vw, 9.5rem) 0 clamp(5rem, 9vw, 8.5rem);
	background-color: #041019;
	background-image:
		linear-gradient(90deg, rgba(4, 16, 25, 0.97) 0%, rgba(4, 16, 25, 0.91) 34%, rgba(4, 16, 25, 0.68) 55%, rgba(4, 16, 25, 0.26) 78%, rgba(4, 16, 25, 0.16) 100%),
		url('/wp-content/uploads/2026/08/nusentra-hero-smart-city.jpg');
	background-repeat: no-repeat, no-repeat;
	background-position: center, 64% center;
	background-size: 100% 100%, cover;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

@media (max-width: 1024px) {
	.nusentra-hero-v2.elementor-section {
		min-height: 620px;
		background-image:
			linear-gradient(90deg, rgba(4, 16, 25, 0.96) 0%, rgba(4, 16, 25, 0.88) 42%, rgba(4, 16, 25, 0.60) 68%, rgba(4, 16, 25, 0.30) 100%),
			url('/wp-content/uploads/2026/08/nusentra-hero-smart-city.jpg');
		background-position: center, 66% center;
		background-size: 100% 100%, cover;
	}
}

@media (max-width: 768px) {
	.nusentra-hero-v2.elementor-section {
		min-height: 0;
		background-image:
			linear-gradient(90deg, rgba(4, 16, 25, 0.95) 0%, rgba(4, 16, 25, 0.86) 58%, rgba(4, 16, 25, 0.58) 100%),
			url('/wp-content/uploads/2026/08/nusentra-hero-smart-city.jpg');
		background-position: center, 68% center;
		background-size: 100% 100%, cover;
	}
}

.nusentra-hero-v2 .nusentra-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 720px);
	align-items: center;
}

.nusentra-hero-v2 .nusentra-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1.25rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #00c4d8;
}

.nusentra-eyebrow__dash {
	display: inline-block;
	width: 28px;
	height: 2px;
	background: #00c4d8;
	border-radius: 2px;
}

.nusentra-hero-v2 .nusentra-hero-title {
	margin: 0;
	font-size: clamp(3.2rem, 5.8vw, 5.2rem);
	font-weight: 750;
	line-height: 1.04;
	letter-spacing: -0.04em;
	color: #ffffff;
}

.nusentra-hero-v2 .nusentra-hero-title .nusentra-hero-title--accent {
	color: #00c4d8;
	display: block;
}

.nusentra-hero-v2 .nusentra-hero-body {
	max-width: 540px;
	margin: 1.5rem 0 0;
	font-size: clamp(1.02rem, 1.25vw, 1.18rem);
	line-height: 1.68;
	color: rgba(220, 235, 240, 0.88);
}

.nusentra-hero-v2 .nusentra-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 2.25rem;
}

.nusentra-hero-v2 .nusentra-button--primary {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.85rem 1.6rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #ffffff;
	background: #0096a6;
	border: 1px solid #0096a6;
	border-radius: 4px;
	text-decoration: none;
	transition: all 0.2s ease;
}

.nusentra-hero-v2 .nusentra-button--primary:hover {
	background: #00b4c8;
	border-color: #00b4c8;
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(0, 180, 200, 0.35);
}

.nusentra-hero-v2 .nusentra-button--outline-light {
	display: inline-flex;
	align-items: center;
	padding: 0.85rem 1.6rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #ffffff;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 4px;
	text-decoration: none;
	backdrop-filter: blur(4px);
	transition: all 0.2s ease;
}

.nusentra-hero-v2 .nusentra-button--outline-light:hover {
	background: rgba(255, 255, 255, 0.12);
	border-color: #ffffff;
	color: #ffffff;
	transform: translateY(-1px);
}

/* =============================================================================
   6b. Clients & Public Sector Track Record
   ============================================================================= */
.nusentra-clients-section.elementor-section {
	padding: clamp(3.5rem, 6vw, 5rem) 0;
	background: #ffffff;
	border-bottom: 1px solid var(--nusentra-border);
}

.nusentra-clients-header {
	max-width: 680px;
	margin: 0 0 2.8rem;
}

.nusentra-section-title--clients {
	font-size: clamp(1.8rem, 2.8vw, 2.4rem);
	line-height: 1.22;
	color: var(--nusentra-primary-deep);
}

.nusentra-clients-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
	gap: 1.25rem;
	align-items: stretch;
}

.nusentra-client-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 1.4rem 1rem 1.1rem;
	background: var(--nusentra-surface);
	border: 1px solid rgba(14, 56, 70, 0.08);
	border-radius: 6px;
	text-align: center;
	transition: all 0.25s ease;
}

.nusentra-client-card:hover {
	background: #ffffff;
	border-color: var(--nusentra-accent);
	box-shadow: 0 6px 20px rgba(0, 168, 181, 0.08);
	transform: translateY(-2px);
}

.nusentra-client-card img {
	width: auto;
	max-width: 110px;
	max-height: 52px;
	height: auto;
	object-fit: contain;
	filter: grayscale(100%) opacity(75%);
	transition: filter 0.25s ease, transform 0.25s ease;
}

.nusentra-client-card:hover img {
	filter: grayscale(0%) opacity(100%);
	transform: scale(1.04);
}

.nusentra-client-name {
	display: block;
	margin-top: 0.85rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	color: var(--nusentra-muted);
	transition: color 0.25s ease;
}

.nusentra-client-card:hover .nusentra-client-name {
	color: var(--nusentra-primary-deep);
}

@media (max-width: 768px) {
	.nusentra-clients-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 0.85rem;
	}

	.nusentra-client-card {
		padding: 1.1rem 0.75rem 0.9rem;
	}
}

/* =============================================================================
   7. Core Capabilities
   ============================================================================= */
.nusentra-capabilities.elementor-section {
	padding: var(--nusentra-section-space) 0;
	background: var(--nusentra-surface);
}

.nusentra-section-heading {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.7fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: end;
	margin-bottom: clamp(3rem, 6vw, 5rem);
}

.nusentra-section-title {
	max-width: 760px;
	margin: 0;
	font-size: clamp(2.6rem, 5vw, 5rem);
	font-weight: 690;
	line-height: 1;
	letter-spacing: -0.055em;
	color: var(--nusentra-ink);
}

.nusentra-section-intro {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--nusentra-muted);
}

.nusentra-capability-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--nusentra-border);
	border-bottom: 1px solid var(--nusentra-border);
}

.nusentra-capability {
	display: flex;
	flex-direction: column;
	min-height: 520px;
	padding: clamp(2rem, 3.4vw, 3.2rem);
	background: #fff;
	border-right: 1px solid var(--nusentra-border);
	transition: background var(--nusentra-transition), transform var(--nusentra-transition);
}

.nusentra-capability:last-child {
	border-right: 0;
}

.nusentra-capability:hover {
	z-index: 1;
	background: var(--nusentra-subtle);
	transform: translateY(-4px);
}

.nusentra-capability__number {
	margin-bottom: auto;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.18em;
	color: var(--nusentra-brand);
}

.nusentra-capability h3 {
	margin: 3.5rem 0 1rem;
	font-size: clamp(1.65rem, 2.4vw, 2.35rem);
	font-weight: 680;
	line-height: 1.08;
	color: var(--nusentra-ink);
}

.nusentra-capability__statement {
	min-height: 5.5rem;
	margin: 0 0 1.8rem;
	line-height: 1.65;
	color: var(--nusentra-muted);
}

.nusentra-capability ul {
	margin: 0 0 2rem;
	padding: 1.5rem 0 0;
	list-style: none;
	border-top: 1px solid var(--nusentra-border);
}

.nusentra-capability li {
	position: relative;
	margin: 0 0 0.7rem;
	padding-left: 1.1rem;
	font-size: 0.92rem;
	color: var(--nusentra-ink);
}

.nusentra-capability li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.58em;
	width: 5px;
	height: 5px;
	background: var(--nusentra-accent);
	border-radius: 50%;
}

.nusentra-capability__link {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin-top: auto;
	font-size: 0.9rem;
	font-weight: 750;
	color: var(--nusentra-primary);
	text-decoration: none;
}

.nusentra-capability__link::after {
	content: "→";
	font-size: 1.1rem;
	transition: transform var(--nusentra-transition);
}

.nusentra-capability__link:hover {
	color: var(--nusentra-brand);
}

.nusentra-capability__link:hover::after {
	transform: translateX(4px);
}

/* =============================================================================
   8. Homepage Enterprise Continuation
   ============================================================================= */
.nusentra-why.elementor-section,
.nusentra-ecosystem.elementor-section,
.nusentra-delivery.elementor-section,
.nusentra-solutions.elementor-section {
	padding: var(--nusentra-section-space) 0;
}

.nusentra-why.elementor-section,
.nusentra-delivery.elementor-section {
	background: var(--nusentra-subtle);
}

.nusentra-ecosystem.elementor-section,
.nusentra-solutions.elementor-section {
	background: var(--nusentra-surface);
}

.nusentra-editorial-head {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.65fr);
	gap: clamp(2rem, 7vw, 7rem);
	align-items: end;
	margin-bottom: clamp(3rem, 6vw, 5rem);
}

.nusentra-editorial-head--compact {
	margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.nusentra-value-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--nusentra-border);
}

.nusentra-value-list article {
	display: grid;
	grid-template-columns: 3.2rem minmax(0, 0.82fr) minmax(220px, 1.18fr);
	gap: 1.4rem;
	align-items: start;
	padding: 2.2rem 0;
	border-bottom: 1px solid var(--nusentra-border);
}

.nusentra-value-list article:nth-child(odd) {
	padding-right: clamp(1.5rem, 4vw, 4rem);
}

.nusentra-value-list article:nth-child(even) {
	padding-left: clamp(1.5rem, 4vw, 4rem);
	border-left: 1px solid var(--nusentra-border);
}

.nusentra-value-list span,
.nusentra-lifecycle > li > span,
.nusentra-solution-list > a > span {
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.15em;
	color: var(--nusentra-brand);
}

.nusentra-value-list h3,
.nusentra-lifecycle h3,
.nusentra-solution-list h3 {
	margin: 0;
	font-size: clamp(1.25rem, 1.9vw, 1.7rem);
	font-weight: 680;
	line-height: 1.15;
	color: var(--nusentra-ink);
}

.nusentra-value-list p,
.nusentra-lifecycle p,
.nusentra-solution-list p {
	margin: 0;
	line-height: 1.65;
	color: var(--nusentra-muted);
}

.nusentra-logo-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	border-top: 1px solid var(--nusentra-border);
	border-left: 1px solid var(--nusentra-border);
}

.nusentra-logo-grid figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 180px;
	margin: 0;
	padding: 1.7rem;
	background: #fff;
	border-right: 1px solid var(--nusentra-border);
	border-bottom: 1px solid var(--nusentra-border);
}

.nusentra-logo-grid img {
	width: auto;
	max-width: 132px;
	max-height: 58px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.72;
	transition: filter var(--nusentra-transition), opacity var(--nusentra-transition);
}

.nusentra-logo-grid figure:hover img {
	filter: grayscale(0);
	opacity: 1;
}

.nusentra-logo-grid figcaption {
	margin-top: 1.2rem;
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-align: center;
	text-transform: uppercase;
	color: var(--nusentra-muted);
}

.nusentra-ecosystem-note {
	margin: 1rem 0 0;
	font-size: 0.75rem;
	color: var(--nusentra-muted);
}

.nusentra-lifecycle {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--nusentra-border);
}

.nusentra-lifecycle::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3rem;
	width: 100%;
	height: 1px;
	background: var(--nusentra-border);
}

.nusentra-lifecycle li {
	position: relative;
	padding: 5.2rem clamp(1.4rem, 3vw, 2.7rem) 0;
	border-right: 1px solid var(--nusentra-border);
}

.nusentra-lifecycle li:first-child {
	padding-left: 0;
}

.nusentra-lifecycle li:last-child {
	padding-right: 0;
	border-right: 0;
}

.nusentra-lifecycle li::before {
	content: "";
	position: absolute;
	top: 2.64rem;
	left: clamp(1.4rem, 3vw, 2.7rem);
	width: 11px;
	height: 11px;
	background: var(--nusentra-brand);
	border: 3px solid var(--nusentra-subtle);
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--nusentra-brand);
}

.nusentra-lifecycle li:first-child::before {
	left: 0;
}

.nusentra-lifecycle h3 {
	margin: 1.5rem 0 1rem;
}

.nusentra-solution-list {
	border-top: 1px solid var(--nusentra-border);
}

.nusentra-solution-list > a {
	display: grid;
	grid-template-columns: 4rem minmax(220px, 0.65fr) minmax(0, 1fr) 2rem;
	gap: 1.4rem;
	align-items: center;
	padding: 2rem 0;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--nusentra-border);
	transition: background var(--nusentra-transition), padding var(--nusentra-transition);
}

.nusentra-solution-list > a:hover {
	padding-inline: 1.2rem;
	background: var(--nusentra-subtle);
}

.nusentra-solution-list b {
	font-size: 1.35rem;
	font-weight: 500;
	color: var(--nusentra-primary);
}

.nusentra-final-cta.elementor-section {
	position: relative;
	overflow: hidden;
	padding: clamp(5rem, 9vw, 8.5rem) 0;
	color: #fff;
	background: var(--nusentra-primary-deep);
}

.nusentra-final-cta.elementor-section::after {
	content: "";
	position: absolute;
	right: -12rem;
	top: -16rem;
	width: 38rem;
	height: 38rem;
	border: 1px solid rgba(77, 215, 220, 0.22);
	border-radius: 50%;
	box-shadow: 0 0 0 5rem rgba(77, 215, 220, 0.025), 0 0 0 10rem rgba(77, 215, 220, 0.018);
}

.nusentra-final-cta__inner {
	position: relative;
	z-index: 1;
}

.nusentra-final-cta h2 {
	max-width: 980px;
	margin: 0;
	font-size: clamp(3rem, 6.5vw, 6.5rem);
	font-weight: 690;
	line-height: 0.98;
	letter-spacing: -0.06em;
	color: #fff;
}

.nusentra-final-cta__inner > p:not(.nusentra-eyebrow) {
	max-width: 720px;
	margin: 1.8rem 0 0;
	font-size: 1.08rem;
	line-height: 1.75;
	color: #c8d9dd;
}

.nusentra-button--light {
	color: var(--nusentra-primary-deep);
	background: var(--nusentra-accent);
	border-color: var(--nusentra-accent);
}

.nusentra-button--light:hover {
	color: var(--nusentra-primary-deep);
	background: #fff;
	border-color: #fff;
}

.nusentra-button--dark {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.48);
}

.nusentra-button--dark:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
	border-color: #fff;
}

/* =============================================================================
   9. Forms
   ============================================================================= */
input:focus,
textarea:focus,
select:focus,
a:focus-visible,
button:focus-visible {
	outline: 3px solid rgba(77, 215, 220, 0.38);
	outline-offset: 3px;
}

/* =============================================================================
   10. Corporate Footer
   ============================================================================= */
.nusentra-corporate-footer {
	padding: clamp(3.8rem, 7vw, 6.5rem) 0;
	color: #c8d9dd;
	background: #062f3b;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.nusentra-corporate-footer__grid {
	display: grid;
	grid-template-columns: minmax(280px, 1.5fr) minmax(160px, 0.55fr) minmax(140px, 0.45fr);
	gap: clamp(2.5rem, 7vw, 7rem);
}

.nusentra-corporate-footer__brand img {
	width: auto;
	max-width: 144px;
	height: auto;
	filter: none;
}

.nusentra-corporate-footer__brand p {
	max-width: 460px;
	margin: 1.6rem 0 0;
	font-size: 1rem;
	line-height: 1.75;
	color: #a9c0c5;
}

.nusentra-corporate-footer nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.75rem;
}

.nusentra-corporate-footer h2 {
	margin: 0 0 0.75rem;
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nusentra-accent);
}

.nusentra-corporate-footer a {
	font-size: 0.92rem;
	color: #dce9eb;
	text-decoration: none;
}

.nusentra-corporate-footer a:hover {
	color: var(--nusentra-accent);
}

.site-primary-footer-wrap[data-section="section-primary-footer-builder"] {
	padding-top: clamp(3.5rem, 6vw, 5.5rem);
	padding-bottom: 2.5rem;
	color: #c8d9dd;
	background: #062f3b;
	border-top: 0;
}

.site-primary-footer-wrap a,
.site-above-footer-wrap a,
.site-below-footer-wrap a {
	color: #dce9eb;
}

.site-primary-footer-wrap a:hover,
.site-above-footer-wrap a:hover,
.site-below-footer-wrap a:hover {
	color: var(--nusentra-accent);
}

.site-primary-footer-wrap .widget-title,
.site-primary-footer-wrap h2,
.site-primary-footer-wrap h3,
.site-above-footer-wrap .widget-title {
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nusentra-accent);
}

.site-primary-footer-wrap p,
.site-above-footer-wrap p {
	line-height: 1.7;
	color: #a9c0c5;
}

.site-below-footer-wrap[data-section="section-below-footer-builder"] {
	color: #8fa9af;
	background: #052833;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer .site-logo-img img,
.site-footer .custom-logo-link img {
	max-width: 138px;
	filter: none;
}

/* =============================================================================
   11. Responsive Rules
   ============================================================================= */
@media (max-width: 1024px) {
	.nusentra-hero-grid {
		grid-template-columns: minmax(0, 1fr) minmax(290px, 0.72fr);
		gap: 2.5rem;
	}

	.nusentra-hero-title {
		font-size: clamp(3.3rem, 7.5vw, 5rem);
	}

	.nusentra-section-heading {
		grid-template-columns: 1fr 0.72fr;
	}

	.nusentra-capability {
		min-height: 500px;
		padding: 2rem;
	}

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

	.nusentra-value-list article {
		grid-template-columns: 2.7rem minmax(0, 0.8fr) minmax(190px, 1.2fr);
	}

	.nusentra-solution-list > a {
		grid-template-columns: 3rem minmax(190px, 0.7fr) minmax(0, 1fr) 2rem;
	}
}

@media (max-width: 921px) {
	#masthead .ast-primary-header-bar {
		min-height: 68px;
	}

	#masthead .site-logo-img img,
	#masthead .custom-logo-link img {
		width: auto;
		max-width: 118px;
		max-height: 46px;
	}

	.ast-header-break-point .ast-mobile-header-wrap .ast-primary-header-bar,
	.ast-header-break-point #masthead .ast-mobile-header-content,
	.ast-header-break-point #masthead .ast-builder-menu-mobile .main-navigation,
	.ast-header-break-point #masthead .ast-builder-menu-mobile .main-header-menu {
		background: #ffffff !important;
	}

	.ast-header-break-point #masthead .main-header-menu .menu-link,
	.ast-header-break-point #masthead .main-header-menu .menu-link:focus {
		color: var(--nusentra-primary-deep) !important;
		border-color: rgba(7, 59, 74, 0.08);
	}

	.ast-header-break-point #masthead .main-header-menu .menu-link:hover,
	.ast-header-break-point #masthead .main-header-menu .current-menu-item > .menu-link,
	.ast-header-break-point #masthead .main-header-menu .current-menu-ancestor > .menu-link {
		color: var(--nusentra-brand) !important;
	}

	.ast-header-break-point #masthead .main-header-menu .sub-menu {
		padding: 0;
		background: var(--nusentra-subtle);
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.ast-header-break-point #masthead .main-header-menu .sub-menu .menu-link {
		padding-left: 2.2rem;
		color: var(--nusentra-primary-deep) !important;
		background: transparent;
	}

	.ast-header-break-point #masthead .menu-toggle,
	.ast-header-break-point #masthead .menu-toggle:hover,
	.ast-header-break-point #masthead .menu-toggle:focus {
		color: var(--nusentra-primary-deep);
		background: transparent;
		border-color: rgba(7, 59, 74, 0.15);
	}

	.ast-header-break-point .main-navigation .menu-item-contact-cta > .menu-link {
		height: auto;
		margin: 0.6rem 1.2rem 1rem;
		color: #ffffff !important;
		background: var(--nusentra-primary-deep) !important;
		border-color: var(--nusentra-primary-deep) !important;
		border-radius: var(--nusentra-radius);
	}

	.nusentra-hero-grid,
	.nusentra-section-heading,
	.nusentra-editorial-head,
	.nusentra-corporate-footer__grid {
		grid-template-columns: 1fr;
	}

	.nusentra-value-list {
		grid-template-columns: 1fr;
	}

	.nusentra-value-list article,
	.nusentra-value-list article:nth-child(odd),
	.nusentra-value-list article:nth-child(even) {
		grid-template-columns: 3rem minmax(180px, 0.72fr) minmax(0, 1.28fr);
		padding: 2rem 0;
		border-left: 0;
	}

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

	.nusentra-lifecycle::before {
		display: none;
	}

	.nusentra-lifecycle li,
	.nusentra-lifecycle li:first-child,
	.nusentra-lifecycle li:last-child {
		padding: 3.6rem 2rem 2.2rem;
		border-right: 1px solid var(--nusentra-border);
		border-bottom: 1px solid var(--nusentra-border);
	}

	.nusentra-lifecycle li:nth-child(even) {
		border-right: 0;
	}

	.nusentra-lifecycle li::before,
	.nusentra-lifecycle li:first-child::before {
		top: 1.45rem;
		left: 2rem;
	}

	.nusentra-solution-list > a {
		grid-template-columns: 3rem minmax(190px, 0.8fr) minmax(0, 1.2fr) 1.5rem;
	}

	.nusentra-hero-proof {
		min-height: 330px;
	}

	.nusentra-capability-grid {
		grid-template-columns: 1fr;
		border-bottom: 0;
	}

	.nusentra-capability {
		min-height: 0;
		border-right: 0;
		border-bottom: 1px solid var(--nusentra-border);
	}

	.nusentra-capability__number {
		margin-bottom: 1.5rem;
	}

	.nusentra-capability__statement {
		min-height: 0;
	}
}

@media (max-width: 600px) {
	.nusentra-shell {
		width: min(calc(100% - 32px), var(--nusentra-container));
	}

	.nusentra-hero-v2.elementor-section {
		padding: 4.25rem 0 3.75rem;
	}

	.nusentra-hero-v2.elementor-section::after {
		display: none;
	}

	.nusentra-hero-title {
		font-size: clamp(2.8rem, 14vw, 4rem);
		line-height: 0.98;
	}

	.nusentra-hero-body {
		font-size: 1rem;
		line-height: 1.65;
	}

	.nusentra-hero-actions {
		flex-direction: column;
	}

	.nusentra-button {
		width: 100%;
	}

	.nusentra-hero-proof {
		min-height: 300px;
		padding: 1.75rem;
	}

	.nusentra-hero-proof__label {
		margin-bottom: 5.5rem;
	}

	.nusentra-section-title {
		font-size: clamp(2.45rem, 12vw, 3.5rem);
	}

	.nusentra-capability {
		padding: 2rem 0.2rem;
	}

	.nusentra-value-list article,
	.nusentra-value-list article:nth-child(odd),
	.nusentra-value-list article:nth-child(even) {
		grid-template-columns: 2.4rem 1fr;
		gap: 0.8rem 1rem;
	}

	.nusentra-value-list article p {
		grid-column: 2;
	}

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

	.nusentra-logo-grid figure {
		min-height: 150px;
		padding: 1.2rem;
	}

	.nusentra-lifecycle {
		grid-template-columns: 1fr;
	}

	.nusentra-lifecycle li,
	.nusentra-lifecycle li:first-child,
	.nusentra-lifecycle li:last-child,
	.nusentra-lifecycle li:nth-child(even) {
		padding: 3.5rem 0 2rem 2.4rem;
		border-right: 0;
	}

	.nusentra-lifecycle li::before,
	.nusentra-lifecycle li:first-child::before {
		left: 0.2rem;
	}

	.nusentra-solution-list > a {
		grid-template-columns: 2.4rem minmax(0, 1fr) 1.4rem;
		gap: 0.8rem;
	}

	.nusentra-solution-list > a div {
		grid-column: 2;
	}

	.nusentra-solution-list > a b {
		grid-column: 3;
		grid-row: 1 / span 2;
	}

	.nusentra-final-cta h2 {
		font-size: clamp(2.75rem, 13vw, 4rem);
	}
}

/* =============================================================================
   12. Phase 2C Visual & Conversion Polish
   ============================================================================= */
.nusentra-hero-v2 *, .nusentra-capabilities *, .nusentra-why *,
.nusentra-ecosystem *, .nusentra-delivery *, .nusentra-solutions *,
.nusentra-final-cta *, .nusentra-corporate-footer * { box-sizing: border-box; }

.nusentra-hero-v2.elementor-section {
	padding-top: clamp(5.5rem, 8.5vw, 8rem);
	padding-bottom: clamp(5rem, 7.5vw, 7rem);
}

.nusentra-hero-grid {
	grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.82fr);
	gap: clamp(3.25rem, 6.5vw, 6.5rem);
}

.nusentra-hero-copy { padding-block: 0.75rem; }
.nusentra-hero-title { font-size: clamp(3.4rem, 6.2vw, 6.2rem); line-height: 0.985; }
.nusentra-hero-body { max-width: 650px; margin-top: 1.85rem; }
.nusentra-hero-actions { gap: 0.9rem; margin-top: 2.25rem; }
.nusentra-button { min-height: 52px; padding-inline: 1.55rem; box-shadow: none; }

.nusentra-hero-proof {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 420px;
	border: 1px solid rgba(255, 255, 255, 0.08);
	box-shadow: 0 22px 65px rgba(7, 59, 74, 0.13);
}

.nusentra-hero-proof__label {
	position: static;
	max-width: calc(100% - 8rem);
	margin: 0 0 auto;
	padding-bottom: 3rem;
}
.nusentra-hero-proof__line { margin-top: 2rem; }

.nusentra-capability-grid { align-items: stretch; }
.nusentra-capability {
	min-height: 510px;
	transform: translateY(0);
	transition: background var(--nusentra-transition), transform var(--nusentra-transition), border-color var(--nusentra-transition);
}
.nusentra-capability:nth-child(2) { background: #f8fbfc; box-shadow: inset 0 3px 0 var(--nusentra-brand); }
.nusentra-capability:hover { transform: translateY(-3px); }
.nusentra-capability__statement { min-height: 5.1rem; }
.nusentra-capability ul { min-height: 9.2rem; }
.nusentra-capability__link { min-height: 44px; }

.nusentra-value-list article { transition: background var(--nusentra-transition); }
.nusentra-value-list article:hover { background: rgba(255, 255, 255, 0.55); }
.nusentra-value-list span { padding-top: 0.22rem; }

.nusentra-logo-grid figure { min-height: 172px; padding: 1.9rem 1.35rem 1.55rem; }
.nusentra-logo-grid img {
	max-width: 140px;
	max-height: 62px;
	filter: grayscale(1) contrast(1.08);
	opacity: 0.84;
}
.nusentra-logo-grid figure:hover img,
.nusentra-logo-grid figure:focus-within img { filter: grayscale(0) contrast(1); opacity: 1; }
.nusentra-ecosystem-note { max-width: 760px; line-height: 1.55; }

.nusentra-lifecycle li { min-height: 290px; }
.nusentra-lifecycle li::before { transition: background var(--nusentra-transition), transform var(--nusentra-transition); }
.nusentra-lifecycle li:hover::before { background: var(--nusentra-accent); transform: scale(1.15); }

.nusentra-solution-list > a {
	min-height: 116px;
	padding-block: 2.15rem;
	transition: color var(--nusentra-transition), background var(--nusentra-transition), box-shadow var(--nusentra-transition), transform var(--nusentra-transition);
}
.nusentra-solution-list > a:hover,
.nusentra-solution-list > a:focus-visible {
	padding-inline: 0;
	background: linear-gradient(90deg, rgba(7, 155, 171, 0.06), transparent 72%);
	box-shadow: inset 3px 0 0 var(--nusentra-brand);
	transform: translateX(4px);
}
.nusentra-solution-list b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	transition: transform var(--nusentra-transition);
}
.nusentra-solution-list > a:hover b { transform: translateX(3px); }

.nusentra-final-cta.elementor-section {
	padding-top: clamp(5.5rem, 8vw, 7.5rem);
	padding-bottom: clamp(5.5rem, 8vw, 7.5rem);
}
.nusentra-final-cta h2 { max-width: 920px; font-size: clamp(3rem, 6.1vw, 6.1rem); line-height: 1; }
.nusentra-final-cta__inner > p:not(.nusentra-eyebrow) { max-width: 680px; }

.nusentra-corporate-footer {
	padding-top: clamp(4.25rem, 6.5vw, 6rem);
	padding-bottom: clamp(3.5rem, 5.5vw, 5rem);
}
.nusentra-corporate-footer__grid { align-items: start; }
.nusentra-corporate-footer__brand a {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0;
	background: transparent;
	border: 0;
}
.nusentra-corporate-footer__brand img {
	display: block;
	width: auto;
	max-width: 120px;
	height: auto;
	filter: none;
	object-fit: contain;
}
.nusentra-corporate-footer nav a { position: relative; padding-block: 0.2rem; }
.nusentra-corporate-footer nav a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--nusentra-accent);
	transition: width var(--nusentra-transition);
}
.nusentra-corporate-footer nav a:hover::after,
.nusentra-corporate-footer nav a:focus-visible::after { width: 100%; }

.nusentra-button:focus-visible,
.nusentra-capability__link:focus-visible,
.nusentra-solution-list > a:focus-visible,
.nusentra-corporate-footer a:focus-visible {
	outline: 3px solid var(--nusentra-accent);
	outline-offset: 4px;
}

@media (max-width: 921px) {
	.nusentra-hero-grid { grid-template-columns: 1fr; }
	.nusentra-hero-copy { padding-block: 0; }
	.nusentra-hero-proof { min-height: 350px; }
	.nusentra-capability,
	.nusentra-capability:nth-child(2) { min-height: 0; box-shadow: none; }
	.nusentra-capability ul { min-height: 0; }
	.nusentra-lifecycle li { min-height: 250px; }
}

@media (max-width: 600px) {
	.nusentra-hero-v2.elementor-section { padding-top: 3.75rem; }
	.nusentra-hero-title { font-size: clamp(2.65rem, 13vw, 3.8rem); letter-spacing: -0.055em; }
	.nusentra-hero-proof { min-height: 290px; }
	.nusentra-logo-grid img { max-width: 118px; max-height: 52px; }
	.nusentra-solution-list > a:hover,
	.nusentra-solution-list > a:focus-visible { transform: none; }
	.nusentra-final-cta.elementor-section::after { display: none; }
	.nusentra-corporate-footer__brand img { max-width: 108px; }
}

@media (max-width: 360px) {
	.nusentra-shell { width: min(calc(100% - 24px), var(--nusentra-container)); }
	.nusentra-hero-title,
	.nusentra-section-title,
	.nusentra-final-cta h2 { overflow-wrap: anywhere; }
	.nusentra-logo-grid { grid-template-columns: 1fr; }
	.nusentra-solution-list > a { grid-template-columns: 2rem minmax(0, 1fr) 1.25rem; }
}

/* =============================================================================
   13. Managed Services — Always-On IT Operations
   ============================================================================= */
.page-id-5427 .entry-header { display: none; }
.page-id-5427 .site-content > .ast-container,
.page-id-5427 .site-content #primary { max-width: 100%; padding: 0; margin: 0; }
.ms-hero *, .ms-operating *, .ms-scope *, .ms-architecture *,
.ms-engagement *, .ms-final-cta * { box-sizing: border-box; }

.ms-hero.elementor-section {
	padding: clamp(5.5rem, 8vw, 8.5rem) 0;
	background: #f3f7f8;
	border-bottom: 1px solid var(--nusentra-border);
}
.ms-hero__layout {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(520px, 1.1fr);
	gap: clamp(3.5rem, 7vw, 7.5rem);
	align-items: center;
}
.ms-hero__copy h1 {
	max-width: 720px;
	margin: 0;
	font-size: clamp(3.7rem, 6.3vw, 6.7rem);
	font-weight: 650;
	line-height: .94;
	letter-spacing: -.065em;
	color: var(--nusentra-ink);
}
.ms-hero__intro {
	max-width: 650px;
	margin: 2rem 0 0;
	font-size: clamp(1.05rem, 1.35vw, 1.2rem);
	line-height: 1.72;
	color: var(--nusentra-muted);
}
.ms-hero__actions { display: flex; flex-wrap: wrap; gap: 1.4rem 2rem; align-items: center; margin-top: 2.4rem; }
.ms-text-link { display: inline-flex; gap: .7rem; align-items: center; color: var(--nusentra-primary-deep); font-size: .94rem; font-weight: 650; text-decoration: none; }
.ms-text-link:hover { color: var(--nusentra-brand); }

.ms-hero__visual {
	min-width: 0;
	padding: clamp(2rem, 4vw, 3rem);
	color: #fff;
	background: var(--nusentra-primary-deep);
	border: 1px solid rgba(255,255,255,.12);
	border-radius: 2px;
}
.ms-control__topline { display: flex; justify-content: space-between; gap: 1.5rem; padding-bottom: 1.6rem; border-bottom: 1px solid rgba(255,255,255,.18); }
.ms-control__topline span { color: var(--nusentra-accent); font-size: .69rem; font-weight: 750; letter-spacing: .15em; }
.ms-control__topline strong { color: #c9dadd; font-size: .78rem; font-weight: 500; }
.ms-control__flow { display: grid; grid-template-columns: auto 1fr auto 1fr auto 1fr auto 1fr auto; align-items: center; padding: 3.6rem 0; }
.ms-control__flow i { display: block; height: 1px; background: rgba(255,255,255,.28); }
.ms-control__node { display: grid; place-content: center; width: 78px; aspect-ratio: 1; text-align: center; border: 1px solid rgba(255,255,255,.42); border-radius: 50%; background: #063e4c; }
.ms-control__node span { color: var(--nusentra-accent); font-size: .68rem; font-weight: 750; letter-spacing: .12em; }
.ms-control__node b { margin-top: .25rem; color: #fff; font-size: .8rem; font-weight: 620; }
.ms-control__signals { display: flex; flex-wrap: wrap; gap: .55rem 1.1rem; padding-top: 1.4rem; border-top: 1px solid rgba(255,255,255,.18); }
.ms-control__signals span { position: relative; padding-left: .8rem; color: #b8ced3; font-size: .75rem; }
.ms-control__signals span::before { content: ""; position: absolute; left: 0; top: .5em; width: 4px; height: 4px; border-radius: 50%; background: var(--nusentra-accent); }

.ms-operating.elementor-section,
.ms-scope.elementor-section,
.ms-engagement.elementor-section { padding: clamp(5rem, 7vw, 7.5rem) 0; }
.ms-operating.elementor-section { background: #fff; }
.ms-scope.elementor-section { background: #f6f8f9; }
.ms-engagement.elementor-section { background: #fff; }
.ms-architecture.elementor-section { padding: clamp(5rem, 7vw, 7.5rem) 0; color: #fff; background: var(--nusentra-primary-deep); }
.ms-final-cta.elementor-section { padding: clamp(5rem, 7vw, 7rem) 0; color: #fff; background: #052f3b; border-top: 1px solid rgba(255,255,255,.14); }

.ms-section-head {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, .65fr);
	gap: clamp(2.5rem, 7vw, 7rem);
	align-items: end;
	margin-bottom: clamp(3.2rem, 5vw, 4.8rem);
}
.ms-section-head--compact { margin-bottom: clamp(2.8rem, 4.5vw, 4rem); }
.ms-section-head h2, .ms-final-cta h2 {
	max-width: 850px;
	margin: 0;
	font-size: clamp(2.65rem, 4.8vw, 4.8rem);
	font-weight: 640;
	line-height: 1;
	letter-spacing: -.055em;
	color: var(--nusentra-ink);
}
.ms-section-head > p { margin: 0; font-size: 1.02rem; line-height: 1.75; color: var(--nusentra-muted); }

.ms-context-rail { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); margin-bottom: 3rem; border-top: 1px solid var(--nusentra-border); border-bottom: 1px solid var(--nusentra-border); }
.ms-context-rail span { padding: 1rem; color: var(--nusentra-muted); font-size: .72rem; font-weight: 650; letter-spacing: .05em; text-align: center; border-right: 1px solid var(--nusentra-border); }
.ms-context-rail span:last-child { border-right: 0; }
.ms-operating-flow { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); margin: 0; padding: 0; list-style: none; }
.ms-operating-flow::before { content: ""; position: absolute; top: 25px; left: 10%; right: 10%; height: 1px; background: var(--nusentra-border); }
.ms-operating-flow li { position: relative; padding: 0 clamp(1rem, 2vw, 1.8rem); text-align: center; }
.ms-operating-flow li span { position: relative; z-index: 1; display: grid; place-items: center; width: 50px; height: 50px; margin: 0 auto 1.7rem; color: #fff; font-size: .72rem; font-weight: 750; background: var(--nusentra-primary-deep); border: 7px solid #fff; border-radius: 50%; }
.ms-operating-flow h3 { margin: 0 0 .8rem; color: var(--nusentra-ink); font-size: 1.35rem; font-weight: 650; }
.ms-operating-flow p { margin: 0; color: var(--nusentra-muted); font-size: .9rem; line-height: 1.65; }

.ms-service-rows { border-top: 1px solid var(--nusentra-border); }
.ms-service-rows article { display: grid; grid-template-columns: 88px minmax(0, .9fr) minmax(320px, .8fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: center; padding: clamp(2.3rem, 4vw, 3.5rem) 0; border-bottom: 1px solid var(--nusentra-border); }
.ms-service-icon { display: grid; place-items: center; width: 64px; height: 64px; color: var(--nusentra-brand); border: 1px solid #bdd2d7; }
.ms-service-icon svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.ms-service-rows span, .ms-architecture-stage span, .ms-engagement-grid span { color: var(--nusentra-brand); font-size: .7rem; font-weight: 780; letter-spacing: .14em; }
.ms-service-rows h3 { margin: .75rem 0 .7rem; color: var(--nusentra-ink); font-size: clamp(1.55rem, 2.2vw, 2.15rem); font-weight: 640; letter-spacing: -.025em; }
.ms-service-rows p { max-width: 590px; margin: 0; color: var(--nusentra-muted); line-height: 1.65; }
.ms-service-rows ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .65rem 1.3rem; margin: 0; padding: 0; list-style: none; }
.ms-service-rows li { position: relative; padding-left: 1rem; color: var(--nusentra-ink); font-size: .88rem; line-height: 1.45; }
.ms-service-rows li::before { content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; border-radius: 50%; background: var(--nusentra-accent); }

.ms-architecture .ms-section-head h2 { color: #fff; }
.ms-architecture .ms-section-head > p { color: #bfd0d4; }
.ms-architecture .nusentra-eyebrow { color: var(--nusentra-accent); }
.ms-architecture-flow { display: grid; grid-template-columns: minmax(0,1fr) 28px minmax(0,1.15fr) 28px minmax(0,1.15fr) 28px minmax(0,.85fr); align-items: stretch; }
.ms-architecture-stage { display: flex; flex-direction: column; justify-content: space-between; min-height: 185px; padding: 1.6rem; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.025); }
.ms-architecture-stage span { color: var(--nusentra-accent); }
.ms-architecture-stage strong { color: #fff; font-size: 1.05rem; font-weight: 560; line-height: 1.55; }
.ms-architecture-stage--result { background: #07566a; border-color: rgba(69,209,220,.42); }
.ms-architecture-stage--result strong { font-size: 1.45rem; line-height: 1.25; }
.ms-architecture-arrow { display: grid; place-items: center; color: var(--nusentra-accent); font-size: 1.4rem; }
.ms-outcome-rail { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); margin-top: 2.2rem; border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.ms-outcome-rail span { padding: 1rem; color: #bdd0d4; font-size: .76rem; text-align: center; border-right: 1px solid rgba(255,255,255,.15); }
.ms-outcome-rail span:last-child { border-right: 0; }

.ms-engagement-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); border-top: 1px solid var(--nusentra-border); border-bottom: 1px solid var(--nusentra-border); }
.ms-engagement-grid article { min-height: 260px; padding: 2rem clamp(1.5rem, 3vw, 2.8rem); border-right: 1px solid var(--nusentra-border); }
.ms-engagement-grid article:last-child { border-right: 0; }
.ms-engagement-grid h3 { margin: 3rem 0 .9rem; color: var(--nusentra-ink); font-size: 1.55rem; font-weight: 640; }
.ms-engagement-grid p { margin: 0; color: var(--nusentra-muted); line-height: 1.65; }
.ms-engagement-note { max-width: 860px; margin: 1.35rem 0 0; color: var(--nusentra-muted); font-size: .78rem; line-height: 1.6; }
.ms-final-cta h2 { max-width: 980px; color: #fff; }
.ms-final-cta__inner > p:not(.nusentra-eyebrow) { max-width: 690px; margin: 1.8rem 0 2.3rem; color: #c5d6da; font-size: 1.05rem; line-height: 1.75; }

@media (max-width: 1100px) {
	.ms-hero__layout { grid-template-columns: 1fr; }
	.ms-hero__visual { max-width: none; }
	.ms-service-rows article { grid-template-columns: 72px minmax(0,1fr); }
	.ms-service-rows ul { grid-column: 2; }
	.ms-architecture-flow { grid-template-columns: 1fr; }
	.ms-architecture-arrow { min-height: 38px; transform: rotate(90deg); }
	.ms-architecture-stage { min-height: 150px; }
}
@media (max-width: 921px) {
	.ms-section-head { grid-template-columns: 1fr; }
	.ms-context-rail, .ms-outcome-rail { grid-template-columns: 1fr; }
	.ms-context-rail span, .ms-outcome-rail span { text-align: left; border-right: 0; border-bottom: 1px solid var(--nusentra-border); }
	.ms-context-rail span:last-child, .ms-outcome-rail span:last-child { border-bottom: 0; }
	.ms-architecture .ms-outcome-rail span { border-bottom-color: rgba(255,255,255,.15); }
	.ms-operating-flow { grid-template-columns: 1fr; }
	.ms-operating-flow::before { top: 0; bottom: 0; left: 24px; right: auto; width: 1px; height: auto; }
	.ms-operating-flow li { display: grid; grid-template-columns: 50px 1fr; gap: 0 1.4rem; padding: 0 0 2.2rem; text-align: left; }
	.ms-operating-flow li span { grid-row: 1 / span 2; margin: 0; }
	.ms-operating-flow h3 { align-self: end; }
	.ms-operating-flow p { grid-column: 2; }
	.ms-engagement-grid { grid-template-columns: 1fr; border-bottom: 0; }
	.ms-engagement-grid article { min-height: 0; padding-inline: 0; border-right: 0; border-bottom: 1px solid var(--nusentra-border); }
	.ms-engagement-grid h3 { margin-top: 1.8rem; }
}
@media (max-width: 600px) {
	.ms-hero.elementor-section { padding: 4.2rem 0 4.8rem; }
	.ms-hero__copy h1 { font-size: clamp(3rem, 15vw, 4.5rem); overflow-wrap: anywhere; }
	.ms-hero__actions { align-items: stretch; }
	.ms-hero__actions .nusentra-button { width: 100%; }
	.ms-text-link { min-height: 46px; }
	.ms-hero__visual { padding: 1.3rem; }
	.ms-control__topline { flex-direction: column; gap: .5rem; }
	.ms-control__flow { grid-template-columns: 1fr; gap: 0; padding: 1.8rem 0; }
	.ms-control__flow i { width: 1px; height: 22px; margin: 0 auto; }
	.ms-control__node { width: 66px; }
	.ms-service-rows article { grid-template-columns: 1fr; gap: 1.2rem; }
	.ms-service-rows ul { grid-column: 1; grid-template-columns: 1fr; }
	.ms-section-head h2, .ms-final-cta h2 { font-size: clamp(2.6rem, 12vw, 3.8rem); overflow-wrap: anywhere; }
	.ms-final-cta .nusentra-button { width: 100%; }
}

/* =============================================================================
   14. Microsoft Solutions Page V1
   ============================================================================= */
.page-id-5424 .entry-header { display: none; }
.page-id-5424 .site-content > .ast-container,
.page-id-5424 .site-content #primary { max-width: 100%; padding: 0; margin: 0; }
.mx-hero *, .mx-challenges *, .mx-portfolio *, .mx-lifecycle-section *,
.mx-outcomes *, .mx-engagement *, .mx-final-cta * { box-sizing: border-box; }
.mx-hero.elementor-section {
	position: relative; isolation: isolate; overflow: hidden;
	padding: clamp(5rem,8vw,8rem) 0;
	background: linear-gradient(120deg,#f7fbfc 0%,#fff 60%,#eef7f8 100%);
	border-bottom: 1px solid var(--nusentra-border);
}
.mx-hero.elementor-section::after {
	content: ""; position: absolute; z-index: -1; right: -11rem; top: -14rem;
	width: 40rem; height: 40rem; border: 1px solid rgba(7,155,171,.16); border-radius: 50%;
	box-shadow: 0 0 0 5rem rgba(7,155,171,.03),0 0 0 10rem rgba(7,86,106,.02);
}
.mx-hero__grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(340px,.82fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.mx-hero__copy h1 { max-width: 900px; margin: 0; font-size: clamp(3.4rem,6.2vw,6.2rem); font-weight: 720; line-height: .985; letter-spacing: -.06em; color: var(--nusentra-ink); }
.mx-hero__copy h1 span { color: var(--nusentra-brand); }
.mx-hero__intro { max-width: 690px; margin: 1.8rem 0 0; font-size: clamp(1.05rem,1.35vw,1.22rem); line-height: 1.72; color: var(--nusentra-muted); }
.mx-hero__panel { min-height: 420px; padding: clamp(2rem,4vw,3.2rem); color: #fff; background: var(--nusentra-primary-deep); border: 1px solid rgba(255,255,255,.08); border-radius: var(--nusentra-radius); box-shadow: var(--nusentra-shadow); }
.mx-hero__panel-label { margin: 0 0 5.8rem; font-size: .72rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; color: var(--nusentra-accent); }
.mx-hero__panel h2 { margin: 0 0 1.4rem; font-size: clamp(2rem,3.2vw,3rem); font-weight: 650; line-height: 1.08; letter-spacing: -.045em; color: #fff; }
.mx-hero__panel > p:not(.mx-hero__panel-label) { margin: 0; line-height: 1.65; color: #c8d9dd; }
.mx-hero__journey { display: flex; flex-wrap: wrap; align-items: center; gap: .42rem .52rem; margin: 1.7rem 0 0; padding-top: 1.4rem; font-size: .7rem; font-weight: 700; line-height: 1.4; letter-spacing: .065em; text-transform: uppercase; color: #fff; border-top: 1px solid rgba(255,255,255,.2); }
.mx-hero__journey-step { white-space: nowrap; }
.mx-hero__journey i { font-style: normal; color: var(--nusentra-accent); }
.mx-challenges.elementor-section,.mx-lifecycle-section.elementor-section,.mx-engagement.elementor-section { padding: clamp(3.75rem,6vw,5.75rem) 0; background: var(--nusentra-subtle); }
.mx-portfolio.elementor-section { padding: clamp(3.75rem,6vw,5.75rem) 0; background: #fff; }
.mx-outcomes.elementor-section { padding: clamp(4.25rem,6.5vw,6rem) 0; color: #fff; background: var(--nusentra-primary-deep); }
.mx-final-cta.elementor-section { padding: clamp(5.5rem,8vw,7.5rem) 0; color: #fff; background: #052f3b; }
.mx-editorial-head { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(320px,.68fr); gap: clamp(2rem,7vw,7rem); align-items: end; margin-bottom: clamp(2.5rem,4.5vw,4rem); }
.mx-editorial-head--compact { margin-bottom: clamp(2.5rem,4.5vw,3.8rem); }
.mx-editorial-head h2,.mx-outcomes h2,.mx-final-cta h2 { max-width: 840px; margin: 0; font-size: clamp(2.6rem,4.7vw,4.8rem); font-weight: 690; line-height: 1; letter-spacing: -.055em; color: var(--nusentra-ink); }
.mx-editorial-head > p,.mx-outcomes__intro { margin: 0; font-size: 1.05rem; line-height: 1.75; color: var(--nusentra-muted); }
.mx-challenge-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid var(--nusentra-border); border-bottom: 1px solid var(--nusentra-border); }
.mx-challenge-list article { min-height: 255px; padding: 1.75rem clamp(1.2rem,2.5vw,2rem); border-right: 1px solid var(--nusentra-border); }
.mx-challenge-list article:last-child { border-right: 0; }
.mx-challenge-list span,.mx-portfolio-grid span,.mx-lifecycle span,.mx-outcome-list span,.mx-engagement-grid span { font-size: .75rem; font-weight: 800; letter-spacing: .15em; color: var(--nusentra-brand); }
.mx-challenge-list h3,.mx-portfolio-grid h3,.mx-lifecycle h3,.mx-outcome-list h3,.mx-engagement-grid h3 { margin: 2.35rem 0 .9rem; font-size: clamp(1.25rem,1.8vw,1.65rem); font-weight: 680; line-height: 1.15; color: var(--nusentra-ink); }
.mx-challenge-list p,.mx-portfolio-grid p,.mx-lifecycle p,.mx-engagement-grid p { margin: 0; line-height: 1.65; color: var(--nusentra-muted); }
.mx-portfolio-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--nusentra-border); border-left: 1px solid var(--nusentra-border); }
.mx-portfolio-grid article { display: flex; flex-direction: column; min-height: 440px; padding: clamp(1.8rem,3vw,2.7rem); border-right: 1px solid var(--nusentra-border); border-bottom: 1px solid var(--nusentra-border); }
.mx-portfolio-grid h3 { margin-top: 3.2rem; }
.mx-portfolio-grid ul { margin: auto 0 0; padding: 1.5rem 0 0; list-style: none; border-top: 1px solid var(--nusentra-border); }
.mx-portfolio-grid li { position: relative; margin-bottom: .65rem; padding-left: 1rem; font-size: .9rem; color: var(--nusentra-ink); }
.mx-portfolio-grid li::before { content: ""; position: absolute; left: 0; top: .55em; width: 5px; height: 5px; background: var(--nusentra-accent); border-radius: 50%; }
.mx-portfolio-grid article:nth-child(2) { background: #f8fbfc; box-shadow: inset 0 3px 0 var(--nusentra-brand); }
.mx-lifecycle { position: relative; display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--nusentra-border); }
.mx-lifecycle::before { content: ""; position: absolute; left: 0; top: 3rem; width: 100%; height: 1px; background: var(--nusentra-border); }
.mx-lifecycle li { position: relative; min-height: 310px; padding: 5.2rem clamp(.7rem,1.5vw,1.4rem) 0; border-right: 1px solid var(--nusentra-border); }
.mx-lifecycle li:first-child { padding-left: 0; }.mx-lifecycle li:last-child { padding-right: 0; border-right: 0; }
.mx-lifecycle li::before { content: ""; position: absolute; top: 2.64rem; left: clamp(.7rem,1.5vw,1.4rem); width: 11px; height: 11px; background: var(--nusentra-brand); border: 3px solid var(--nusentra-subtle); border-radius: 50%; box-shadow: 0 0 0 1px var(--nusentra-brand); }
.mx-lifecycle li:first-child::before { left: 0; }.mx-lifecycle h3 { margin-top: 1.5rem; }
.mx-lifecycle p { font-size: .9rem; }
.mx-outcomes__grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(360px,1.02fr); gap: clamp(3rem,8vw,8rem); }
.mx-outcomes h2 { color: #fff; }.mx-outcomes .nusentra-eyebrow { color: var(--nusentra-accent); }
.mx-outcomes__intro { max-width: 600px; margin-top: 1.7rem; color: #c8d9dd; }
.mx-outcome-list { border-top: 1px solid rgba(255,255,255,.2); }
.mx-outcome-list article { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1.2rem; padding: 1.45rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }
.mx-outcome-list span { color: var(--nusentra-accent); }.mx-outcome-list h3 { margin: 0 0 .45rem; color: #fff; }.mx-outcome-list p { margin: 0; line-height: 1.6; color: #b8ced3; }
.mx-engagement-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--nusentra-border); border-bottom: 1px solid var(--nusentra-border); }
.mx-engagement-grid article { min-height: 270px; padding: 2rem clamp(1.5rem,3vw,2.8rem); border-right: 1px solid var(--nusentra-border); }.mx-engagement-grid article:last-child { border-right: 0; }
.mx-engagement-note { max-width: 900px; margin: 1.3rem 0 0; font-size: .78rem; line-height: 1.6; color: var(--nusentra-muted); }
.mx-final-cta__inner { position: relative; z-index: 1; }.mx-final-cta h2 { max-width: 980px; color: #fff; }.mx-final-cta__inner > p:not(.nusentra-eyebrow) { max-width: 700px; margin: 1.8rem 0 2.2rem; font-size: 1.06rem; line-height: 1.75; color: #c8d9dd; }

/* Microsoft Solutions V1 compact challenge rhythm. */
.mx-challenges.elementor-section { padding-top: clamp(3.25rem,5.2vw,4.9rem); padding-bottom: clamp(3.25rem,5.2vw,4.9rem); }
.mx-challenges .mx-editorial-head { margin-bottom: clamp(2.15rem,3.8vw,3.35rem); }
.mx-challenge-list article { min-height: 220px; padding-top: 1.5rem; padding-bottom: 1.5rem; }
.mx-challenge-list h3 { margin-top: 2rem; margin-bottom: .75rem; }
@media (max-width: 1100px) { .mx-lifecycle { grid-template-columns: repeat(4,minmax(0,1fr)); }.mx-lifecycle::before { display: none; }.mx-lifecycle li,.mx-lifecycle li:first-child,.mx-lifecycle li:last-child { min-height: 260px; padding: 4rem 1.4rem 2rem; border-right: 1px solid var(--nusentra-border); border-bottom: 1px solid var(--nusentra-border); }.mx-lifecycle li::before,.mx-lifecycle li:first-child::before { top: 1.7rem; left: 1.4rem; } }
@media (max-width: 1024px) { .mx-challenge-list { grid-template-columns: repeat(2,minmax(0,1fr)); }.mx-challenge-list article { border-bottom: 1px solid var(--nusentra-border); }.mx-portfolio-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 921px) { .mx-hero__grid,.mx-editorial-head,.mx-outcomes__grid { grid-template-columns: 1fr; }.mx-hero__panel { min-height: 350px; }.mx-engagement-grid { grid-template-columns: 1fr; border-bottom: 0; }.mx-engagement-grid article { min-height: 0; padding-inline: 0; border-right: 0; border-bottom: 1px solid var(--nusentra-border); }.mx-lifecycle { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) { .mx-hero.elementor-section { padding: 3.75rem 0 4rem; }.mx-hero.elementor-section::after { display: none; }.mx-hero__copy h1 { font-size: clamp(2.65rem,13vw,3.8rem); overflow-wrap: anywhere; }.mx-hero__panel { min-height: 310px; padding: 1.75rem; }.mx-hero__panel-label { margin-bottom: 4rem; }.mx-hero__journey { gap: .35rem .42rem; font-size: .66rem; letter-spacing: .045em; }.mx-challenge-list,.mx-portfolio-grid,.mx-lifecycle { grid-template-columns: 1fr; }.mx-challenge-list article,.mx-portfolio-grid article { min-height: 0; padding: 1.7rem 0; border-right: 0; }.mx-portfolio-grid { border-left: 0; }.mx-portfolio-grid article:nth-child(2) { background: transparent; box-shadow: none; }.mx-lifecycle li,.mx-lifecycle li:first-child,.mx-lifecycle li:last-child { min-height: 0; padding: 3.5rem 0 2rem 2.5rem; border-right: 0; }.mx-lifecycle li::before,.mx-lifecycle li:first-child::before { left: .25rem; }.mx-outcome-list article { grid-template-columns: 2.5rem 1fr; }.mx-final-cta h2 { font-size: clamp(2.7rem,13vw,4rem); overflow-wrap: anywhere; }.mx-final-cta .nusentra-button { width: 100%; } }
@media (max-width: 360px) { .mx-hero__copy h1,.mx-editorial-head h2,.mx-outcomes h2,.mx-final-cta h2 { overflow-wrap: anywhere; } }

/* =============================================================================
   15. Digital IT Services Page V1
   ============================================================================= */
.page-id-5423 .entry-header { display: none; }
.page-id-5423 .site-content > .ast-container,
.page-id-5423 .site-content #primary { max-width: 100%; padding: 0; margin: 0; }
.dv-hero *,.dv-friction *,.dv-capabilities *,.dv-deliverables *,.dv-modernize *,.dv-delivery *,.dv-outcomes *,.dv-engagement *,.dv-final-cta * { box-sizing: border-box; }
.dv-hero.elementor-section { position: relative; isolation: isolate; overflow: hidden; padding: clamp(5.5rem,8.5vw,8.5rem) 0; background: linear-gradient(118deg,#f5fafb 0%,#fff 56%,#edf7f8 100%); border-bottom: 1px solid var(--nusentra-border); }
.dv-hero.elementor-section::after { content: ""; position: absolute; z-index: -1; right: -10rem; top: -16rem; width: 42rem; height: 42rem; border: 1px solid rgba(7,155,171,.18); border-radius: 50%; box-shadow: 0 0 0 5rem rgba(7,155,171,.028),0 0 0 10rem rgba(7,86,106,.018); }
.dv-hero__grid { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(360px,.8fr); gap: clamp(3.5rem,7vw,7rem); align-items: center; }.dv-hero__copy h1 { max-width: 960px; margin: 0; font-size: clamp(3.2rem,5.45vw,5.55rem); font-weight: 720; line-height: 1.005; letter-spacing: -.058em; color: var(--nusentra-ink); }.dv-hero__copy h1 span { display: inline-block; margin-top: .08em; color: var(--nusentra-brand); }.dv-hero__intro { max-width: 720px; margin: 1.9rem 0 0; font-size: clamp(1.05rem,1.35vw,1.22rem); line-height: 1.72; color: var(--nusentra-muted); }
.dv-hero__panel { min-height: 430px; padding: clamp(2rem,4vw,3.2rem); color: #fff; background: var(--nusentra-primary-deep); border: 1px solid rgba(255,255,255,.08); border-radius: var(--nusentra-radius); box-shadow: var(--nusentra-shadow); }.dv-hero__panel-label { margin: 0 0 5.2rem; font-size: .72rem; font-weight: 750; line-height: 1.4; letter-spacing: .13em; text-transform: uppercase; color: var(--nusentra-accent); }.dv-hero__focus { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); border-top: 1px solid rgba(255,255,255,.2); }.dv-hero__focus article { padding: 1.8rem 1.4rem 0 0; }.dv-hero__focus article+article { padding-left: 1.4rem; border-left: 1px solid rgba(255,255,255,.18); }.dv-hero__focus span { font-size: .72rem; font-weight: 800; color: var(--nusentra-accent); }.dv-hero__focus h2 { margin: 1.1rem 0 .7rem; font-size: clamp(1.75rem,2.2vw,1.9rem); letter-spacing: -.035em; white-space: nowrap; color: #fff; }.dv-hero__focus p { margin: 0; font-size: .88rem; line-height: 1.6; color: #c8d9dd; }
.dv-friction.elementor-section,.dv-modernize.elementor-section,.dv-delivery.elementor-section,.dv-engagement.elementor-section { padding: clamp(4rem,6.5vw,6.25rem) 0; background: var(--nusentra-subtle); }.dv-capabilities.elementor-section,.dv-deliverables.elementor-section { padding: clamp(4rem,6.5vw,6.25rem) 0; background: #fff; }.dv-outcomes.elementor-section { padding: clamp(4.5rem,7vw,6.5rem) 0; color: #fff; background: var(--nusentra-primary-deep); }.dv-final-cta.elementor-section { padding: clamp(5.5rem,8vw,7.5rem) 0; color: #fff; background: #052f3b; }
.dv-editorial-head { display: grid; grid-template-columns: minmax(0,1.02fr) minmax(320px,.68fr); gap: clamp(2rem,7vw,7rem); align-items: end; margin-bottom: clamp(2.7rem,4.7vw,4.2rem); }.dv-editorial-head--compact { margin-bottom: clamp(2.4rem,4vw,3.6rem); }.dv-editorial-head h2,.dv-outcomes h2,.dv-final-cta h2 { max-width: 900px; margin: 0; font-size: clamp(2.6rem,4.7vw,4.8rem); font-weight: 690; line-height: 1; letter-spacing: -.055em; color: var(--nusentra-ink); }.dv-editorial-head>p,.dv-outcomes__intro { margin: 0; font-size: 1.05rem; line-height: 1.75; color: var(--nusentra-muted); }
.dv-friction-grid,.dv-path-grid,.dv-engagement-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-top: 1px solid var(--nusentra-border); border-bottom: 1px solid var(--nusentra-border); }.dv-friction-grid article,.dv-path-grid article,.dv-engagement-grid article { min-height: 275px; padding: 2rem clamp(1.5rem,3vw,2.8rem); border-right: 1px solid var(--nusentra-border); }.dv-friction-grid article:last-child,.dv-path-grid article:last-child,.dv-engagement-grid article:last-child { border-right: 0; }
.dv-friction-grid span,.dv-capability-grid span,.dv-deliverable-list span,.dv-path-grid span,.dv-lifecycle span,.dv-outcome-list span,.dv-engagement-grid span { font-size: .75rem; font-weight: 800; letter-spacing: .15em; color: var(--nusentra-brand); }.dv-friction-grid h3,.dv-capability-grid h3,.dv-deliverable-list h3,.dv-path-grid h3,.dv-lifecycle h3,.dv-outcome-list h3,.dv-engagement-grid h3 { margin: 2.6rem 0 .85rem; font-size: clamp(1.3rem,1.9vw,1.75rem); font-weight: 680; line-height: 1.14; color: var(--nusentra-ink); }.dv-friction-grid p,.dv-capability-grid p,.dv-deliverable-list p,.dv-path-grid p,.dv-lifecycle p,.dv-engagement-grid p { margin: 0; line-height: 1.65; color: var(--nusentra-muted); }
.dv-capability-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid var(--nusentra-border); }.dv-capability-grid article { min-height: 540px; padding: clamp(2.4rem,4.5vw,4rem); }.dv-capability-grid article+article { background: #f8fbfc; border-left: 1px solid var(--nusentra-border); box-shadow: inset 0 3px 0 var(--nusentra-brand); }.dv-capability-grid h3 { margin-top: 4rem; font-size: clamp(2.2rem,3.4vw,3.3rem); }.dv-capability-grid p { max-width: 600px; font-size: 1.02rem; }.dv-tags { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--nusentra-border); }.dv-tags em { padding: .48rem .7rem; font-size: .78rem; font-style: normal; color: var(--nusentra-primary); background: #fff; border: 1px solid var(--nusentra-border); border-radius: 2px; }
.dv-deliverable-list { border-top: 1px solid var(--nusentra-border); }.dv-deliverable-list article { display: grid; grid-template-columns: 3.5rem minmax(0,1fr) 10rem; gap: 1.4rem; align-items: center; min-height: 118px; padding: 1.7rem 0; border-bottom: 1px solid var(--nusentra-border); }.dv-deliverable-list h3 { margin: 0 0 .4rem; }.dv-deliverable-list b { justify-self: end; padding: .45rem .65rem; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--nusentra-primary); border: 1px solid var(--nusentra-border); }
.dv-lifecycle { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--nusentra-border); }.dv-lifecycle li { position: relative; min-height: 280px; padding: 4.7rem clamp(.8rem,1.8vw,1.7rem) 0; border-right: 1px solid var(--nusentra-border); }.dv-lifecycle li:last-child { border-right: 0; }.dv-lifecycle li::before { content: ""; position: absolute; top: 2.4rem; left: clamp(.8rem,1.8vw,1.7rem); width: 11px; height: 11px; background: var(--nusentra-brand); border: 3px solid var(--nusentra-subtle); border-radius: 50%; box-shadow: 0 0 0 1px var(--nusentra-brand); }.dv-lifecycle h3 { margin-top: 1.35rem; font-size: clamp(1.15rem,1.55vw,1.4rem); overflow-wrap: normal; }
.dv-outcomes__grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(360px,1.02fr); gap: clamp(3rem,8vw,8rem); }.dv-outcomes h2 { color: #fff; }.dv-outcomes .nusentra-eyebrow { color: var(--nusentra-accent); }.dv-outcomes__intro { max-width: 600px; margin-top: 1.7rem; color: #c8d9dd; }.dv-outcome-list { border-top: 1px solid rgba(255,255,255,.2); }.dv-outcome-list article { display: grid; grid-template-columns: 3.2rem 1fr; gap: 1.2rem; padding: 1.45rem 0; border-bottom: 1px solid rgba(255,255,255,.18); }.dv-outcome-list span { color: var(--nusentra-accent); }.dv-outcome-list h3 { margin: 0 0 .45rem; color: #fff; }.dv-outcome-list p { margin: 0; line-height: 1.6; color: #b8ced3; }.dv-engagement-note { max-width: 920px; margin: 1.3rem 0 0; font-size: .78rem; line-height: 1.6; color: var(--nusentra-muted); }.dv-final-cta h2 { max-width: 1050px; color: #fff; }.dv-final-cta__inner>p:not(.nusentra-eyebrow) { max-width: 720px; margin: 1.8rem 0 2.2rem; font-size: 1.06rem; line-height: 1.75; color: #c8d9dd; }
@media (max-width:1024px) { .dv-friction-grid,.dv-path-grid { grid-template-columns: 1fr; }.dv-friction-grid article,.dv-path-grid article { min-height: 0; padding: 2rem 0; border-right: 0; border-bottom: 1px solid var(--nusentra-border); }.dv-lifecycle { grid-template-columns: repeat(3,minmax(0,1fr)); }.dv-lifecycle li { border-bottom: 1px solid var(--nusentra-border); } }
@media (max-width:921px) { .dv-hero__grid,.dv-editorial-head,.dv-outcomes__grid { grid-template-columns: 1fr; }.dv-hero__panel { min-height: 360px; }.dv-engagement-grid { grid-template-columns: 1fr; border-bottom: 0; }.dv-engagement-grid article { min-height: 0; padding-inline: 0; border-right: 0; border-bottom: 1px solid var(--nusentra-border); }.dv-deliverable-list article { grid-template-columns: 3rem minmax(0,1fr) 8rem; } }
@media (max-width:600px) { .dv-hero.elementor-section { padding: 3.75rem 0 4rem; }.dv-hero.elementor-section::after { display: none; }.dv-hero__copy h1 { font-size: clamp(2.45rem,11.7vw,3.45rem); line-height: 1.02; overflow-wrap: anywhere; }.dv-hero__panel { min-height: 0; padding: 1.75rem; }.dv-hero__panel-label { margin-bottom: 3.5rem; }.dv-hero__focus { grid-template-columns: 1fr; }.dv-hero__focus article { padding: 1.5rem 0; }.dv-hero__focus article+article { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,255,255,.18); }.dv-capability-grid { grid-template-columns: 1fr; border-left: 0; border-right: 0; }.dv-capability-grid article { min-height: 0; padding: 2rem 0; }.dv-capability-grid article+article { border-left: 0; border-top: 1px solid var(--nusentra-border); background: transparent; box-shadow: none; }.dv-tags { margin-top: 2rem; }.dv-deliverable-list article { grid-template-columns: 2.5rem minmax(0,1fr); }.dv-deliverable-list b { grid-column: 2; justify-self: start; }.dv-lifecycle { grid-template-columns: 1fr; }.dv-lifecycle li { min-height: 0; padding: 3.5rem 0 2rem 2.5rem; border-right: 0; }.dv-lifecycle li::before { left: .25rem; }.dv-outcome-list article { grid-template-columns: 2.5rem 1fr; }.dv-final-cta h2 { font-size: clamp(2.7rem,13vw,4rem); overflow-wrap: anywhere; }.dv-final-cta .nusentra-button { width: 100%; } }
@media (max-width:360px) { .dv-hero__copy h1,.dv-editorial-head h2,.dv-outcomes h2,.dv-final-cta h2 { overflow-wrap: anywhere; } }

/* =============================================================================
   18. About Reference Direction
   ============================================================================= */
.ar-hero *,.ar-purpose *,.ar-story *,.ar-capeco *,.ar-cta * { box-sizing: border-box; }
.ar-hero.elementor-section { position: relative; overflow: hidden; padding: 0; color: #fff; background: #031f2c; }.ar-hero__grid { width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); }.ar-hero__copy { display: flex; flex-direction: column; justify-content: center; min-height: 560px; padding: clamp(3.75rem,6vw,6rem) max(3rem,calc((100vw - var(--nusentra-container))/2)); padding-right: clamp(1.5rem,3vw,3rem); }
.ar-h1-line { display: block; white-space: nowrap; }.ar-h1-line--accent { color: #fff; }.ar-hero .nusentra-eyebrow { color: var(--nusentra-accent); }.ar-hero__copy h1 { max-width: 820px; margin: 0; font-size: clamp(3rem,4.45vw,4.55rem); font-weight: 710; line-height: 1.03; letter-spacing: -.052em; color: #fff; }.ar-hero__copy h1 span { color: #fff; }.ar-hero__copy>p:not(.nusentra-eyebrow) { max-width: 600px; margin: 1.7rem 0 2rem; font-size: 1.05rem; line-height: 1.75; color: #c8d9dd; }.ar-hero__copy .nusentra-button { align-self: flex-start; }.ar-hero__copy .nusentra-button b { margin-left: .7rem; font-size: 1.1rem; font-weight: 500; }.ar-hero__visual { position: relative; min-height: 620px; margin: 0; overflow: hidden; }.ar-hero__visual::before,.ar-hero__visual::after { content: ""; position: absolute; z-index: 1; border: 1.6rem solid rgba(7,155,171,.58); border-radius: 50%; pointer-events: none; }.ar-hero__visual::before { left: -13rem; top: -8rem; width: 42rem; height: 42rem; }.ar-hero__visual::after { left: -8rem; top: -3rem; width: 32rem; height: 32rem; border-width: 1rem; border-color: rgba(77,215,220,.24); }.ar-hero__visual img { width: 100%; height: 100%; min-height: 620px; object-fit: cover; filter: saturate(.72) contrast(1.08); }.ar-hero__visual figcaption { position: absolute; right: 1rem; bottom: .75rem; z-index: 2; font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.64); }
.ar-purpose.elementor-section { padding: clamp(4rem,7vw,6.5rem) 0; background: #fff; }.ar-purpose__grid { display: grid; grid-template-columns: minmax(280px,.62fr) minmax(0,1.38fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.ar-purpose__copy { min-width: 0; }.ar-purpose__copy h2 { max-width: 390px; font-size: clamp(2.55rem,3.7vw,3.8rem); }.ar-purpose__steps article { min-height: 225px; padding-top: 1.55rem; padding-bottom: 1.55rem; }.ar-purpose__steps h3 { margin-top: 2.65rem; }.ar-purpose__copy h2,.ar-story__copy h2,.ar-capabilities h2,.ar-ecosystem h2,.ar-cta h2 { margin: 0; font-size: clamp(2.3rem,4vw,4rem); font-weight: 690; line-height: 1.05; letter-spacing: -.05em; color: var(--nusentra-ink); }.ar-purpose__copy>p:not(.nusentra-eyebrow) { max-width: 480px; margin: 1.4rem 0 0; line-height: 1.75; color: var(--nusentra-muted); }.ar-purpose__steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); box-shadow: 0 18px 55px rgba(7,59,74,.08); }.ar-purpose__steps article { min-height: 250px; padding: 1.8rem; border-right: 1px solid var(--nusentra-border); }.ar-purpose__steps article:last-child { border-right: 0; }.ar-purpose__steps span,.ar-values article>span,.ar-capability-grid>a>span,.ar-category-grid span { font-size: .73rem; font-weight: 800; letter-spacing: .13em; color: var(--nusentra-brand); }.ar-purpose__steps h3 { margin: 3.2rem 0 .7rem; font-size: 1.3rem; color: var(--nusentra-ink); }.ar-purpose__steps p { margin: 0; font-size: .88rem; line-height: 1.6; color: var(--nusentra-muted); }
.ar-story.elementor-section { padding: clamp(3.8rem,6vw,5.8rem) 0; background: var(--nusentra-subtle); }
.ar-story__grid { align-items: start; }.ar-story__copy h2 { max-width: 520px; }.ar-values article { min-height: 130px; padding-top: 1.15rem; padding-bottom: 1.15rem; }.ar-story__grid { display: grid; grid-template-columns: minmax(280px,.68fr) minmax(0,1.32fr); gap: clamp(4rem,9vw,9rem); }.ar-story__copy p:not(.nusentra-eyebrow) { max-width: 560px; margin: 1.4rem 0 0; line-height: 1.75; color: var(--nusentra-muted); }.ar-text-link { display: inline-flex; gap: .7rem; margin-top: 1.7rem; padding-bottom: .3rem; font-weight: 700; color: var(--nusentra-primary); text-decoration: none; border-bottom: 1px solid var(--nusentra-brand); }.ar-values>.nusentra-eyebrow { margin-bottom: 1.2rem; }.ar-values { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 2.5rem; }.ar-values>.nusentra-eyebrow { grid-column: 1/-1; }.ar-values article { display: grid; grid-template-columns: 2.7rem 1fr; gap: 1rem; min-height: 150px; padding: 1.4rem 0; border-bottom: 1px solid var(--nusentra-border); }.ar-values h3 { margin: 0 0 .45rem; font-size: 1.15rem; color: var(--nusentra-ink); }.ar-values p { margin: 0; font-size: .9rem; line-height: 1.6; color: var(--nusentra-muted); }
.ar-capeco.elementor-section { padding: 0; }.ar-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }.ar-capabilities { color: #fff; background: #032837; }.ar-ecosystem { background: #fff; }.ar-split__inner { width: min(100%,calc(var(--nusentra-container)/2 + 3rem)); min-height: 520px; padding: clamp(4rem,7vw,6rem) clamp(2.5rem,5vw,5rem); }.ar-capabilities .ar-split__inner { margin-left: auto; }.ar-ecosystem .ar-split__inner { margin-right: auto; }.ar-capabilities .nusentra-eyebrow { color: var(--nusentra-accent); }.ar-capabilities h2 { color: #fff; }.ar-capability-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 2.5rem; border-top: 1px solid rgba(255,255,255,.2); }.ar-capability-grid>a { min-height: 230px; padding: 1.8rem 1.3rem 0; color: inherit; text-decoration: none; border-right: 1px solid rgba(255,255,255,.18); }.ar-capability-grid>a:first-child { padding-left: 0; }.ar-capability-grid>a:last-child { border-right: 0; }.ar-capability-grid h3 { margin: 2.2rem 0 .7rem; font-size: 1.2rem; color: #fff; }.ar-capability-grid p { margin: 0 0 1.3rem; font-size: .82rem; line-height: 1.55; color: #b8ced3; }.ar-capability-grid b { font-size: .76rem; font-weight: 700; color: var(--nusentra-accent); }.ar-ecosystem h2 { max-width: 600px; font-size: clamp(2rem,3.3vw,3.3rem); }.ar-category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem 1.5rem; margin-top: 2.3rem; }.ar-category-grid span { padding: 1.1rem 0; border-bottom: 1px solid var(--nusentra-border); }.ar-ecosystem__note { max-width: 650px; margin: 1.2rem 0 0; font-size: .73rem; line-height: 1.55; color: var(--nusentra-muted); }
.ar-cta.elementor-section { padding: 2.2rem 0; color: #fff; background: linear-gradient(100deg,#079bab,#087c91); }.ar-cta__grid { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3rem; align-items: center; }.ar-cta .nusentra-eyebrow { margin-bottom: .65rem; color: #d8ffff; }.ar-cta h2 { max-width: 780px; font-size: clamp(2rem,3.2vw,3.2rem); color: #fff; }.ar-cta p:not(.nusentra-eyebrow) { margin: .7rem 0 0; color: #def4f6; }.ar-cta__button { color: #fff; background: #063a4a; border-color: #063a4a; }.ar-cta__button span { margin-left: .8rem; }
@media (max-width:1100px) { .ar-hero__grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); }.ar-purpose__steps { grid-template-columns: repeat(2,minmax(0,1fr)); }.ar-purpose__steps article { border-bottom: 1px solid var(--nusentra-border); }.ar-capability-grid { grid-template-columns: 1fr; }.ar-capability-grid>a,.ar-capability-grid>a:first-child { min-height: 0; padding: 1.4rem 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }.ar-capability-grid h3 { margin-top: 1rem; } }
@media (max-width:921px) { .ar-hero__grid,.ar-purpose__grid,.ar-story__grid,.ar-split { grid-template-columns: 1fr; }.ar-hero__copy { min-height: 0; padding: 8rem 24px 5rem!important; }.ar-hero__visual,.ar-hero__visual img { min-height: 460px; }.ar-purpose__grid,.ar-story__grid { gap: 3rem; }.ar-split__inner { width: min(100% - 48px,var(--nusentra-container)); min-height: 0; margin-inline: auto!important; padding-inline: 0; }.ar-cta__grid { grid-template-columns: 1fr; }.ar-cta__button { justify-self: start; } }
@media (max-width:600px) { .ar-hero__copy { padding: 7.5rem 16px 4rem!important; }.ar-hero__copy h1 { font-size: clamp(2.55rem,11.6vw,3.55rem); overflow-wrap: anywhere; }.ar-hero__visual,.ar-hero__visual img { min-height: 360px; }.ar-hero__visual::before { left: -17rem; }.ar-purpose__steps { grid-template-columns: 1fr; }.ar-purpose__steps article { min-height: 0; }.ar-story__grid { gap: 2.5rem; }.ar-values { grid-template-columns: 1fr; }.ar-values>.nusentra-eyebrow { grid-column: auto; }.ar-category-grid { grid-template-columns: 1fr; }.ar-split__inner { width: min(100% - 32px,var(--nusentra-container)); }.ar-cta__button { width: 100%; } }
@media (max-width:360px) { .ar-hero__copy h1,.ar-purpose h2,.ar-story h2,.ar-capabilities h2,.ar-ecosystem h2,.ar-cta h2 { overflow-wrap: anywhere; } }

@media (min-width:922px) { .ar-hero__copy>.nusentra-eyebrow { margin-top: 2rem; } }

/* About final polish overrides. */
.ar-h1-line { display: block; white-space: nowrap; }
.ar-h1-line--accent { color: #fff!important; }
.ar-purpose__copy h2 { max-width: 390px; font-size: clamp(2.55rem,3.7vw,3.8rem); }
.ar-purpose__steps article { min-height: 225px; padding-top: 1.55rem; padding-bottom: 1.55rem; }
.ar-purpose__steps h3 { margin-top: 2.65rem; }
.ar-story.elementor-section { padding-top: clamp(3.8rem,6vw,5.8rem); padding-bottom: clamp(3.8rem,6vw,5.8rem); }
.ar-story__grid { align-items: start; }
.ar-values article { min-height: 130px; padding-top: 1.15rem; padding-bottom: 1.15rem; }
@media (max-width:600px) {
	.ar-h1-line { white-space: normal; }
	.ar-purpose__copy h2 { max-width: 340px; }
}

@media (max-width:600px) { .ar-purpose__steps article { min-height: 0; } }

/* ==========================================================================
   16. Contact Page V1
   ========================================================================== */

.ct-page-section.elementor-section {
	padding-top: clamp(3.5rem, 5.5vw, 5.5rem);
	padding-bottom: clamp(4.5rem, 7vw, 7.5rem);
	background: var(--nusentra-bg-canvas, #ffffff);
}

.ct-hero {
	max-width: 820px;
	margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}

.ct-eyebrow {
	display: inline-block;
	margin-bottom: 0.85rem;
	font-family: var(--nusentra-font-heading, inherit);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nusentra-primary, #005a70);
}

.ct-hero .nusentra-eyebrow {
	display: inline-block;
	margin-bottom: 0.85rem;
}

.ct-hero__title {
	margin: 0 0 1rem;
	font-family: var(--nusentra-font-heading, inherit);
	font-size: clamp(2.2rem, 3.8vw, 3.4rem);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.03em;
	color: var(--nusentra-text-strong, #0f172a);
}

.ct-hero__subtitle {
	margin: 0;
	font-size: clamp(1.05rem, 1.4vw, 1.2rem);
	line-height: 1.6;
	color: var(--nusentra-text-muted, #475569);
	max-width: 680px;
}

.ct-grid {
	display: grid;
	grid-template-columns: 1.25fr 0.95fr;
	gap: clamp(1.75rem, 3.5vw, 3rem);
	align-items: start;
}

.ct-card {
	background: #ffffff;
	border: 1px solid var(--nusentra-border-subtle, #e2e8f0);
	border-radius: var(--nusentra-radius-lg, 12px);
	padding: clamp(1.75rem, 3vw, 2.5rem);
	box-shadow: 0 4px 20px -4px rgba(15, 23, 42, 0.05);
}

.ct-form-panel {
	border-top: 4px solid var(--nusentra-primary, #005a70);
}

.ct-card__header {
	margin-bottom: 1.75rem;
}

.ct-card__title {
	margin: 0 0 0.5rem;
	font-family: var(--nusentra-font-heading, inherit);
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--nusentra-text-strong, #0f172a);
}

.ct-card__subtitle {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--nusentra-text-muted, #64748b);
}

.ct-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.ct-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
}

.ct-form__group {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.ct-form__label {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--nusentra-text-strong, #1e293b);
}

.ct-required {
	color: #ef4444;
}

.ct-form__input,
.ct-form__select,
.ct-form__textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	font-family: inherit;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--nusentra-text-strong, #0f172a);
	background: #f8fafc;
	border: 1px solid var(--nusentra-border-subtle, #cbd5e1);
	border-radius: var(--nusentra-radius-sm, 6px);
	transition: all 0.2s ease;
	box-sizing: border-box;
}

.ct-form__input:focus,
.ct-form__select:focus,
.ct-form__textarea:focus {
	outline: none;
	background: #ffffff;
	border-color: var(--nusentra-primary, #005a70);
	box-shadow: 0 0 0 3px rgba(0, 90, 112, 0.12);
}

.ct-form__textarea {
	resize: vertical;
	min-height: 110px;
}

.ct-form__action {
	margin-top: 0.5rem;
}

.ct-btn-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 0.95rem 1.5rem;
	font-family: var(--nusentra-font-heading, inherit);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #ffffff;
	background: var(--nusentra-primary, #005a70);
	border: 1px solid transparent;
	border-radius: var(--nusentra-radius-sm, 6px);
	cursor: pointer;
	transition: all 0.2s ease;
}

.ct-btn-submit:hover {
	background: var(--nusentra-primary-deep, #003e4d);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px -2px rgba(0, 90, 112, 0.25);
}

.ct-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.ct-info-card {
	background: #f8fafc;
	border: 1px solid var(--nusentra-border-subtle, #e2e8f0);
}

.ct-info-list {
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
	margin-top: 1.25rem;
}

.ct-info-item {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.ct-info-label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--nusentra-text-muted, #64748b);
}

.ct-info-value {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.5;
	color: var(--nusentra-text-body, #334155);
}

.ct-info-value--strong {
	font-weight: 600;
	color: var(--nusentra-text-strong, #0f172a);
}

.ct-link {
	color: var(--nusentra-primary, #005a70);
	text-decoration: none;
	font-weight: 500;
	transition: color 0.15s ease;
}

.ct-link:hover {
	color: var(--nusentra-primary-deep, #003e4d);
	text-decoration: underline;
}

.ct-map-card {
	padding: 0;
	overflow: hidden;
}

.ct-map-header {
	padding: 1rem 1.5rem;
	background: #f8fafc;
	border-bottom: 1px solid var(--nusentra-border-subtle, #e2e8f0);
}

.ct-map-embed {
	position: relative;
	line-height: 0;
}

.ct-map-embed iframe {
	display: block;
	width: 100%;
}

@media (max-width: 991px) {
	.ct-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.ct-form__row {
		grid-template-columns: 1fr;
	}
}

.ct-form__status {
	display: none;
	padding: 0.95rem 1.25rem;
	border-radius: var(--nusentra-radius-sm, 6px);
	font-size: 0.925rem;
	line-height: 1.5;
	margin-bottom: 1.25rem;
}

.ct-form__status--success {
	display: block;
	background: #ecfdf5;
	color: #065f46;
	border: 1px solid #a7f3d0;
}

.ct-form__status--error {
	display: block;
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
}

.ct-btn-submit[disabled] {
	opacity: 0.65;
	cursor: not-allowed;
}

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