/*
Theme Name: Blocksy Child — 5CKN
Description: Child theme giao diện cho Năm Châu Kết Nối (5CKN).
Author: Năm Châu Kết Nối
Template: blocksy
Version: 0.4.0
Text Domain: blocksy-child-nam-chau
*/

/* =========================================================
   NĂM CHÂU DESIGN TOKENS
   ========================================================= */
:root {
	--nc-red: #E53935;
	--nc-green: #1E7F5C;
	--nc-dark: #2B2B2B;
	--nc-text: #3A4147;
	--nc-muted: #6B7280;
	--nc-border: #E5E7EB;
	--nc-surface: #F6F8F7;
	--nc-white: #FFFFFF;

	--nc-radius-sm: 8px;
	--nc-radius-md: 14px;
	--nc-radius-lg: 22px;

	--nc-shadow-sm: 0 8px 24px rgba(20, 35, 30, 0.08);
	--nc-shadow-md: 0 18px 44px rgba(20, 35, 30, 0.12);

	--nc-content-wide: 1280px;
	--nc-section-y: clamp(64px, 8vw, 112px);
}

/* Base */
body {
	color: var(--nc-text);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--nc-dark);
	letter-spacing: -0.02em;
}

a {
	text-underline-offset: 0.16em;
}

::selection {
	background: var(--nc-green);
	color: var(--nc-white);
}

/* Reusable section primitives */
.nc-section {
	padding-block: var(--nc-section-y);
}

.nc-section--soft {
	background: var(--nc-surface);
}

.nc-container {
	width: min(calc(100% - 40px), var(--nc-content-wide));
	margin-inline: auto;
}

.nc-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--nc-green);
}

.nc-eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: currentColor;
	border-radius: 99px;
}

.nc-lead {
	max-width: 760px;
	font-size: clamp(1.05rem, 1.5vw, 1.25rem);
	line-height: 1.75;
	color: var(--nc-muted);
}

.nc-grid {
	display: grid;
	gap: clamp(18px, 2.5vw, 32px);
}

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

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

/* Cards */
.nc-card {
	height: 100%;
	padding: clamp(22px, 3vw, 34px);
	border: 1px solid var(--nc-border);
	border-radius: var(--nc-radius-md);
	background: var(--nc-white);
	box-shadow: var(--nc-shadow-sm);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.nc-card:hover {
	transform: translateY(-4px);
	border-color: rgba(30, 127, 92, 0.28);
	box-shadow: var(--nc-shadow-md);
}

/* Buttons */
.nc-btn,
.wp-element-button.nc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	padding: 12px 20px;
	border-radius: 999px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: transform .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}

.nc-btn:hover {
	transform: translateY(-1px);
}

.nc-btn--primary {
	background: var(--nc-green);
	color: var(--nc-white);
	border: 1px solid var(--nc-green);
}

.nc-btn--primary:hover {
	background: #176B4D;
	color: var(--nc-white);
}

.nc-btn--accent {
	background: var(--nc-red);
	color: var(--nc-white);
	border: 1px solid var(--nc-red);
}

.nc-btn--accent:hover {
	background: #C92F2B;
	color: var(--nc-white);
}

.nc-btn--ghost {
	background: transparent;
	color: var(--nc-dark);
	border: 1px solid var(--nc-border);
}

.nc-btn--ghost:hover {
	border-color: var(--nc-green);
	color: var(--nc-green);
}

/* Homepage hero foundation */
.nc-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(82px, 11vw, 150px);
	background:
		radial-gradient(circle at 88% 18%, rgba(229, 57, 53, .10), transparent 34%),
		radial-gradient(circle at 78% 74%, rgba(30, 127, 92, .12), transparent 38%),
		linear-gradient(180deg, #FFFFFF 0%, #F7FAF8 100%);
}

.nc-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
	align-items: center;
	gap: clamp(38px, 7vw, 88px);
}

.nc-hero h1 {
	max-width: 900px;
	margin-bottom: 24px;
	font-size: clamp(2.55rem, 6vw, 5.2rem);
	line-height: .98;
}

.nc-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

/* Utility colour classes */
.has-nc-red-color { color: var(--nc-red) !important; }
.has-nc-green-color { color: var(--nc-green) !important; }
.has-nc-dark-color { color: var(--nc-dark) !important; }
.has-nc-muted-color { color: var(--nc-muted) !important; }
.has-nc-white-color { color: var(--nc-white) !important; }

.has-nc-red-background-color { background-color: var(--nc-red) !important; }
.has-nc-green-background-color { background-color: var(--nc-green) !important; }
.has-nc-dark-background-color { background-color: var(--nc-dark) !important; }
.has-nc-surface-background-color { background-color: var(--nc-surface) !important; }
.has-nc-white-background-color { background-color: var(--nc-white) !important; }

/* Responsive */
@media (max-width: 899px) {
	.nc-grid--3,
	.nc-grid--2,
	.nc-hero__inner {
		grid-template-columns: 1fr;
	}

	.nc-hero {
		padding-block: clamp(64px, 12vw, 96px);
	}

	.nc-hero h1 {
		font-size: clamp(2.3rem, 11vw, 4rem);
	}
}

@media (max-width: 600px) {
	:root {
		--nc-section-y: 56px;
	}

	.nc-container {
		width: min(calc(100% - 28px), var(--nc-content-wide));
	}

	.nc-hero__actions {
		display: grid;
	}

	.nc-hero__actions .nc-btn {
		width: 100%;
	}
}


/* =========================================================
   NĂM CHÂU SITE FOUNDATION — v0.2.0
   ========================================================= */

/* Blocksy shell */
.home .hero-section {
	display: none;
}

.home .site-main,
.home .entry-content {
	margin-top: 0;
	padding-top: 0;
}

#header [data-row*="middle"] {
	border-bottom: 1px solid rgba(43, 43, 43, .07);
}

#header .menu-item > a {
	font-weight: 600;
	letter-spacing: -0.01em;
}

#header .current-menu-item > a,
#header .current_page_item > a {
	color: var(--nc-green);
}

.ct-footer {
	border-top: 1px solid var(--nc-border);
}

/* Hero visual */
.nc-hero__visual {
	position: relative;
	min-height: 390px;
	display: grid;
	place-items: center;
}

.nc-hero__visual::before,
.nc-hero__visual::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	border: 1px solid rgba(30, 127, 92, .16);
}

.nc-hero__visual::before {
	width: min(36vw, 430px);
	aspect-ratio: 1;
}

.nc-hero__visual::after {
	width: min(26vw, 300px);
	aspect-ratio: 1;
	border-color: rgba(229, 57, 53, .18);
}

.nc-signal-card {
	position: relative;
	z-index: 2;
	width: min(100%, 410px);
	padding: clamp(28px, 4vw, 46px);
	border: 1px solid rgba(255, 255, 255, .65);
	border-radius: var(--nc-radius-lg);
	background: rgba(255, 255, 255, .82);
	box-shadow: 0 30px 80px rgba(29, 72, 55, .16);
	backdrop-filter: blur(18px);
}

.nc-signal-card__kicker {
	margin: 0 0 18px;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .16em;
	color: var(--nc-green);
}

.nc-signal-card h3 {
	font-size: clamp(1.55rem, 3vw, 2.25rem);
	line-height: 1.08;
}

.nc-signal-card__bars {
	display: flex;
	align-items: flex-end;
	gap: 9px;
	height: 70px;
	margin-top: 28px;
}

.nc-signal-card__bars span {
	display: block;
	flex: 1;
	border-radius: 999px 999px 6px 6px;
	background: linear-gradient(180deg, var(--nc-red), var(--nc-green));
}

.nc-signal-card__bars span:nth-child(1) { height: 38%; }
.nc-signal-card__bars span:nth-child(2) { height: 72%; }
.nc-signal-card__bars span:nth-child(3) { height: 100%; }

/* Section headings */
.nc-section h2 {
	max-width: 850px;
	font-size: clamp(2rem, 4.4vw, 3.65rem);
	line-height: 1.05;
	margin-bottom: 20px;
}

.nc-section-heading {
	margin-bottom: clamp(30px, 5vw, 54px);
}

.nc-section__actions,
.nc-more-link {
	margin-top: 30px;
}

.nc-more-link a,
.nc-ecosystem-card a {
	font-weight: 700;
	color: var(--nc-green);
	text-decoration: none;
}

/* Ecosystem */
.nc-ecosystem-grid {
	margin-top: clamp(30px, 5vw, 54px);
}

.nc-card__index {
	margin: 0 0 32px;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .16em;
	color: var(--nc-red);
}

.nc-ecosystem-card h3 {
	font-size: clamp(1.35rem, 2.4vw, 1.8rem);
}

/* Query cards */
.nc-query-grid {
	gap: clamp(20px, 2.6vw, 32px) !important;
}

.nc-query-grid > .wp-block-post {
	overflow: hidden;
	margin: 0;
	border: 1px solid var(--nc-border);
	border-radius: var(--nc-radius-md);
	background: var(--nc-white);
	box-shadow: var(--nc-shadow-sm);
	transition: transform .22s ease, box-shadow .22s ease;
}

.nc-query-grid > .wp-block-post:hover {
	transform: translateY(-4px);
	box-shadow: var(--nc-shadow-md);
}

.nc-query-grid .wp-block-post-featured-image {
	margin: 0;
}

.nc-query-grid .wp-block-post-featured-image img {
	width: 100%;
	transition: transform .35s ease;
}

.nc-query-grid > .wp-block-post:hover .wp-block-post-featured-image img {
	transform: scale(1.025);
}

.nc-query-card__body {
	padding: clamp(20px, 3vw, 30px);
}

.nc-query-card__body h3 {
	font-size: clamp(1.2rem, 2vw, 1.5rem);
	line-height: 1.25;
}

.nc-query-card__body h3 a {
	color: var(--nc-dark);
	text-decoration: none;
}

.nc-query-card__body .wp-block-post-date {
	margin-bottom: 10px;
	font-size: .82rem;
	color: var(--nc-muted);
}

/* Brand and CTA bands */
.nc-section--brand {
	background: var(--nc-dark);
	color: rgba(255,255,255,.76);
}

.nc-section--brand h2,
.nc-section--brand .nc-eyebrow {
	color: var(--nc-white);
}

.nc-section--brand .nc-eyebrow::before {
	background: var(--nc-red);
}

.nc-cta-section {
	background:
		radial-gradient(circle at 92% 18%, rgba(229,57,53,.12), transparent 32%),
		linear-gradient(135deg, #F7FAF8 0%, #FFFFFF 100%);
}

.nc-cta {
	padding: clamp(34px, 6vw, 72px);
	border: 1px solid var(--nc-border);
	border-radius: var(--nc-radius-lg);
	background: rgba(255,255,255,.82);
	box-shadow: var(--nc-shadow-md);
}

/* Buttons: prevent Blocksy's default link from fighting the wrapper class */
.wp-block-button.nc-btn .wp-block-button__link {
	min-height: 46px;
	padding: 12px 20px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
}

.wp-block-button.nc-btn--primary .wp-block-button__link {
	background: var(--nc-green);
	color: var(--nc-white);
}

.wp-block-button.nc-btn--accent .wp-block-button__link {
	background: var(--nc-red);
	color: var(--nc-white);
}

.wp-block-button.nc-btn--ghost .wp-block-button__link {
	background: transparent;
	color: var(--nc-dark);
	border: 1px solid var(--nc-border);
}

@media (max-width: 899px) {
	.nc-hero__visual {
		min-height: 300px;
	}

	.nc-hero__visual::before { width: min(72vw, 430px); }
	.nc-hero__visual::after { width: min(54vw, 300px); }
}

@media (max-width: 600px) {
	.nc-section h2 {
		font-size: clamp(1.85rem, 9vw, 2.6rem);
	}

	.nc-hero__visual {
		min-height: 260px;
	}

	.nc-signal-card {
		padding: 26px;
	}
}


/* =========================================================
   NĂM CHÂU PREMIUM CORPORATE HOME — v0.3.0
   ========================================================= */

.home #main-container {
	overflow: clip;
}

.home .entry-content {
	background: #fff;
}

.nc-text-accent {
	color: var(--nc-green);
}

/* Header refinement */
#header {
	position: relative;
	z-index: 50;
}

#header [data-row*="middle"] {
	background: rgba(255, 255, 255, .94);
	backdrop-filter: blur(16px);
	box-shadow: 0 1px 0 rgba(43,43,43,.07);
}

#header .menu > li > a {
	position: relative;
}

#header .menu > li > a::after {
	content: "";
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 8px;
	height: 2px;
	border-radius: 2px;
	background: var(--nc-green);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .2s ease;
}

#header .menu > li:hover > a::after,
#header .current-menu-item > a::after,
#header .current_page_item > a::after {
	transform: scaleX(1);
}

/* Network hero */
.nc-hero--network {
	padding-top: clamp(58px, 7vw, 96px);
	padding-bottom: 0;
	background:
		linear-gradient(rgba(30,127,92,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(30,127,92,.035) 1px, transparent 1px),
		radial-gradient(circle at 88% 22%, rgba(229,57,53,.10), transparent 30%),
		radial-gradient(circle at 68% 78%, rgba(30,127,92,.12), transparent 34%),
		#fff;
	background-size: 42px 42px, 42px 42px, auto, auto, auto;
}

.nc-hero--network .nc-hero__inner {
	min-height: min(760px, calc(100vh - 130px));
	grid-template-columns: minmax(0, 1.03fr) minmax(440px, .97fr);
	align-items: center;
	padding-bottom: clamp(64px, 7vw, 100px);
}

.nc-hero__copy {
	position: relative;
	z-index: 4;
}

.nc-hero--network h1 {
	max-width: 840px;
	margin-top: 8px;
	font-size: clamp(3.15rem, 5.8vw, 6.05rem);
	line-height: .93;
	letter-spacing: -.055em;
}

.nc-hero__lead {
	max-width: 760px;
	font-size: clamp(1.08rem, 1.35vw, 1.28rem);
}

.nc-capability-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 34px;
}

.nc-capability-chips span {
	padding: 7px 11px;
	border: 1px solid rgba(43,43,43,.10);
	border-radius: 999px;
	background: rgba(255,255,255,.78);
	color: var(--nc-muted);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .045em;
	text-transform: uppercase;
}

/* CSS ecosystem network */
.nc-network {
	position: relative;
	min-height: 520px;
	isolation: isolate;
}

.nc-network::before {
	content: "";
	position: absolute;
	inset: 8% 5%;
	border-radius: 50%;
	background:
		radial-gradient(circle at 50% 50%, rgba(255,255,255,.96) 0 24%, transparent 25%),
		conic-gradient(from 30deg, rgba(30,127,92,.12), rgba(229,57,53,.10), rgba(30,127,92,.08), rgba(229,57,53,.06), rgba(30,127,92,.12));
	filter: blur(.2px);
	z-index: -3;
}

.nc-network::after {
	content: "";
	position: absolute;
	inset: 16% 12%;
	border: 1px solid rgba(30,127,92,.14);
	border-radius: 50%;
	z-index: -2;
}

.nc-network__orb {
	position: absolute;
	border: 1px dashed rgba(43,43,43,.12);
	border-radius: 50%;
}

.nc-network__orb--one {
	inset: 5% 1%;
}

.nc-network__orb--two {
	inset: 24% 19%;
	border-color: rgba(229,57,53,.18);
}

.nc-network__core,
.nc-network__node {
	position: absolute;
	border: 1px solid rgba(255,255,255,.72);
	background: rgba(255,255,255,.88);
	box-shadow: 0 24px 70px rgba(20, 55, 43, .14);
	backdrop-filter: blur(18px);
}

.nc-network__core {
	left: 50%;
	top: 50%;
	width: 205px;
	height: 205px;
	display: grid;
	align-content: center;
	justify-items: center;
	transform: translate(-50%, -50%);
	border-radius: 50%;
}

.nc-network__core::before {
	content: "";
	position: absolute;
	inset: 10px;
	border: 1px solid rgba(30,127,92,.16);
	border-radius: inherit;
}

.nc-network__core small,
.nc-network__node small {
	font-size: .67rem;
	font-weight: 800;
	letter-spacing: .15em;
	color: var(--nc-red);
}

.nc-network__core strong {
	margin: 5px 0 2px;
	font-size: 1.62rem;
	letter-spacing: -.04em;
	color: var(--nc-dark);
}

.nc-network__core span,
.nc-network__node span {
	font-size: .73rem;
	color: var(--nc-muted);
}

.nc-network__node {
	min-width: 145px;
	padding: 18px 20px;
	border-radius: 18px;
}

.nc-network__node strong {
	display: block;
	margin: 5px 0 1px;
	font-size: 1rem;
	color: var(--nc-dark);
}

.nc-network__node--projects { left: 0; top: 15%; }
.nc-network__node--ads { right: 0; top: 8%; }
.nc-network__node--b2b { left: 3%; bottom: 9%; }
.nc-network__node--retail { right: 2%; bottom: 12%; }

.nc-network__line {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 36%;
	height: 1px;
	background: linear-gradient(90deg, rgba(30,127,92,.05), rgba(30,127,92,.28), rgba(229,57,53,.08));
	transform-origin: left center;
	z-index: -1;
}

.nc-network__line--a { transform: rotate(-34deg); }
.nc-network__line--b { transform: rotate(34deg); }
.nc-network__line--c { transform: rotate(180deg); }

/* Hero rail */
.nc-hero-rail {
	border-top: 1px solid rgba(43,43,43,.08);
	border-bottom: 1px solid rgba(43,43,43,.08);
	background: rgba(255,255,255,.93);
}

.nc-hero-rail__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.nc-hero-rail__grid a {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-rows: auto auto;
	column-gap: 14px;
	padding: 23px 24px;
	color: var(--nc-dark);
	text-decoration: none;
	border-right: 1px solid rgba(43,43,43,.08);
	transition: background .2s ease, color .2s ease;
}

.nc-hero-rail__grid a:last-child {
	border-right: 0;
}

.nc-hero-rail__grid a:hover {
	background: var(--nc-surface);
}

.nc-hero-rail__grid span {
	grid-row: 1 / 3;
	align-self: start;
	padding-top: 2px;
	font-size: .7rem;
	font-weight: 800;
	color: var(--nc-red);
}

.nc-hero-rail__grid strong {
	font-size: .98rem;
}

.nc-hero-rail__grid small {
	margin-top: 3px;
	color: var(--nc-muted);
}

/* Intro principles */
.nc-section--intro {
	background: #fff;
}

.nc-intro-grid {
	gap: clamp(44px, 7vw, 100px);
}

.nc-principles {
	display: grid;
	gap: 12px;
}

.nc-principles article {
	display: grid;
	grid-template-columns: 54px 1fr;
	gap: 16px;
	padding: 22px;
	border: 1px solid var(--nc-border);
	border-radius: 18px;
	background: linear-gradient(135deg, #fff, #fafcfb);
}

.nc-principles article > span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: rgba(30,127,92,.08);
	color: var(--nc-green);
	font-size: .72rem;
	font-weight: 800;
}

.nc-principles strong {
	display: block;
	margin-bottom: 5px;
	color: var(--nc-dark);
	font-size: 1.05rem;
}

.nc-principles p {
	margin: 0;
	color: var(--nc-muted);
	font-size: .93rem;
	line-height: 1.55;
}

/* Split section title */
.nc-section-heading--split {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
	align-items: end;
	gap: 36px;
}

.nc-section-heading--split .nc-lead {
	margin-bottom: 4px;
}

/* Ecosystem board */
.nc-ecosystem-showcase {
	background: #111815;
	color: rgba(255,255,255,.72);
}

.nc-ecosystem-showcase h2,
.nc-ecosystem-showcase .nc-eyebrow {
	color: #fff;
}

.nc-ecosystem-showcase .nc-lead {
	color: rgba(255,255,255,.58);
}

.nc-ecosystem-board {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 16px;
	margin-top: 52px;
}

.nc-eco-card {
	position: relative;
	min-height: 270px;
	display: flex;
	flex-direction: column;
	padding: clamp(24px, 3vw, 36px);
	overflow: hidden;
	border: 1px solid rgba(255,255,255,.10);
	border-radius: 22px;
	color: #fff;
	text-decoration: none;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.nc-eco-card::after {
	content: "";
	position: absolute;
	right: -65px;
	bottom: -85px;
	width: 190px;
	height: 190px;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: 50%;
}

.nc-eco-card:hover {
	transform: translateY(-5px);
	border-color: rgba(255,255,255,.26);
	box-shadow: 0 25px 60px rgba(0,0,0,.20);
	color: #fff;
}

.nc-eco-card--hub {
	grid-column: span 7;
	background:
		radial-gradient(circle at 90% 12%, rgba(30,127,92,.38), transparent 34%),
		linear-gradient(135deg, #1d2b25, #16201c);
}

.nc-eco-card--ads {
	grid-column: span 5;
	background:
		radial-gradient(circle at 92% 12%, rgba(229,57,53,.42), transparent 36%),
		linear-gradient(135deg, #30201f, #201817);
}

.nc-eco-card--b2b,
.nc-eco-card--shop {
	grid-column: span 6;
	background: linear-gradient(135deg, #1b2420, #151b18);
}

.nc-eco-card--shop {
	background:
		radial-gradient(circle at 86% 14%, rgba(229,57,53,.22), transparent 38%),
		linear-gradient(135deg, #22211c, #181815);
}

.nc-eco-card__top {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: auto;
	font-size: .7rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.nc-eco-card__top span {
	font-weight: 800;
	color: #fff;
}

.nc-eco-card__top em {
	font-style: normal;
	color: rgba(255,255,255,.42);
	text-transform: none;
	letter-spacing: 0;
}

.nc-eco-card h3 {
	margin: 54px 0 9px;
	color: #fff;
	font-size: clamp(1.55rem, 2.6vw, 2.35rem);
	line-height: 1.05;
}

.nc-eco-card p {
	max-width: 560px;
	margin: 0 0 20px;
	color: rgba(255,255,255,.62);
}

.nc-eco-card b {
	font-size: .84rem;
	color: #fff;
}

/* Operating flow */
.nc-flow-section {
	background:
		radial-gradient(circle at 10% 10%, rgba(30,127,92,.08), transparent 28%),
		#f7f9f8;
}

.nc-flow-layout {
	gap: clamp(38px, 6vw, 84px);
}

.nc-flow {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	align-items: stretch;
	gap: 12px;
}

.nc-flow article {
	min-height: 220px;
	padding: 26px;
	border: 1px solid var(--nc-border);
	border-radius: 20px;
	background: rgba(255,255,255,.9);
}

.nc-flow article > span {
	display: inline-grid;
	place-items: center;
	width: 36px;
	height: 36px;
	margin-bottom: 34px;
	border-radius: 50%;
	background: var(--nc-dark);
	color: #fff;
	font-size: .7rem;
	font-weight: 800;
}

.nc-flow strong {
	display: block;
	margin-bottom: 8px;
	color: var(--nc-dark);
	font-size: 1.25rem;
}

.nc-flow p {
	margin: 0;
	color: var(--nc-muted);
	font-size: .9rem;
	line-height: 1.55;
}

.nc-flow > i {
	align-self: center;
	color: var(--nc-green);
	font-style: normal;
	font-size: 1.2rem;
}

/* Market */
.nc-market-section {
	background: #fff;
}

.nc-market-section > .nc-container > h2 {
	max-width: 920px;
}

.nc-market-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 46px;
}

.nc-market-card {
	position: relative;
	min-height: 310px;
	display: grid;
	grid-template-columns: 120px 1fr;
	align-items: end;
	gap: 28px;
	padding: 34px;
	overflow: hidden;
	border-radius: 24px;
	color: #fff;
}

.nc-market-card::before {
	content: "";
	position: absolute;
	right: -80px;
	top: -90px;
	width: 260px;
	height: 260px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 50%;
}

.nc-market-card--vn {
	background: linear-gradient(135deg, #176648, #1f8560);
}

.nc-market-card--us {
	background: linear-gradient(135deg, #262a31, #363d49);
}

.nc-market-card > span {
	font-size: clamp(4rem, 7vw, 7.5rem);
	font-weight: 800;
	line-height: .8;
	letter-spacing: -.08em;
	color: rgba(255,255,255,.16);
}

.nc-market-card small {
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .12em;
	color: rgba(255,255,255,.6);
}

.nc-market-card h3 {
	margin: 7px 0 12px;
	color: #fff;
	font-size: 2rem;
}

.nc-market-card p {
	margin: 0;
	color: rgba(255,255,255,.72);
}

/* Project + news */
.nc-project-section {
	background: #f6f8f7;
}

.nc-project-section .nc-query-grid > .wp-block-post,
.nc-news-section .nc-query-grid > .wp-block-post {
	border-radius: 20px;
}

.nc-query-grid .wp-block-post-featured-image:empty {
	min-height: 210px;
	background:
		linear-gradient(135deg, rgba(30,127,92,.08), rgba(229,57,53,.06)),
		#f5f7f6;
}

.nc-news-section {
	background: #fff;
}

/* Premium CTA */
.nc-cta-section--premium {
	padding-top: clamp(50px, 7vw, 90px);
	padding-bottom: clamp(70px, 9vw, 120px);
	background: #fff;
}

.nc-cta--premium {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: end;
	gap: 42px;
	padding: clamp(38px, 6vw, 76px);
	border: 0;
	border-radius: 28px;
	background:
		radial-gradient(circle at 88% 16%, rgba(229,57,53,.22), transparent 30%),
		radial-gradient(circle at 68% 90%, rgba(30,127,92,.30), transparent 34%),
		#151c19;
	box-shadow: 0 34px 90px rgba(18,35,29,.20);
}

.nc-cta--premium h2 {
	max-width: 850px;
	color: #fff;
}

.nc-cta--premium .nc-eyebrow {
	color: #fff;
}

.nc-cta--premium .nc-lead {
	color: rgba(255,255,255,.62);
}

/* Motion */
@media (prefers-reduced-motion: no-preference) {
	.nc-network__core {
		animation: ncFloat 6s ease-in-out infinite;
	}
	.nc-network__node--projects,
	.nc-network__node--retail {
		animation: ncFloatSoft 7s ease-in-out infinite;
	}
	.nc-network__node--ads,
	.nc-network__node--b2b {
		animation: ncFloatSoft 8s ease-in-out -2s infinite reverse;
	}
}

@keyframes ncFloat {
	0%, 100% { transform: translate(-50%, -50%) translateY(0); }
	50% { transform: translate(-50%, -50%) translateY(-8px); }
}

@keyframes ncFloatSoft {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-6px); }
}

/* Responsive */
@media (max-width: 1100px) {
	.nc-hero--network .nc-hero__inner {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.nc-network {
		width: min(100%, 650px);
		min-height: 480px;
		margin-inline: auto;
	}

	.nc-hero-rail__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.nc-hero-rail__grid a:nth-child(2) {
		border-right: 0;
	}

	.nc-hero-rail__grid a:nth-child(-n+2) {
		border-bottom: 1px solid rgba(43,43,43,.08);
	}

	.nc-section-heading--split {
		grid-template-columns: 1fr;
	}

	.nc-flow {
		grid-template-columns: 1fr;
	}

	.nc-flow > i {
		display: none;
	}

	.nc-flow article {
		min-height: auto;
	}

	.nc-market-card {
		grid-template-columns: 90px 1fr;
	}
}

@media (max-width: 780px) {
	.nc-hero--network h1 {
		font-size: clamp(2.65rem, 13vw, 4.3rem);
	}

	.nc-network {
		min-height: 430px;
	}

	.nc-network__node {
		min-width: 125px;
		padding: 14px 15px;
	}

	.nc-network__core {
		width: 165px;
		height: 165px;
	}

	.nc-ecosystem-board {
		grid-template-columns: 1fr;
	}

	.nc-eco-card--hub,
	.nc-eco-card--ads,
	.nc-eco-card--b2b,
	.nc-eco-card--shop {
		grid-column: auto;
	}

	.nc-market-grid {
		grid-template-columns: 1fr;
	}

	.nc-cta--premium {
		grid-template-columns: 1fr;
		align-items: start;
	}
}

@media (max-width: 560px) {
	.nc-hero--network {
		padding-top: 42px;
	}

	.nc-hero-rail__grid {
		grid-template-columns: 1fr;
	}

	.nc-hero-rail__grid a {
		border-right: 0;
		border-bottom: 1px solid rgba(43,43,43,.08);
	}

	.nc-network {
		min-height: 365px;
	}

	.nc-network__core {
		width: 140px;
		height: 140px;
	}

	.nc-network__core strong {
		font-size: 1.25rem;
	}

	.nc-network__node {
		min-width: 108px;
		padding: 11px 12px;
		border-radius: 14px;
	}

	.nc-network__node strong {
		font-size: .84rem;
	}

	.nc-network__node span {
		font-size: .64rem;
	}

	.nc-network__node--projects { left: 0; top: 12%; }
	.nc-network__node--ads { right: 0; top: 8%; }
	.nc-network__node--b2b { left: 0; bottom: 7%; }
	.nc-network__node--retail { right: 0; bottom: 10%; }

	.nc-market-card {
		grid-template-columns: 1fr;
		min-height: 280px;
	}

	.nc-market-card > span {
		font-size: 4rem;
	}
}


/* =========================================================
   5CKN FOOTER — v0.4.0
   ========================================================= */

/* Blocksy default footer is replaced by the 5CKN footer below. */
.ct-footer {
    display: none;
}

.ckn-footer {
    margin-top: 0;
    color: rgba(255,255,255,.72);
    background:
        radial-gradient(circle at 12% 0%, rgba(30,127,92,.24), transparent 30%),
        radial-gradient(circle at 88% 10%, rgba(229,57,53,.13), transparent 28%),
        #101613;
}

.ckn-footer a {
    color: rgba(255,255,255,.76);
    text-decoration: none;
}

.ckn-footer a:hover {
    color: #fff;
}

.ckn-footer__main {
    display: grid;
    grid-template-columns: minmax(280px, 1.5fr) repeat(2, minmax(180px, .75fr));
    gap: clamp(32px, 6vw, 88px);
    padding-block: clamp(52px, 7vw, 82px);
}

.ckn-footer__brand {
    max-width: 580px;
}

.ckn-footer__code {
    display: inline-flex;
    margin-bottom: 16px;
    padding: 6px 10px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 999px;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.ckn-footer__brand h2 {
    margin: 0 0 15px;
    color: #fff;
    font-size: clamp(1.65rem, 3vw, 2.5rem);
    letter-spacing: -.035em;
}

.ckn-footer__brand p {
    max-width: 620px;
    margin: 0;
    color: rgba(255,255,255,.58);
    line-height: 1.7;
}

.ckn-footer__col h3 {
    margin: 5px 0 18px;
    color: #fff;
    font-size: .9rem;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ckn-footer__links {
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ckn-footer__bottom {
    border-top: 1px solid rgba(255,255,255,.09);
}

.ckn-footer__bottom-inner {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    color: rgba(255,255,255,.46);
    font-size: .84rem;
}

.ckn-footer__values {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 18px;
}

.ckn-footer__values span {
    position: relative;
}

.ckn-footer__values span:not(:last-child)::after {
    content: "•";
    position: absolute;
    right: -12px;
    color: rgba(255,255,255,.20);
}

@media (max-width: 800px) {
    .ckn-footer__main {
        grid-template-columns: 1fr 1fr;
    }

    .ckn-footer__brand {
        grid-column: 1 / -1;
    }
}

@media (max-width: 560px) {
    .ckn-footer__main {
        grid-template-columns: 1fr;
        gap: 30px;
        padding-block: 48px;
    }

    .ckn-footer__brand {
        grid-column: auto;
    }

    .ckn-footer__links a {
        display: flex;
        align-items: center;
        min-height: 44px;
        padding-block: 5px;
    }

    .ckn-footer__bottom-inner {
        min-height: 0;
        padding-block: 22px;
        align-items: flex-start;
        flex-direction: column;
    }

    .ckn-footer__values {
        gap: 6px 14px;
    }
}
