/*
 * Village Co-op — gaya tema.
 *
 * Dimuat di front-end dan di editor (add_editor_style). Warna, font, dan
 * ukuran datang dari theme.json sebagai variabel --wp--preset--*; nilai
 * yang tidak masuk palet ada di --wp--custom--*.
 *
 * Padanan desain: kelas Tailwind di proyek referensi web-profil-kpmj
 * (app/page.tsx, components/layout/*). Ukuran fluid memakai clamp() yang
 * sama dengan referensi.
 */

:root {
	--vc-forest: var(--wp--preset--color--forest);
	--vc-green: var(--wp--preset--color--green);
	--vc-green-deep: var(--wp--preset--color--green-deep);
	--vc-leaf: var(--wp--preset--color--leaf);
	--vc-cream: var(--wp--preset--color--cream);
	--vc-panel: var(--wp--preset--color--panel);
	--vc-mint: var(--wp--preset--color--mint);
	--vc-line: var(--wp--preset--color--line);
	--vc-ink: var(--wp--preset--color--ink);
	--vc-muted: var(--wp--preset--color--muted);
	--vc-subtle: var(--wp--preset--color--subtle);
	--vc-gold: var(--wp--preset--color--gold);
	--vc-gold-deep: var(--wp--preset--color--gold-deep);
	--vc-on-dark: var(--wp--preset--color--on-dark);
	--vc-on-dark-strong: var(--wp--preset--color--on-dark-strong);
	--vc-on-dark-soft: var(--wp--custom--color--on-dark-soft);
	--vc-on-dark-label: var(--wp--custom--color--on-dark-label);
	--vc-card-line: var(--wp--custom--color--card-line);
	--vc-muted-soft: var(--wp--custom--color--muted-soft);

	--vc-display: var(--wp--preset--font-family--display);
	--vc-body: var(--wp--preset--font-family--body);

	--vc-section-y: clamp(64px, 8vw, 110px);
	--vc-section-y-lg: clamp(72px, 9vw, 120px);
	--vc-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ------------------------------------------------------------------ */
/* Dasar                                                               */
/* ------------------------------------------------------------------ */

html {
	scroll-behavior: smooth;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

::selection {
	background: #cfe8d4;
}

h1,
h2,
h3 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

/* Header, main, dan footer menempel tanpa celah blockGap. */
body .wp-site-blocks > *,
body .vc-main > * {
	margin-block: 0;
}

:where(a, button):focus-visible {
	outline: 2px solid var(--vc-green);
	outline-offset: 3px;
	border-radius: 4px;
}

/* Latar garis miring — dipakai hero, kepala halaman, dan ajakan. */
.vc-lines {
	position: relative;
	background-image: repeating-linear-gradient(
		115deg,
		rgb(20 56 42 / 0.055) 0,
		rgb(20 56 42 / 0.055) 1px,
		transparent 1px,
		transparent 30px
	);
}

.vc-lines--gold {
	background-image: repeating-linear-gradient(
		115deg,
		rgb(240 201 79 / 0.09) 0,
		rgb(240 201 79 / 0.09) 1px,
		transparent 1px,
		transparent 30px
	);
}

/* Judul seksi standar. */
.vc-heading.vc-heading {
	margin: 0;
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.14;
	letter-spacing: -0.015em;
	color: var(--vc-forest);
}

/* Kepala seksi: judul di kiri, tautan panah di kanan. */
.vc-section-head.vc-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 40px;
}

.vc-section-head.vc-section-head--loose {
	margin-bottom: 52px;
}

.vc-section-head > *,
.vc-section-head > .wp-block-group > * {
	margin-block: 0;
}

/* Label kecil di atas judul seksi. */
.is-style-eyebrow.is-style-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 8px;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vc-subtle);
}

.is-style-eyebrow::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--vc-gold-deep);
}

.vc-empty {
	color: var(--vc-muted);
}

/* ------------------------------------------------------------------ */
/* Tombol                                                              */
/* ------------------------------------------------------------------ */

.wp-element-button,
.wp-block-button__link {
	transition:
		transform 0.3s var(--vc-ease),
		background-color 0.3s,
		color 0.3s,
		box-shadow 0.3s,
		gap 0.3s,
		border-color 0.3s;
	white-space: nowrap;
}

.wp-block-button:not([class*="is-style-arrow"]) .wp-block-button__link:hover {
	transform: translateY(-2px);
}

/* Emas — ajakan utama di latar gelap (WhatsApp). */
.wp-block-button.is-style-gold .wp-block-button__link {
	background: var(--vc-gold);
	color: var(--vc-forest);
	box-shadow: none;
	padding: 18px 36px;
	font-size: 18.5px;
}

.wp-block-button.is-style-gold .wp-block-button__link:hover,
.wp-block-button.is-style-gold .wp-block-button__link:focus-visible {
	background: var(--vc-gold);
	color: var(--vc-forest);
	box-shadow: 0 10px 26px rgb(240 201 79 / 0.4);
}

/* Tombol kecil (header, footer, menu layar penuh). */
.wp-block-button.vc-btn-sm .wp-block-button__link {
	padding: 14px 24px;
	font-size: 16.5px;
}

/* Tautan panah dengan garis bawah emas. */
.wp-block-button[class*="is-style-arrow"] .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	/* Padding atas + margin negatif: area sentuh ±44px tanpa menggeser
	   tata letak atau garis bawah emas. */
	margin-top: -14px;
	padding: 14px 0 4px;
	border-radius: 0;
	border-bottom: 2px solid var(--vc-gold-deep);
	background: transparent;
	box-shadow: none;
	font-size: 17.5px;
	font-weight: 800;
	color: var(--vc-leaf);
}

.wp-block-button[class*="is-style-arrow"] .wp-block-button__link::after {
	content: "→";
}

.wp-block-button[class*="is-style-arrow"] .wp-block-button__link:hover,
.wp-block-button[class*="is-style-arrow"] .wp-block-button__link:focus-visible {
	gap: 16px;
	background: transparent;
	color: var(--vc-green-deep);
}

.wp-block-button.is-style-arrow-light .wp-block-button__link {
	border-bottom-color: rgb(255 255 255 / 0.4);
	font-size: 17px;
	color: #fff;
}

.wp-block-button.is-style-arrow-light .wp-block-button__link:hover,
.wp-block-button.is-style-arrow-light .wp-block-button__link:focus-visible {
	border-bottom-color: #fff;
	color: #fff;
}

/* Tombol ajakan di ponsel (hero beranda, ajakan WhatsApp, penutup
   Bidang Usaha, kartu dan peta Kontak): selebar layar, ditumpuk, sama
   tinggi.
   Tautan panah berubah menjadi tombol bergaris tepi supaya area
   sentuhnya sama besar dan keduanya terbaca sebagai pilihan setara. */
@media (max-width: 639px) {
	.vc-hero .vc-hero__actions,
	.vc-cta .vc-cta__actions,
	.vc-closing .vc-closing__actions,
	.vc-contact-card .vc-contact-card__actions,
	.vc-contact .vc-map__actions {
		flex-direction: column;
		align-items: stretch;
		align-self: stretch;
		gap: 12px;
	}

	:is(.vc-hero__actions, .vc-cta__actions, .vc-closing__actions, .vc-contact-card__actions, .vc-map__actions) > .wp-block-button {
		width: 100%;
	}

	/* Spesifisitas dinaikkan supaya menang atas padding gaya emas/panah. */
	.wp-block-buttons:is(.vc-hero__actions, .vc-cta__actions, .vc-closing__actions, .vc-contact-card__actions, .vc-map__actions) .wp-block-button .wp-block-button__link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		min-height: 56px;
		padding: 16px 24px;
		font-size: 17.5px;
	}

	.wp-block-buttons:is(.vc-hero__actions, .vc-cta__actions, .vc-map__actions) .wp-block-button[class*="is-style-arrow"] .wp-block-button__link {
		gap: 10px;
		margin-top: 0;
		border: 2px solid #b9c9ba;
		border-radius: 999px;
		background: #fff;
		color: var(--vc-green);
	}

	:is(.vc-hero__actions, .vc-cta__actions, .vc-map__actions) .wp-block-button[class*="is-style-arrow"] .wp-block-button__link:hover,
	:is(.vc-hero__actions, .vc-cta__actions, .vc-map__actions) .wp-block-button[class*="is-style-arrow"] .wp-block-button__link:focus-visible {
		gap: 14px;
		border-color: var(--vc-green);
		background: #fff;
		color: var(--vc-green);
	}

	.wp-block-buttons.vc-cta__actions .wp-block-button.is-style-arrow-light .wp-block-button__link {
		border-color: rgb(255 255 255 / 0.35);
		background: transparent;
		color: #fff;
	}

	.vc-cta__actions .wp-block-button.is-style-arrow-light .wp-block-button__link:hover,
	.vc-cta__actions .wp-block-button.is-style-arrow-light .wp-block-button__link:focus-visible {
		border-color: #fff;
		background: rgb(255 255 255 / 0.06);
		color: #fff;
	}
}

/* ------------------------------------------------------------------ */
/* Header                                                              */
/* ------------------------------------------------------------------ */

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 60;
}

@media (max-width: 600px) {
	.wp-site-blocks > header.wp-block-template-part {
		top: 0;
	}
}

/* Blur dipasang di pseudo-elemen: backdrop-filter pada elemen header
   sendiri akan menjadikannya containing block bagi elemen fixed. */
.vc-header {
	position: relative;
	isolation: isolate;
	border-bottom: 1px solid #e3e8de;
}

.vc-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgb(246 247 243 / 0.9);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}

.vc-header__bar.vc-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 88px;
	padding-block: 14px;
}

.vc-header__bar > * {
	margin-block: 0;
}

/* Identitas: logo + nama. */
.vc-brand.vc-brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

.vc-brand > *,
.vc-brand__text > * {
	margin-block: 0;
}

.vc-brand .vc-brand__logo {
	flex-shrink: 0;
	margin: 0;
}

.vc-brand .vc-brand__logo img {
	display: block;
	width: 50px;
	height: 50px;
	border-radius: 13px;
	box-shadow: 0 2px 8px rgb(20 50 35 / 0.18);
}

.vc-brand .vc-brand__text {
	display: none;
	flex-direction: column;
	line-height: 1.18;
}

@media (min-width: 640px) {
	.vc-brand .vc-brand__text {
		display: flex;
	}
}

.vc-brand .vc-brand__name {
	font-family: var(--vc-display);
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--wp--custom--color--wordmark);
}

.vc-brand .vc-brand__name a {
	color: inherit;
	text-decoration: none;
}

/* Jenis koperasi di atas nama, mengikuti urutan nama resmi
   "Koperasi Produsen Manunggal Jaya". */
.vc-brand .vc-brand__kind {
	margin-bottom: 3px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--vc-subtle);
}

/* Navigasi desktop. */
.vc-header__desktop.vc-header__desktop {
	display: none;
	align-items: center;
	gap: 4px;
}

.vc-header__desktop > * {
	margin-block: 0;
}

@media (min-width: 1080px) {
	.vc-header__desktop.vc-header__desktop {
		display: flex;
	}
}

.wp-block-navigation.vc-nav,
.wp-block-navigation.vc-nav .wp-block-navigation__container {
	gap: 4px;
}

.wp-block-navigation.vc-nav .wp-block-navigation-item__content {
	display: flex;
	align-items: center;
	padding: 10px 16px;
	border-radius: 999px;
	white-space: nowrap;
	font-size: 17px;
	font-weight: 600;
	color: var(--wp--custom--color--nav-text);
	text-decoration: none;
	transition:
		background-color 0.2s,
		color 0.2s;
}

/* Halaman aktif memakai latar yang sama dengan hover, tanpa penanda
   tambahan, supaya lebar menu tidak berubah antarhalaman. */
.wp-block-navigation.vc-nav .wp-block-navigation-item__content:hover,
.wp-block-navigation.vc-nav .is-current > .wp-block-navigation-item__content {
	background: var(--vc-mint);
	color: var(--vc-forest);
}

.vc-header__cta .wp-block-button__link {
	margin-left: 12px;
	padding: 14px 26px;
	font-size: 17px;
	font-weight: 700;
	box-shadow: 0 4px 14px rgb(30 92 67 / 0.28);
}

/* Tombol "Menu" di bawah 1080px. */
.vc-menu-toggle {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 54px;
	padding: 0 22px;
	border: 1px solid #d5ddd1;
	border-radius: 999px;
	background: #fff;
	box-shadow: var(--wp--preset--shadow--soft);
	font: inherit;
	cursor: pointer;
	transition: border-color 0.2s;
}

.vc-menu-toggle:hover {
	border-color: var(--vc-green);
}

@media (min-width: 1080px) {
	.vc-menu-toggle {
		display: none;
	}
}

.vc-menu-toggle__label,
.vc-menu-close__label {
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.vc-menu-toggle__label {
	color: var(--vc-forest);
}

.vc-menu-toggle__bars {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.vc-menu-toggle__bars span {
	display: block;
	width: 24px;
	height: 2px;
	border-radius: 2px;
	background: var(--vc-forest);
}

.vc-menu-toggle__bars span:last-child {
	width: 16px;
	background: var(--vc-gold-deep);
}

/* ------------------------------------------------------------------ */
/* Menu layar penuh                                                    */
/* ------------------------------------------------------------------ */

/* Di front-end menu tersembunyi sampai dibuka (menu.js memindahkannya
   ke <body>). Di editor ia tampil sebagai panel biasa supaya bisa diedit. */
:where(body:not(.editor-styles-wrapper)) .vc-menu {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	margin: 0 !important;
}

:where(body:not(.editor-styles-wrapper)) .vc-menu.is-open {
	display: flex;
}

.vc-menu.vc-menu {
	position: relative;
	flex-direction: column;
	overflow: hidden;
	background: var(--vc-forest);
	color: var(--vc-on-dark-strong);
}

:where(body:not(.editor-styles-wrapper)) .vc-menu.vc-menu {
	position: fixed;
}

.vc-menu > * {
	margin-block: 0;
}

.vc-menu__deco > * {
	position: absolute;
	pointer-events: none;
	user-select: none;
}

.vc-menu__ring {
	top: -140px;
	right: -120px;
	width: 420px;
	height: 420px;
	border: 2px solid rgb(240 201 79 / 0.2);
	border-radius: 50%;
}

.vc-menu__blob {
	bottom: -180px;
	left: -140px;
	width: 480px;
	height: 480px;
	border-radius: 50%;
	background: rgb(30 92 67 / 0.5);
}

.vc-menu__word {
	bottom: -4vh;
	left: -10px;
	white-space: nowrap;
	font-family: var(--vc-display);
	font-size: 26vh;
	font-weight: 800;
	line-height: 1;
	color: rgb(255 255 255 / 0.04);
}

.vc-menu .vc-menu__top {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 88px;
	padding: 14px var(--wp--custom--shell-padding);
	border-bottom: 1px solid rgb(255 255 255 / 0.12);
}

.vc-menu__top > * {
	margin-block: 0;
}

.vc-brand--light .vc-brand__logo img {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	box-shadow: none;
}

.vc-brand.vc-brand--light .vc-brand__text {
	display: flex;
}

.vc-brand.vc-brand--light .vc-brand__name {
	font-size: 19px;
	color: #fff;
}

.vc-brand.vc-brand--light .vc-brand__kind {
	font-size: 12px;
	color: var(--vc-on-dark-label);
}

.vc-menu-close {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 54px;
	padding: 0 22px;
	border: 1px solid rgb(255 255 255 / 0.3);
	border-radius: 999px;
	background: rgb(255 255 255 / 0.06);
	color: var(--vc-on-dark-strong);
	font: inherit;
	cursor: pointer;
	transition:
		border-color 0.2s,
		background-color 0.2s;
}

@media (max-width: 400px) {
	.vc-menu-close {
		padding: 0 16px;
	}

	.vc-menu-close__label {
		display: none;
	}
}

.vc-menu-close:hover {
	border-color: var(--vc-gold);
	background: rgb(255 255 255 / 0.14);
}

.vc-menu-close__icon {
	position: relative;
	display: block;
	width: 22px;
	height: 22px;
}

.vc-menu-close__icon span {
	position: absolute;
	top: 10px;
	left: 0;
	display: block;
	width: 22px;
	height: 2px;
	border-radius: 2px;
	background: var(--vc-gold);
	transform: rotate(45deg);
}

.vc-menu-close__icon span + span {
	transform: rotate(-45deg);
}

/* Blok Navigation memasang className di <nav> dan juga di <ul>-nya,
   jadi tata letak luar hanya untuk elemen <nav>. */
nav.wp-block-navigation.vc-menu__nav {
	position: relative;
	flex: 1;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	overflow-y: auto;
	padding: 20px clamp(24px, 5vw, 64px);
}

ul.wp-block-navigation__container.vc-menu__nav,
.wp-block-navigation.vc-menu__nav .wp-block-navigation__container {
	padding: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	/* Margin auto menengahkan daftar secara vertikal, tapi berbeda dari
	   justify-content:center, bagian atasnya tetap bisa di-scroll saat
	   layar terlalu pendek. */
	margin-block: auto;
	counter-reset: vc-menu;
}

.wp-block-navigation.vc-menu__nav .wp-block-navigation-item__content {
	display: flex;
	align-items: baseline;
	gap: 18px;
	padding-block: clamp(7px, 1.1vh, 13px);
	font-family: var(--vc-display);
	/* 8vw membatasi ukuran di ponsel sempit (±30px di 375px). */
	font-size: clamp(26px, min(5.4vh, 8vw), 46px);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.025em;
	color: var(--vc-on-dark-strong);
	text-decoration: none;
	transition:
		transform 0.3s var(--vc-ease),
		color 0.3s;
}

.wp-block-navigation.vc-menu__nav .wp-block-navigation-item__content::before {
	counter-increment: vc-menu;
	content: counter(vc-menu, decimal-leading-zero);
	min-width: 30px;
	font-family: var(--vc-body);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	color: var(--vc-on-dark-label);
}

.wp-block-navigation.vc-menu__nav .wp-block-navigation-item__content:hover,
.wp-block-navigation.vc-menu__nav .is-current > .wp-block-navigation-item__content {
	color: var(--vc-gold);
}

.wp-block-navigation.vc-menu__nav .wp-block-navigation-item__content:hover {
	transform: translateX(12px);
}

.wp-block-navigation.vc-menu__nav .is-current > .wp-block-navigation-item__content::after {
	content: "";
	align-self: center;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--vc-gold);
}

.vc-menu .vc-menu__bottom {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 20px clamp(24px, 5vw, 64px);
	border-top: 1px solid rgb(255 255 255 / 0.12);
}

.vc-menu__bottom > * {
	margin-block: 0;
}

.vc-menu__address {
	font-size: 15px;
	line-height: 1.65;
	color: var(--vc-on-dark-soft);
}

/* ------------------------------------------------------------------ */
/* Beranda — Hero                                                      */
/* ------------------------------------------------------------------ */

.vc-hero {
	border-bottom: 1px solid var(--vc-line);
}

.vc-hero .vc-hero__intro {
	overflow: hidden;
	padding-top: clamp(48px, 6vw, 84px);
	padding-bottom: clamp(40px, 5vw, 56px);
}

.vc-hero__copy > * {
	margin-block: 0;
}

/* 880px (referensi 760px untuk tagline lama): motto resmi lebih panjang
   dan harus tetap muat dua baris. */
.vc-hero .vc-hero__title {
	max-width: 880px;
	font-size: var(--wp--preset--font-size--huge);
	line-height: 1.03;
	letter-spacing: -0.02em;
}

.vc-hero .vc-hero__lead {
	max-width: 620px;
	margin-top: 28px;
	font-size: 20px;
	line-height: 1.75;
	color: var(--vc-muted);
}

.vc-hero .vc-hero__actions {
	align-items: center;
	gap: 16px 32px;
	margin-top: 36px;
}

.vc-hero .vc-hero__photo {
	min-height: clamp(300px, 40vw, 520px);
	padding: 0;
	overflow: hidden;
}

/* Foto lebih tinggi dari bingkainya supaya parallax tidak menyisakan
   celah (padanan `top-[-12%] bottom-[-12%]` di referensi). */
.vc-hero__photo > .wp-block-cover__image-background {
	top: -12%;
	bottom: auto;
	height: 124%;
}

.vc-hero .vc-hero__photo > .wp-block-cover__background.has-background-dim.has-background-dim-0 {
	background: linear-gradient(
		to top,
		rgb(20 56 42 / 0.75),
		rgb(20 56 42 / 0.05) 50%,
		transparent
	);
	opacity: 1;
}

.vc-hero__photo > .wp-block-cover__inner-container {
	width: 100%;
	padding-inline: var(--wp--custom--shell-padding);
}

.vc-hero .vc-hero__caption-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-block: 24px;
}

.vc-hero__caption-row > * {
	margin-block: 0;
}

.vc-hero .vc-hero__caption {
	max-width: 500px;
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.375;
	color: var(--vc-on-dark-strong);
}

.vc-hero .vc-hero__place {
	display: none;
	flex-shrink: 0;
	padding: 8px 16px;
	border: 1px solid rgb(255 255 255 / 0.3);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vc-on-dark-soft);
}

@media (min-width: 640px) {
	.vc-hero .vc-hero__place {
		display: inline-flex;
	}
}

/* ------------------------------------------------------------------ */
/* Beranda — Data resmi                                                */
/* ------------------------------------------------------------------ */

.vc-facts {
	border-bottom: 1px solid var(--vc-line);
	background: var(--vc-forest);
}

.vc-facts .vc-facts__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px 24px;
	padding-block: clamp(40px, 5vw, 56px);
}

.vc-facts__grid > *,
.vc-fact > * {
	margin-block: 0;
}

@media (min-width: 640px) {
	.vc-facts .vc-facts__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.vc-facts .vc-fact + .vc-fact {
		padding-left: 28px;
		border-left: 1px solid rgb(255 255 255 / 0.15);
	}
}

.vc-fact .vc-fact__label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vc-on-dark-label);
}

.vc-fact .vc-fact__value {
	margin-top: 8px;
	font-family: var(--vc-display);
	/* Maks. 25px (referensi 27px) supaya nomor badan hukum muat satu baris
	   di kolom 4-up selebar 1256px. */
	font-size: clamp(20px, 1.75vw, 25px);
	font-weight: 800;
	line-height: 1.25;
	font-variant-numeric: tabular-nums;
	color: var(--vc-on-dark-strong);
}

/* ------------------------------------------------------------------ */
/* Beranda — Tentang                                                   */
/* ------------------------------------------------------------------ */

.vc-about.vc-about {
	position: relative;
	overflow: hidden;
	padding-block: var(--vc-section-y-lg);
}

/* Tahun berdiri raksasa di belakang judul, sejajar tepi kiri konten. */
.vc-about .vc-about__year {
	position: absolute;
	top: clamp(8px, 2vw, 28px);
	left: calc(max(var(--wp--custom--shell-padding), (100% - 1256px) / 2) - 12px);
	margin: 0 !important;
	pointer-events: none;
	user-select: none;
	font-family: var(--vc-display);
	font-size: clamp(130px, 19vw, 260px);
	font-weight: 800;
	line-height: 1;
	color: var(--vc-mint);
}

.vc-about .vc-about__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	align-items: start;
	gap: clamp(32px, 5vw, 72px);
}

.vc-about__grid > *,
.vc-about__text > * {
	margin-block: 0;
}

.vc-about__text p {
	color: var(--vc-muted);
}

.vc-about__text p + p {
	margin-top: 22px;
}

.vc-about__text .wp-block-buttons {
	margin-top: 30px;
}

/* ------------------------------------------------------------------ */
/* Beranda — Unit usaha                                                */
/* ------------------------------------------------------------------ */

.vc-units.vc-units {
	padding-block: var(--vc-section-y);
	border-block: 1px solid var(--vc-line);
	background: var(--vc-panel);
}

.vc-units .vc-units__list {
	border-top: 1px solid var(--vc-card-line);
}

.vc-units__list > *,
.vc-unit > *,
.vc-unit__body > *,
.vc-unit__head > * {
	margin-block: 0;
}

@media (min-width: 640px) {
	.vc-units .vc-units__list {
		padding-inline: 16px;
	}
}

.vc-units .vc-unit {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-block: 28px;
	border-bottom: 1px solid var(--vc-card-line);
	transition: background-color 0.3s;
}

.vc-units .vc-unit:hover {
	background: #fff;
}

.vc-units .vc-unit:has(a:focus-visible) {
	outline: 2px solid var(--vc-green);
	outline-offset: 2px;
}

.vc-unit .vc-unit__num {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border: 2px dashed rgb(201 167 72 / 0.6);
	border-radius: 50%;
	font-family: var(--vc-display);
	font-size: 18px;
	font-weight: 800;
	color: var(--vc-green);
	transform: rotate(-6deg);
	transition: transform 0.3s;
}

.vc-unit:nth-child(even) .vc-unit__num {
	transform: rotate(5deg);
}

.vc-unit:hover .vc-unit__num {
	transform: rotate(0deg);
}

.vc-unit .vc-unit__body {
	flex: 1;
}

.vc-unit .vc-unit__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.vc-unit .vc-unit__title {
	font-size: 22px;
	line-height: 1.3;
	letter-spacing: 0;
}

.vc-unit__title a {
	color: inherit;
	text-decoration: none;
}

.vc-unit__title a:focus-visible {
	outline: none;
}

/* Seluruh baris bisa diklik. */
.vc-unit__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.vc-badge.vc-badge {
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--vc-mint);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vc-green);
}

.vc-unit .vc-unit__desc {
	max-width: 640px;
	margin-top: 6px;
	font-size: 16.5px;
	line-height: 1.6;
	color: var(--vc-muted-soft);
}

.vc-units .vc-unit::after {
	content: "→";
	display: none;
	flex-shrink: 0;
	font-size: 24px;
	font-weight: 800;
	color: var(--vc-green);
	transition: transform 0.3s;
}

@media (min-width: 640px) {
	.vc-units .vc-unit {
		flex-direction: row;
		align-items: center;
		gap: 32px;
	}

	.vc-units .vc-unit::after {
		display: block;
	}

	.vc-units .vc-unit:hover::after {
		transform: translateX(6px);
	}
}

/* ------------------------------------------------------------------ */
/* Beranda — Galeri                                                    */
/* ------------------------------------------------------------------ */

.vc-gallery.vc-gallery {
	padding-block: var(--vc-section-y);
}

.vc-gallery .vc-gallery__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	gap: 22px;
}

.vc-gallery__grid > * {
	margin-block: 0;
}

/* Offset selang-seling memakai margin pada <a>, bukan transform pada
   <figure>, karena GSAP menguasai transform figure saat animasi masuk. */
.vc-gallery__item a {
	display: block;
	height: 300px;
	overflow: hidden;
	border-radius: 20px;
}

.vc-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--vc-ease);
}

.vc-gallery__item:hover img {
	transform: scale(1.05);
}

@media (min-width: 640px) {
	.vc-gallery__item:nth-child(even) a {
		margin-top: 28px;
	}
}

/* ------------------------------------------------------------------ */
/* Beranda — Kabar terbaru                                             */
/* ------------------------------------------------------------------ */

.vc-news.vc-news {
	padding-block: var(--vc-section-y);
	border-top: 1px solid var(--vc-line);
	background: var(--vc-panel);
}

.vc-news .vc-news__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
}

.vc-news__grid > * {
	margin-block: 0;
}

@media (min-width: 768px) {
	.vc-news .vc-news__grid {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	}
}

.vc-news .wp-block-post-template {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vc-news .wp-block-post-template > * {
	margin-block: 0;
}

.vc-news__featured,
.vc-news__featured .wp-block-post-template,
.vc-news__featured .wp-block-post {
	height: 100%;
}

/* Kartu artikel utama: foto penuh + gradasi + teks di bawah. */
.vc-feature-card.vc-feature-card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 360px;
	height: 100%;
	overflow: hidden;
	border-radius: 28px;
	background: var(--vc-forest);
}

.vc-feature-card > * {
	margin-block: 0;
}

.vc-feature-card .wp-block-post-featured-image {
	position: absolute;
	inset: 0;
	margin: 0;
}

.vc-feature-card .wp-block-post-featured-image a,
.vc-feature-card .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vc-feature-card .wp-block-post-featured-image img {
	transition: transform 0.7s var(--vc-ease);
}

.vc-feature-card:hover .wp-block-post-featured-image img {
	transform: scale(1.05);
}

.vc-feature-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		to top,
		rgb(20 56 42 / 0.85),
		rgb(20 56 42 / 0.15) 50%,
		transparent
	);
}

/* Bagian kosong teks meneruskan klik ke tautan foto di bawahnya. */
.vc-feature-card .vc-feature-card__body {
	position: relative;
	z-index: 2;
	padding: 32px;
	pointer-events: none;
}

.vc-feature-card__body > * {
	margin-block: 0;
}

.vc-feature-card__body a {
	pointer-events: auto;
}

.vc-pill a {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--vc-gold);
	font-size: 12.5px;
	font-weight: 700;
	line-height: 1.5;
	color: var(--vc-forest);
	text-decoration: none;
}

.vc-pill .wp-block-post-terms__separator {
	display: inline-block;
	width: 6px;
	font-size: 0;
}

.vc-feature-card .vc-feature-card__title {
	margin-top: 16px;
	font-family: var(--vc-body);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	color: #fff;
}

.vc-feature-card .vc-feature-card__date {
	margin-top: 8px;
	font-size: 14.5px;
	font-weight: 600;
	color: var(--vc-on-dark-soft);
}

/* Daftar artikel kecil di sebelah kanan. */
.vc-news__list .wp-block-post {
	padding-block: 24px;
}

.vc-news__list .wp-block-post:first-child {
	padding-top: 0;
}

.vc-news__list .wp-block-post:last-child {
	padding-bottom: 0;
}

.vc-news__list .wp-block-post + .wp-block-post {
	border-top: 1px solid var(--vc-card-line);
}

.vc-news-item.vc-news-item {
	display: flex;
	align-items: center;
	gap: 20px;
}

.vc-news-item > *,
.vc-news-item__body > * {
	margin-block: 0;
}

.vc-news-item .wp-block-post-featured-image {
	flex-shrink: 0;
	width: 88px;
	height: 88px;
	overflow: hidden;
	border-radius: 16px;
}

.vc-news-item .wp-block-post-featured-image :is(a, img) {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vc-news-item__body {
	min-width: 0;
}

.vc-news-item__meta.vc-news-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0 6px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--vc-subtle);
}

.vc-news-item__meta > * {
	margin-block: 0;
}

.vc-news-item__meta .wp-block-post-terms a {
	color: inherit;
	text-decoration: none;
}

.vc-news-item__meta .wp-block-post-date::before {
	content: "· ";
}

.vc-news-item__meta .wp-block-post-terms:empty + .wp-block-post-date::before {
	content: none;
}

.vc-news-item .vc-news-item__title {
	margin-top: 6px;
	font-family: var(--vc-body);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
	color: var(--vc-forest);
	transition: color 0.2s;
}

.vc-news-item .vc-news-item__title a:hover {
	color: var(--vc-green-deep);
}

/* ------------------------------------------------------------------ */
/* Ajakan                                                              */
/* ------------------------------------------------------------------ */

.vc-cta.vc-cta {
	position: relative;
	overflow: hidden;
	background-color: var(--vc-forest);
}

.vc-cta .vc-cta__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
	padding-block: var(--vc-section-y-lg);
}

.vc-cta__inner > *,
.vc-cta__copy > * {
	margin-block: 0;
}

.vc-cta .vc-cta__copy {
	max-width: 600px;
}

.vc-cta .vc-cta__title {
	font-size: clamp(32px, 3.8vw, 52px);
	color: #fff;
}

.vc-cta .vc-cta__text {
	max-width: 500px;
	margin-top: 20px;
	font-size: 18px;
	line-height: 1.7;
	color: var(--vc-on-dark);
}

.vc-cta .vc-cta__actions {
	flex-shrink: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

@media (min-width: 640px) {
	.vc-cta .vc-cta__inner {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}

	.vc-cta .vc-cta__actions {
		align-items: flex-end;
	}
}

/* ------------------------------------------------------------------ */
/* Footer                                                              */
/* ------------------------------------------------------------------ */

.vc-footer.vc-footer {
	position: relative;
	overflow: hidden;
	background: var(--vc-forest);
	color: #e8efe6;
}

.vc-footer > * {
	margin-block: 0;
}

.vc-footer .vc-footer__grid {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	gap: 36px;
	padding-top: 60px;
	padding-bottom: 24px;
}

@media (min-width: 1024px) {
	.vc-footer .vc-footer__grid {
		gap: 56px;
		padding-top: 96px;
	}
}

.vc-footer__grid > *,
.vc-footer__col > * {
	margin-block: 0;
}

.vc-footer .vc-footer__col {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.vc-footer .vc-footer__about {
	gap: 22px;
}

.vc-footer .vc-footer__contact {
	gap: 18px;
}

.vc-brand--footer {
	gap: 16px;
}

.vc-brand--footer .vc-brand__logo img {
	width: 60px;
	height: 60px;
	border-radius: 15px;
	box-shadow: none;
}

.vc-brand.vc-brand--footer .vc-brand__text {
	display: flex;
	line-height: 1.25;
}

.vc-brand.vc-brand--footer .vc-brand__name {
	font-size: 24px;
	color: #fff;
}

.vc-brand.vc-brand--footer .vc-brand__kind {
	font-size: 13px;
	letter-spacing: 0.1em;
	color: var(--vc-on-dark-soft);
}

.vc-footer .vc-footer__desc {
	max-width: 380px;
	font-size: 17px;
	line-height: 1.75;
	color: var(--vc-on-dark);
}

.vc-pill-outline.vc-pill-outline {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	width: max-content;
	max-width: 100%;
	padding: 10px 18px;
	border: 1px solid rgb(255 255 255 / 0.22);
	border-radius: 999px;
	font-size: 14.5px;
	font-weight: 600;
	color: #d8e6d5;
}

.vc-pill-outline::before {
	content: "";
	flex-shrink: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--vc-gold);
}

.vc-footer .vc-footer__heading {
	margin-bottom: 6px;
	font-family: var(--vc-body);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vc-on-dark-label);
}

.wp-block-navigation.vc-footer__nav .wp-block-navigation__container {
	gap: 0;
}

/* Jarak antartautan dipindah ke padding supaya area sentuhnya ±43px. */
.wp-block-navigation.vc-footer__nav .wp-block-navigation-item__content {
	display: block;
	padding-block: 8px;
	font-size: 17px;
	font-weight: 600;
	color: #cfe0cd;
	text-decoration: none;
	transition: color 0.2s;
}

.wp-block-navigation.vc-footer__nav .wp-block-navigation-item__content:hover {
	color: #fff;
}

.vc-footer .vc-footer__text {
	font-size: 17px;
	line-height: 1.5;
	color: var(--vc-on-dark);
}

.vc-footer .vc-footer__address {
	line-height: 1.7;
}

.vc-footer .vc-footer__small {
	font-size: 15.5px;
}

.vc-footer__small a {
	color: #cfe0cd;
	text-decoration: none;
	transition: color 0.2s;
}

.vc-footer__small a:hover {
	color: #fff;
}

.vc-footer .vc-footer__hours {
	color: var(--vc-on-dark-soft);
}

.vc-footer .vc-footer__mark {
	margin-top: 40px !important;
	max-width: none !important;
	overflow: hidden;
	white-space: nowrap;
	text-align: center;
	user-select: none;
	font-family: var(--vc-display);
	font-size: clamp(52px, 11vw, 150px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.02em;
	color: rgb(255 255 255 / 0.05);
}

.vc-footer .vc-footer__bottom {
	position: relative;
	z-index: 2;
	border-top: 1px solid rgb(255 255 255 / 0.14);
}

.vc-footer .vc-footer__bottom-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	padding-block: 22px;
	font-size: 15px;
	color: #9db89e;
}

.vc-footer__bottom-row > * {
	margin-block: 0;
}

/* ------------------------------------------------------------------ */
/* Halaman umum, arsip, dan artikel                                    */
/* ------------------------------------------------------------------ */

.vc-page-head.vc-page-head {
	padding-top: clamp(56px, 7vw, 92px);
	padding-bottom: clamp(40px, 5vw, 56px);
	border-bottom: 1px solid var(--vc-line);
}

.vc-page-head > *,
.vc-page-head .wp-block-group > * {
	margin-block: 0;
}

.vc-page-head .vc-page-head__title {
	max-width: 900px;
	font-size: clamp(36px, 5.2vw, 72px);
	line-height: 1.06;
	letter-spacing: -0.02em;
}

.vc-page-head .vc-page-head__lead {
	max-width: 720px;
	margin-top: 28px;
	font-size: 21px;
	line-height: 1.75;
	color: var(--vc-muted);
}

.vc-page-head .vc-page-head__meta {
	margin-top: 24px;
	font-size: 15.5px;
	font-weight: 600;
	color: var(--vc-subtle);
}

.vc-page-head .wp-block-buttons {
	margin-top: 32px;
}

.vc-page-body.vc-page-body {
	padding-block: clamp(48px, 6vw, 88px);
}

.vc-pagination.vc-pagination {
	gap: 8px;
	margin-top: 56px;
	font-weight: 700;
}

.vc-pagination a,
.vc-pagination .current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--vc-card-line);
	border-radius: 999px;
	color: var(--vc-forest);
	text-decoration: none;
}

.vc-pagination .current {
	border-color: var(--vc-green);
	background: var(--vc-green);
	color: #fff;
}

/* Isi artikel/halaman — padanan .kj-prose di referensi. */
.vc-prose {
	font-size: 19px;
	line-height: 1.8;
	color: #3c4a41;
}

.vc-prose > * + * {
	margin-block-start: 1.5rem;
}

.vc-prose h2 {
	margin-top: 2.75rem;
	font-size: clamp(26px, 2.4vw, 34px);
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.vc-prose h3 {
	margin-top: 2.25rem;
	font-size: clamp(21px, 1.8vw, 26px);
	line-height: 1.25;
}

.vc-prose a {
	font-weight: 700;
	color: var(--vc-green);
	text-decoration: underline;
	text-decoration-color: var(--vc-gold-deep);
	text-underline-offset: 3px;
}

.vc-prose a:hover {
	color: var(--vc-green-deep);
}

.vc-prose strong {
	font-weight: 800;
	color: var(--vc-forest);
}

.vc-prose :is(ul, ol) {
	padding-left: 1.5rem;
}

.vc-prose li + li {
	margin-top: 0.5rem;
}

.vc-prose li::marker {
	color: var(--vc-gold-deep);
}

.vc-prose blockquote {
	padding-left: 1.25rem;
	border-left: 3px solid var(--vc-gold-deep);
	font-style: italic;
	color: var(--vc-muted);
}

.vc-prose img {
	border-radius: 1rem;
}

.vc-prose figcaption {
	font-size: 15px;
	color: var(--vc-subtle);
}

/* ------------------------------------------------------------------ */
/* Tentang                                                             */
/* ------------------------------------------------------------------ */

/* Dua foto berdampingan; foto kedua turun sedikit (margin, bukan
   transform, karena GSAP menguasai transform saat animasi masuk). */
.vc-duo.vc-duo {
	padding-block: 40px;
}

.vc-duo > * {
	margin-block: 0;
}

/* Satu foto asli gedung kantor. Foto 4:3 dipotong melebar; posisi
   vertikal 58% menjaga gedung tetap di tengah bingkai (langit di atas,
   halaman di bawah). */
.vc-duo .vc-duo__item img {
	display: block;
	width: 100%;
	height: clamp(260px, 42vw, 560px);
	border-radius: 26px;
	object-fit: cover;
	object-position: center 58%;
}

.vc-duo .vc-duo__item figcaption {
	margin: 12px 0 0;
	text-align: left;
	font-size: 14.5px;
	color: var(--vc-subtle);
}

/* Dua kolom: pengantar menempel di kiri, daftar di kanan. */
.vc-split.vc-split {
	padding-block: var(--vc-section-y);
}

.vc-split .vc-split__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	align-items: start;
	gap: clamp(40px, 5vw, 80px);
}

.vc-split__grid > *,
.vc-split__intro > * {
	margin-block: 0;
}

.vc-split__intro p {
	max-width: 400px;
	margin-top: 22px;
	color: var(--vc-muted);
}

@media (min-width: 1024px) {
	.vc-split .vc-split__intro {
		position: sticky;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + 120px);
	}
}

/* Kronologi. */
.vc-timeline > *,
.vc-timeline__item > * {
	margin-block: 0;
}

.vc-timeline .vc-timeline__item {
	position: relative;
	padding-left: 44px;
	padding-bottom: 46px;
	border-left: 2px solid #dbe3d6;
}

.vc-timeline .vc-timeline__item:last-child {
	padding-bottom: 8px;
	border-left-color: transparent;
}

.vc-timeline__item::before {
	content: "";
	position: absolute;
	top: 6px;
	left: -9px;
	width: 16px;
	height: 16px;
	border: 3px solid var(--vc-cream);
	border-radius: 50%;
	background: var(--vc-green);
}

.vc-timeline__item.is-now::before {
	background: var(--vc-gold);
}

.vc-timeline .vc-timeline__year {
	font-family: var(--vc-display);
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	color: var(--vc-green);
}

.vc-timeline .is-now .vc-timeline__year {
	color: var(--vc-gold-deep);
}

.vc-timeline .vc-timeline__title {
	margin-top: 10px;
	font-family: var(--vc-body);
	font-size: 21px;
	line-height: 1.35;
	letter-spacing: 0;
}

.vc-timeline .vc-timeline__desc {
	margin-top: 8px;
	font-size: 17.5px;
	color: var(--vc-muted-soft);
}

/* Visi. */
.vc-vision.vc-vision {
	position: relative;
	overflow: hidden;
	background-color: var(--vc-forest);
}

.vc-vision .vc-vision__inner {
	max-width: 1036px;
	padding-block: var(--vc-section-y-lg);
	text-align: center;
}

.vc-vision__inner > * {
	margin-block: 0;
}

.vc-vision .vc-vision__label {
	font-size: 14.5px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--vc-on-dark-label);
}

.vc-vision .vc-vision__quote {
	margin: 30px 0 0;
	padding: 0;
	border: 0;
}

.vc-vision__quote p {
	margin: 0;
	text-wrap: balance;
	font-family: var(--vc-display);
	font-size: clamp(32px, 3.2vw, 46px);
	font-style: normal;
	font-weight: 700;
	line-height: 1.28;
	color: var(--vc-on-dark-strong);
}

.vc-vision__quote::after {
	content: "";
	display: block;
	width: 56px;
	height: 3px;
	margin: 36px auto 0;
	background: var(--vc-gold-deep);
}

/* Motto resmi di bawah visi. */
.vc-vision .vc-vision__motto {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-top: 32px;
	font-family: var(--vc-display);
	font-size: clamp(20px, 1.8vw, 26px);
	font-weight: 800;
	line-height: 1.3;
	color: var(--vc-gold);
}

.vc-vision__motto span {
	font-family: var(--vc-body);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--vc-on-dark-label);
}

/* Daftar bernomor 01, 02, … (misi). */
.vc-numbered.vc-numbered {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: vc-numbered;
	border-top: 1px solid var(--vc-card-line);
}

.vc-numbered > li {
	display: flex;
	align-items: flex-start;
	gap: 24px;
	margin: 0;
	padding-block: 24px;
	border-bottom: 1px solid var(--vc-card-line);
	font-size: 18.5px;
	color: #3c4a41;
	transition: background-color 0.3s;
}

.vc-numbered > li:hover {
	background: #fff;
}

.vc-numbered > li::before {
	counter-increment: vc-numbered;
	content: counter(vc-numbered, decimal-leading-zero);
	flex-shrink: 0;
	width: 40px;
	font-family: var(--vc-display);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.3;
	font-variant-numeric: tabular-nums;
	color: var(--vc-gold-deep);
}

@media (min-width: 640px) {
	.vc-numbered > li {
		padding-inline: 12px;
	}
}

/* Nilai. */
.vc-values.vc-values {
	padding-block: var(--vc-section-y);
	border-block: 1px solid var(--vc-line);
	background: var(--vc-panel);
}

.vc-values .vc-values__head {
	margin-bottom: 56px;
}

.vc-values__head > *,
.vc-values__grid > *,
.vc-value > * {
	margin-block: 0;
}

.vc-values__head > * {
	max-width: 760px;
}

.vc-values__head p {
	margin-top: 16px;
	color: var(--vc-muted);
}

.vc-values .vc-values__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 44px 32px;
	padding-top: 40px;
	border-top: 1px solid var(--vc-card-line);
}

.vc-value .vc-value__initial {
	font-family: var(--vc-display);
	font-size: 46px;
	font-weight: 800;
	line-height: 1;
	color: var(--vc-gold-deep);
}

.vc-value .vc-value__name {
	margin-top: 16px;
	font-family: var(--vc-body);
	font-size: 20px;
	line-height: 1.35;
	letter-spacing: 0;
}

.vc-value .vc-value__desc {
	margin-top: 10px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--vc-muted-soft);
}

/* Identitas resmi. */
.vc-identity.vc-identity {
	padding-top: clamp(64px, 8vw, 100px);
}

.vc-identity .vc-identity__card {
	padding: clamp(32px, 4vw, 48px) clamp(24px, 4vw, 48px);
	border: 2px solid var(--vc-card-line);
	border-radius: 28px;
}

.vc-identity__card > *,
.vc-identity__grid > *,
.vc-identity__col > * {
	margin-block: 0;
}

.vc-identity .vc-identity__label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vc-subtle);
}

/* Kolom eksplisit (1 → 2 → 4), bukan auto-fit: garis pemisah harus
   tahu kolom mana yang memulai baris. */
.vc-identity .vc-identity__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px 32px;
	margin-top: 24px;
}

@media (min-width: 640px) {
	.vc-identity .vc-identity__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.vc-identity .vc-identity__col:nth-child(even) {
		padding-left: 32px;
		border-left: 1px solid var(--vc-card-line);
	}
}

@media (min-width: 1100px) {
	.vc-identity .vc-identity__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.vc-identity .vc-identity__col + .vc-identity__col {
		padding-left: 32px;
		border-left: 1px solid var(--vc-card-line);
	}
}

.vc-identity .vc-identity__title {
	font-family: var(--vc-body);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8a978c;
}

.vc-identity .vc-identity__value {
	margin-top: 12px;
	font-size: 19px;
	font-weight: 800;
	line-height: 1.45;
	color: var(--vc-forest);
}

.vc-identity .vc-identity__note {
	margin-top: 8px;
	font-size: 15px;
	color: #8a978c;
}

/* Pengurus. */
.vc-team.vc-team {
	padding-top: clamp(64px, 8vw, 100px);
	padding-bottom: 130px;
}

.vc-team .vc-team__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr));
	gap: 24px;
}

.vc-team__grid > *,
.vc-person > * {
	margin-block: 0;
}

.vc-person .vc-person__photo {
	overflow: hidden;
	border-radius: 32px;
}

.vc-person .vc-person__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: top;
}

.vc-person .vc-person__name {
	margin-top: 20px;
	font-family: var(--vc-body);
	font-size: 20px;
	line-height: 1.35;
	letter-spacing: 0;
}

.vc-person .vc-person__role {
	margin-top: 4px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--vc-subtle);
}

/* Tombol bergaris tepi (latar terang). */
.wp-block-button.is-style-outline .wp-block-button__link {
	padding: 16px 34px;
	border: 2px solid #b9c9ba;
	background: #fff;
	box-shadow: none;
	color: var(--vc-green);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	border-color: var(--vc-green);
	background: #fff;
	color: var(--vc-green);
}

/* ------------------------------------------------------------------ */
/* Bidang Usaha                                                        */
/* ------------------------------------------------------------------ */

.vc-page-head.vc-page-head--roomy {
	padding-bottom: 64px;
}

.vc-page-head .vc-page-head__lead--sm {
	max-width: 640px;
	margin-top: 24px;
	font-size: 19px;
}

/* Navigasi lompat ke unit, bernomor 01–05. */
nav.wp-block-navigation.vc-jump {
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid var(--vc-card-line);
}

.wp-block-navigation.vc-jump .wp-block-navigation__container {
	gap: 12px 28px;
	counter-reset: vc-jump;
}

.wp-block-navigation.vc-jump .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding-bottom: 4px;
	border-bottom: 2px solid transparent;
	font-size: 16.5px;
	font-weight: 700;
	color: #2c463a;
	text-decoration: none;
	transition:
		border-color 0.2s,
		color 0.2s;
}

.wp-block-navigation.vc-jump .wp-block-navigation-item__content::before {
	counter-increment: vc-jump;
	content: counter(vc-jump, decimal-leading-zero);
	font-family: var(--vc-display);
	font-size: 13px;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
	color: var(--vc-gold-deep);
}

.wp-block-navigation.vc-jump .wp-block-navigation-item__content:hover {
	border-bottom-color: var(--vc-gold-deep);
	color: var(--vc-forest);
}

/* Satu seksi per unit. */
.vc-biz.vc-biz {
	--vc-biz-bg: var(--vc-cream);
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 110px);
	background: var(--vc-biz-bg);
}

.vc-biz.vc-biz--panel {
	--vc-biz-bg: var(--vc-panel);
	border-block: 1px solid var(--vc-line);
}

.vc-biz.vc-biz--dark {
	--vc-biz-bg: var(--vc-forest);
}

.vc-biz .vc-biz__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 400px), 1fr));
	align-items: center;
	gap: clamp(36px, 5vw, 76px);
	padding-block: clamp(64px, 8vw, 100px);
}

.vc-biz__grid > *,
.vc-biz__media > *,
.vc-biz__copy > *,
.vc-biz__stat > * {
	margin-block: 0;
}

.vc-biz--flip .vc-biz__media {
	order: 2;
}

/* Foto bernomor. */
.vc-biz .vc-biz__media {
	position: relative;
}

.vc-biz__photo img {
	display: block;
	width: 100%;
	height: clamp(320px, 44vw, 470px);
	border-radius: 26px;
	object-fit: cover;
}

/* Foto kedua (unit dengan dua foto) menumpuk di pojok bawah. */
.vc-biz .vc-biz__inset {
	position: absolute;
	right: -16px;
	bottom: -28px;
	width: 44%;
}

.vc-biz--flip .vc-biz__inset {
	right: auto;
	left: -16px;
}

.vc-biz__inset img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border: 6px solid var(--vc-biz-bg);
	border-radius: 22px;
	object-fit: cover;
	box-shadow: 0 14px 30px rgb(20 56 42 / 0.22);
}

.vc-biz .vc-biz__num {
	position: absolute;
	top: -16px;
	left: -16px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 88px;
	height: 88px;
	border-radius: 24px;
	background: var(--vc-green);
	box-shadow: 0 14px 30px rgb(20 56 42 / 0.3);
	font-family: var(--vc-display);
	font-size: 30px;
	font-weight: 800;
	line-height: 1;
	color: var(--vc-gold);
}

.vc-biz--flip .vc-biz__num {
	right: -16px;
	left: auto;
}

.vc-biz--dark .vc-biz__num {
	background: var(--vc-gold);
	color: var(--vc-forest);
}

@media (max-width: 640px) {
	.vc-biz .vc-biz__num {
		width: 72px;
		height: 72px;
		border-radius: 20px;
		font-size: 25px;
	}

	.vc-biz .vc-biz__inset,
	.vc-biz--flip .vc-biz__inset {
		right: 12px;
		left: auto;
		bottom: -24px;
		width: 46%;
	}
}

/* Uraian. */
.vc-biz .vc-biz__title {
	font-size: clamp(34px, 3.2vw, 46px);
	line-height: 1.12;
}

.vc-biz .vc-biz__text {
	margin-top: 20px;
	color: var(--vc-muted);
}

.vc-biz .vc-biz__text + .vc-biz__text {
	margin-top: 16px;
}

.vc-biz .vc-biz__points {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin-top: 28px;
	padding: 24px 0 0;
	border-top: 1px solid var(--vc-card-line);
	list-style: none;
}

.vc-biz__points > li {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin: 0;
	font-size: 18px;
	color: #3c4a41;
}

.vc-biz__points > li::before {
	content: "";
	flex-shrink: 0;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--vc-green);
	transform: translateY(-4px);
}

/* Angka kinerja dari laporan RAT. */
.vc-biz .vc-biz__stat {
	margin-top: 28px;
	padding: 4px 0 4px 20px;
	border-left: 3px solid var(--vc-gold-deep);
}

.vc-biz .vc-biz__stat-label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--vc-subtle);
}

.vc-biz .vc-biz__stat-value {
	margin-top: 6px;
	font-family: var(--vc-display);
	font-size: clamp(28px, 2.6vw, 36px);
	font-weight: 800;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
	color: var(--vc-forest);
}

.vc-biz .vc-biz__stat-source {
	margin-top: 6px;
	font-size: 13px;
	color: var(--vc-subtle);
}

.vc-biz .vc-biz__note {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin-top: 30px;
	padding: 14px 22px;
	border: 1px solid #ecd9a0;
	border-radius: 16px;
	background: #fdf6e3;
	font-size: 16.5px;
	font-weight: 700;
	color: #7a6220;
}

/* Varian gelap. */
.vc-biz--dark .vc-biz__title {
	color: #fff;
}

.vc-biz--dark .vc-biz__text {
	color: var(--vc-on-dark);
}

.vc-biz--dark .vc-biz__points {
	border-top-color: rgb(255 255 255 / 0.12);
}

.vc-biz--dark .vc-biz__points > li {
	color: #dfe9dd;
}

.vc-biz--dark .vc-biz__points > li::before {
	background: var(--vc-gold);
}

.vc-biz--dark .vc-biz__stat-label {
	color: var(--vc-on-dark-label);
}

.vc-biz--dark .vc-biz__stat-value {
	color: #fff;
}

.vc-biz--dark .vc-biz__stat-source {
	color: var(--vc-on-dark-soft);
}

.vc-biz--dark .vc-biz__note {
	border-color: rgb(255 255 255 / 0.2);
	background: rgb(255 255 255 / 0.08);
	color: #f0e9cf;
}

/* Ajakan penutup terpusat. */
.vc-closing.vc-closing {
	padding-top: clamp(64px, 8vw, 100px);
	padding-bottom: 120px;
	border-top: 1px solid var(--vc-line);
}

.vc-closing > * {
	margin-block: 0;
}

.vc-closing .vc-closing__title {
	font-size: clamp(34px, 3.2vw, 44px);
	line-height: 1.15;
}

.vc-closing .vc-closing__actions {
	gap: 16px;
	margin-top: 36px;
}

/* ------------------------------------------------------------------ */
/* Galeri                                                              */
/* ------------------------------------------------------------------ */

.vc-gallery-page.vc-gallery-page {
	padding-top: 40px;
	padding-bottom: 120px;
}

.vc-photos-block > * {
	margin-block: 0;
}

/* Filter jenis kegiatan. */
.vc-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 44px !important;
}

.vc-filter__item {
	padding: 12px 24px;
	border: 1px solid #dde4d9;
	border-radius: 999px;
	background: #fff;
	font-size: 17px;
	font-weight: 700;
	color: #2c463a;
	text-decoration: none;
	transition:
		background-color 0.2s,
		border-color 0.2s,
		color 0.2s;
}

.vc-filter__item:hover {
	border-color: var(--vc-green);
	background: #eef4ec;
	color: var(--vc-forest);
}

.vc-filter__item.is-active {
	border-color: var(--vc-green);
	background: var(--vc-green);
	color: var(--vc-on-dark-strong);
}

/*
 * Ponsel: satu kolom, tiap foto selebar layar (rasio 4:3).
 * Tablet: dua kolom seragam.
 * Desktop: bento 4 kolom. Pola 9 foto mengisi petak 4×4 tanpa lubang:
 *   1 besar (2×2), 3 & 7 tinggi (1×2), 6 & 8 lebar (2×1), sisanya 1×1.
 * grid-auto-flow: dense menambal lubang di halaman terakhir yang tidak
 * genap 9 foto.
 */
.vc-photos {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
}

.vc-photo {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 20px;
	background: var(--vc-mint);
	aspect-ratio: 4 / 3;
}

@media (min-width: 640px) {
	.vc-photos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 220px;
	}

	.vc-photo {
		aspect-ratio: auto;
	}
}

@media (min-width: 1024px) {
	.vc-photos {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		grid-auto-rows: 190px;
		grid-auto-flow: dense;
	}

	.vc-photo:nth-child(9n + 1) {
		grid-column: span 2;
		grid-row: span 2;
	}

	.vc-photo:nth-child(9n + 3),
	.vc-photo:nth-child(9n + 7) {
		grid-row: span 2;
	}

	.vc-photo:nth-child(9n + 6),
	.vc-photo:nth-child(9n + 8) {
		grid-column: span 2;
	}
}

.vc-photo__open {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: inherit;
	background: none;
	cursor: zoom-in;
}

.vc-photo__open:focus-visible {
	outline: 3px solid var(--vc-gold-deep);
	outline-offset: -3px;
}

.vc-photo__open::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(20 56 42 / 0.9), rgb(20 56 42 / 0.05) 55%, transparent);
	pointer-events: none;
}

.vc-photo__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--vc-ease);
}

.vc-photo:hover .vc-photo__img {
	transform: scale(1.05);
}

.vc-photo__caption {
	position: absolute;
	inset: auto 0 0;
	z-index: 1;
	padding: 16px;
	pointer-events: none;
}

.vc-photo__meta {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--vc-on-dark-soft);
}

.vc-photo__title {
	display: block;
	margin-top: 4px;
	text-wrap: balance;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	color: #fff;
}

.vc-photos-empty {
	padding: 64px 32px;
	border: 1px solid var(--vc-card-line);
	border-radius: 32px;
	background: #fff;
	text-align: center;
	font-size: 18px;
	color: var(--vc-muted);
}

/* Pagination galeri (paginate_links). */
.vc-pagination--gallery {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin-top: 48px !important;
}

.vc-pagination .dots {
	padding: 0 4px;
	color: var(--vc-subtle);
}

.vc-pagination a:hover {
	border-color: var(--vc-green);
	background: #eef4ec;
}

/* Lightbox. */
html.vc-lightbox-open {
	overflow: hidden;
}

/* 100% dari viewport, bukan 100vw: vw ikut menghitung lebar scrollbar
   sehingga tombol di tepi kanan terpotong. */
.vc-lightbox {
	box-sizing: border-box;
	inset: 0;
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	margin: 0;
	padding: 16px;
	border: 0;
	background: transparent;
	overflow: hidden;
}

.vc-lightbox[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}

.vc-lightbox::backdrop {
	background: rgb(20 56 42 / 0.9);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}

.vc-lightbox__figure {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 24px;
}

.vc-lightbox__figure.is-in {
	animation: vc-modal-in 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes vc-modal-in {
	from {
		opacity: 0;
		transform: scale(0.96);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.vc-lightbox__img {
	display: block;
	width: auto;
	height: auto;
	max-width: min(92vw, 1100px);
	max-height: 85dvh;
}

.vc-lightbox__figure::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(20 56 42 / 0.85), transparent 50%);
	pointer-events: none;
}

.vc-lightbox__caption {
	position: absolute;
	inset: auto 0 0;
	z-index: 1;
	padding: clamp(20px, 3vw, 32px);
	text-align: left;
}

.vc-lightbox__meta {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--vc-on-dark-soft);
}

.vc-lightbox__title {
	display: block;
	margin-top: 6px;
	text-wrap: balance;
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 800;
	line-height: 1.3;
	color: #fff;
}

.vc-lightbox__desc {
	display: block;
	max-width: 640px;
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--vc-on-dark);
}

.vc-lightbox__btn {
	position: absolute;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 0.25);
	border-radius: 50%;
	background: rgb(255 255 255 / 0.1);
	color: #fff;
	cursor: pointer;
	transition: background-color 0.2s;
}

.vc-lightbox__btn:hover {
	background: rgb(255 255 255 / 0.2);
}

.vc-lightbox__btn:focus-visible {
	outline: 2px solid var(--vc-gold);
	outline-offset: 2px;
}

.vc-lightbox__btn[hidden] {
	display: none;
}

.vc-lightbox__close {
	top: 16px;
	right: 16px;
}

.vc-lightbox__nav {
	top: 50%;
	transform: translateY(-50%);
}

.vc-lightbox__nav--prev {
	left: 16px;
}

.vc-lightbox__nav--next {
	right: 16px;
}

.vc-lightbox__counter {
	position: absolute;
	bottom: 16px;
	left: 50%;
	margin: 0;
	transform: translateX(-50%);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--vc-on-dark-soft);
}

@media (min-width: 640px) {
	.vc-lightbox {
		padding: 32px;
	}

	.vc-lightbox__close {
		top: 24px;
		right: 24px;
	}

	.vc-lightbox__nav--prev {
		left: 24px;
	}

	.vc-lightbox__nav--next {
		right: 24px;
	}
}

/* ------------------------------------------------------------------ */
/* Artikel — daftar, kategori, pencarian                               */
/* ------------------------------------------------------------------ */

.vc-posts.vc-posts {
	padding-top: 40px;
	padding-bottom: 120px;
}

.vc-posts > * {
	margin-block: 0;
}

/* Bilah filter: chip kategori di kiri, pencarian di kanan. */
.vc-post-filter > *,
.vc-post-filter__bar > * {
	margin-block: 0;
}

.vc-post-filter__bar {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

@media (min-width: 768px) {
	.vc-post-filter__bar {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.vc-filter.vc-filter--inline {
	margin-bottom: 0 !important;
}

.vc-search {
	position: relative;
	margin: 0;
}

.vc-search__icon {
	position: absolute;
	top: 50%;
	left: 18px;
	width: 20px;
	height: 20px;
	color: var(--vc-subtle);
	transform: translateY(-50%);
	pointer-events: none;
}

.vc-search__input {
	box-sizing: border-box;
	width: 100%;
	padding: 14px 24px 14px 48px;
	border: 1px solid #dde4d9;
	border-radius: 999px;
	background: #fff;
	font: inherit;
	font-size: 17px;
	color: var(--vc-ink);
	transition: border-color 0.2s;
}

.vc-search__input::placeholder {
	color: var(--vc-subtle);
}

.vc-search__input:focus {
	border-color: var(--vc-green);
	outline: none;
}

@media (min-width: 768px) {
	.vc-search__input {
		width: 288px;
	}
}

.vc-post-filter .vc-post-filter__summary {
	margin-top: 24px;
	font-size: 16px;
	font-weight: 600;
	color: var(--vc-muted);
}

.vc-post-filter__summary a {
	margin-left: 8px;
	font-weight: 700;
	color: var(--vc-leaf);
}

.vc-posts .vc-posts__query {
	margin-top: 44px;
}

/* Meta: KATEGORI · tanggal. */
.vc-post-meta.vc-post-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	font-size: 13.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--vc-subtle);
}

.vc-post-meta > * {
	margin-block: 0;
}

.vc-post-meta .wp-block-post-terms a {
	position: relative;
	z-index: 2;
	color: var(--vc-green);
	text-decoration: none;
}

.vc-post-meta .wp-block-post-terms:not(:empty) + .wp-block-post-date::before {
	content: "";
	display: inline-block;
	width: 4px;
	height: 4px;
	margin-right: 10px;
	border-radius: 50%;
	background: rgb(104 118 106 / 0.5);
	vertical-align: middle;
}

.vc-post-meta--lg.vc-post-meta--lg {
	font-size: 14px;
}

/* Grid kartu: indeks editorial tanpa bingkai — foto, meta, judul. */
.vc-posts .vc-post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
	gap: 44px 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.vc-post-grid > * {
	margin-block: 0;
}

.vc-post-card.vc-post-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.vc-post-card > *,
.vc-post-card__body > * {
	margin-block: 0;
}

.vc-post-card .vc-post-card__img {
	height: 208px;
	overflow: hidden;
	border-radius: 18px;
	background: var(--vc-mint);
}

.vc-post-card .vc-post-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s var(--vc-ease);
}

.vc-post-card:hover .vc-post-card__img img {
	transform: scale(1.05);
}

.vc-post-card .vc-post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 10px;
	padding-top: 16px;
}

.vc-post-card .vc-post-card__title {
	font-family: var(--vc-body);
	font-size: 19.5px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
	color: var(--vc-forest);
}

.vc-post-card__title a {
	transition: color 0.2s;
}

/* Seluruh kartu bisa diklik lewat tautan judul. */
.vc-post-card__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.vc-post-card:hover .vc-post-card__title a {
	color: var(--vc-green-deep);
}

.vc-post-card:has(.vc-post-card__title a:focus-visible) {
	outline: 2px solid var(--vc-green);
	outline-offset: 6px;
	border-radius: 20px;
}

.vc-post-card__title a:focus-visible {
	outline: none;
}

.vc-post-card .vc-post-card__excerpt {
	font-size: 15.5px;
	line-height: 1.55;
	color: var(--vc-muted-soft);
}

.vc-post-card__excerpt .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

/* Artikel terbaru di halaman 1 daftar utama: foto penuh + teks di atas. */
.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child {
	grid-column: 1 / -1;
	margin-bottom: -4px;
}

/* Kartu yang membentang penuh membuat kolom auto-fit tidak pernah kosong,
   jadi kolom sisa tidak runtuh. Saat kartu di bawahnya sedikit (1–3),
   jumlah kolom disamakan dengan jumlah kartu supaya kartunya melebar. */
@media (min-width: 640px) {
	.blog:not(.paged) .vc-post-grid:not(:has(> :nth-child(3))) {
		grid-template-columns: minmax(0, 1fr);
	}

	.blog:not(.paged) .vc-post-grid:has(> :nth-child(3)):not(:has(> :nth-child(4))) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 960px) {
	.blog:not(.paged) .vc-post-grid:has(> :nth-child(4)):not(:has(> :nth-child(5))) {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-card {
	isolation: isolate;
	justify-content: flex-end;
	min-height: 400px;
	overflow: hidden;
	border-radius: 28px;
	background: var(--vc-forest);
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-card__img {
	position: absolute;
	inset: 0;
	z-index: -1;
	height: auto;
	border-radius: 0;
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-card::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	/* Sedikit lebih pekat dari referensi (0.25) supaya meta di atas foto
	   terang tetap terbaca. */
	background: linear-gradient(to top, rgb(20 56 42 / 0.92), rgb(20 56 42 / 0.45) 55%, rgb(20 56 42 / 0.05));
	pointer-events: none;
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-card__body {
	flex: 0;
	max-width: 640px;
	padding: clamp(32px, 4vw, 40px);
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-meta {
	color: var(--vc-on-dark);
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-meta::before {
	content: "Terbaru";
	margin-right: 4px;
	padding: 4px 12px;
	border-radius: 999px;
	background: var(--vc-gold);
	color: var(--vc-forest);
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-meta .wp-block-post-terms a {
	color: var(--vc-on-dark);
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-card__title {
	margin-top: 6px;
	font-family: var(--vc-display);
	font-size: clamp(26px, 2.8vw, 38px);
	line-height: 1.2;
	color: #fff;
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child:hover .vc-post-card__title a {
	color: #fff;
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .vc-post-card__excerpt {
	font-size: 17px;
	line-height: 1.6;
	color: var(--vc-on-dark);
}

.blog:not(.paged) .vc-post-grid > .wp-block-post:first-child .wp-block-post-excerpt__excerpt {
	-webkit-line-clamp: 3;
	line-clamp: 3;
}

/* Pagination: kotak putih berisi panah dan nomor. */
.vc-pager.vc-pager {
	width: max-content;
	max-width: 100%;
	margin: 64px auto 0;
	padding: 8px;
	gap: 6px;
	border: 1px solid var(--vc-card-line);
	border-radius: 20px;
	background: #fff;
}

.vc-pager .wp-block-query-pagination-numbers {
	display: flex;
	gap: 6px;
}

.vc-pager :is(.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next) {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	margin: 0;
	border-radius: 16px;
	font-size: 17px;
	font-weight: 700;
	color: var(--vc-muted);
	text-decoration: none;
	transition:
		background-color 0.2s,
		color 0.2s;
}

.vc-pager :is(a.page-numbers, .wp-block-query-pagination-previous, .wp-block-query-pagination-next):hover {
	background: var(--vc-mint);
	color: var(--vc-forest);
}

.vc-pager .page-numbers.current {
	background: var(--vc-green);
	color: var(--vc-on-dark-strong);
}

.vc-pager .page-numbers.dots {
	min-width: 24px;
}

/* Blok bawaan memakai « », referensi memakai panah tunggal ‹ ›. */
.vc-pager .wp-block-query-pagination-previous-arrow,
.vc-pager .wp-block-query-pagination-next-arrow {
	margin: 0;
	font-size: 0;
	line-height: 1;
}

.vc-pager .wp-block-query-pagination-previous-arrow::before,
.vc-pager .wp-block-query-pagination-next-arrow::before {
	font-size: 28px;
	font-weight: 600;
}

.vc-pager .wp-block-query-pagination-previous-arrow::before {
	content: "‹";
}

.vc-pager .wp-block-query-pagination-next-arrow::before {
	content: "›";
}

/* Hasil kosong. */
.vc-empty-state.vc-empty-state {
	padding: 80px 32px;
	border: 1px solid var(--vc-card-line);
	border-radius: 32px;
	background: #fff;
	text-align: center;
}

.vc-empty-state > * {
	margin-block: 0;
}

.vc-empty-state .vc-empty-state__title {
	font-size: 24px;
}

.vc-empty-state p {
	margin-top: 8px;
	color: var(--vc-muted);
}

.vc-empty-state .wp-block-buttons {
	margin-top: 24px;
}

/* ------------------------------------------------------------------ */
/* Artikel — detail                                                    */
/* ------------------------------------------------------------------ */

.vc-article.vc-article {
	padding-top: clamp(40px, 6vw, 72px);
	padding-bottom: 120px;
}

.vc-article > *,
.vc-article__head > *,
.vc-related > * {
	margin-block: 0;
}

.vc-article .vc-backlink {
	font-size: 16px;
	font-weight: 700;
}

.vc-backlink a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--vc-leaf);
	text-decoration: none;
	transition:
		gap 0.3s,
		color 0.3s;
}

.vc-backlink a::before {
	content: "←";
}

.vc-backlink a:hover {
	gap: 12px;
	color: var(--vc-green-deep);
}

.vc-article .vc-article__head {
	margin-top: 32px;
}

.vc-article .vc-article__title {
	margin-top: 24px;
	font-size: clamp(32px, 4vw, 52px);
	line-height: 1.1;
	letter-spacing: -0.015em;
}

.vc-article .vc-article__lead {
	margin-top: 20px;
	font-size: 21px;
	line-height: 1.6;
	color: var(--vc-muted);
}

.vc-article__lead .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.vc-article .vc-article__cover {
	margin-top: 36px;
	overflow: hidden;
	border-radius: 26px;
}

.vc-article .vc-article__body {
	margin-top: 40px;
}

.vc-article .vc-related {
	margin-top: 64px;
	padding-top: 48px;
	border-top: 1px solid var(--vc-line);
}

.vc-related .vc-related__title {
	font-size: 24px;
}

.vc-related .vc-related__list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 36px 32px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 640px) {
	.vc-related .vc-related__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.vc-related__list > * {
	margin-block: 0;
}

.vc-post-card--sm .vc-post-card__img {
	height: 176px;
	border-radius: 16px;
}

.vc-post-card--sm .vc-post-card__body {
	gap: 8px;
	padding-top: 14px;
}

.vc-post-card--sm .vc-post-meta {
	font-size: 13px;
}

.vc-post-card.vc-post-card--sm .vc-post-card__title {
	font-size: 18.5px;
}

/* ------------------------------------------------------------------ */
/* Kontak                                                              */
/* ------------------------------------------------------------------ */

.vc-contact.vc-contact {
	padding-top: 40px;
	padding-bottom: 112px;
}

.vc-contact > * {
	margin-block: 0;
}

.vc-contact .vc-contact__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr));
	align-items: start;
	gap: 44px clamp(32px, 5vw, 72px);
}

.vc-contact__grid > *,
.vc-contact-card > *,
.vc-contact__form > * {
	margin-block: 0;
}

/* Panel info: satu panel gelap. */
.vc-contact .vc-contact-card {
	padding: 38px clamp(28px, 3vw, 40px);
	border-radius: 26px;
	background: var(--vc-forest);
}

.vc-contact-card .vc-contact-card__label,
.vc-info-row .vc-info-row__label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--vc-on-dark-label);
}

.vc-contact-card .vc-contact-card__address {
	margin-top: 14px;
	font-family: var(--vc-display);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.35;
	color: #fff;
}

.vc-contact-card .wp-block-buttons {
	margin-top: 26px;
}

.wp-block-button.vc-btn-md .wp-block-button__link {
	padding: 16px 28px;
	font-size: 18px;
}

.vc-contact-card .vc-contact-card__rows {
	margin-top: 32px;
	padding-top: 4px;
	border-top: 1px solid rgb(255 255 255 / 0.12);
}

.vc-contact-card__rows > * {
	margin-block: 0;
}

.vc-contact-card .vc-info-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 16px;
	padding-block: 16px;
}

.vc-info-row + .vc-info-row {
	border-top: 1px solid rgb(255 255 255 / 0.12);
}

.vc-info-row > * {
	margin-block: 0;
}

/* Fluid supaya alamat email muat satu baris di ponsel 375px. */
.vc-info-row .vc-info-row__value {
	font-size: clamp(15px, 4vw, 18px);
	font-weight: 800;
	color: #fff;
	overflow-wrap: anywhere;
}

.vc-info-row__value a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s;
}

.vc-info-row__value a:hover {
	color: var(--vc-gold);
}

/* Kolom formulir. */
.vc-contact .vc-contact__title {
	font-size: 30px;
	line-height: 1.2;
}

.vc-contact .vc-contact__intro {
	max-width: 500px;
	margin-top: 10px;
	font-size: 17px;
	color: var(--vc-muted);
}

.vc-contact-form {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 30px !important;
}

.vc-contact-form > * {
	margin: 0;
}

.vc-field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.vc-field label {
	font-size: 16.5px;
	font-weight: 700;
	color: #3c4a41;
}

.vc-field :is(input, textarea) {
	box-sizing: border-box;
	width: 100%;
	padding: 16px 20px;
	border: 2px solid #dde4d9;
	border-radius: 14px;
	background: var(--vc-panel);
	font: inherit;
	font-size: 18px;
	color: var(--vc-ink);
	transition:
		border-color 0.2s,
		background-color 0.2s;
}

.vc-field textarea {
	min-height: 150px;
	resize: vertical;
}

.vc-field :is(input, textarea)::placeholder {
	color: rgb(104 118 106 / 0.7);
}

.vc-field :is(input, textarea):focus {
	border-color: var(--vc-green);
	outline: none;
	background: #fff;
}

.vc-form-status {
	padding: 16px 20px;
	border: 1px solid transparent;
	border-radius: 14px;
	font-size: 16px;
	font-weight: 600;
}

.vc-form-status[hidden] {
	display: none;
}

.vc-form-status.is-success {
	border-color: #b9d4bd;
	background: var(--vc-mint);
	color: var(--vc-green);
}

.vc-form-status.is-error {
	border-color: #f0c6c1;
	background: #fdeceb;
	color: #a3312a;
}

.vc-form-actions {
	padding-top: 4px;
}

.vc-submit.vc-submit {
	padding: 18px 36px;
	border: 0;
	border-radius: 999px;
	background: var(--vc-green);
	box-shadow: var(--wp--preset--shadow--button);
	font-family: var(--vc-body);
	font-size: 18.5px;
	font-weight: 800;
	color: var(--vc-on-dark-strong);
	cursor: pointer;
	transition:
		transform 0.3s var(--vc-ease),
		background-color 0.3s;
}

.vc-submit:hover:not(:disabled) {
	transform: translateY(-2px);
	background: var(--vc-green-deep);
	color: #fff;
}

.vc-submit:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Kolom jebakan bot: tersembunyi dari pengunjung dan pembaca layar. */
.vck-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Peta. */
.vc-contact .vc-map {
	margin-top: 26px !important;
	overflow: hidden;
	border: 1px solid var(--vc-card-line);
	border-radius: 26px;
}

.vc-map iframe {
	display: block;
	border: 0;
}

/* ------------------------------------------------------------------ */
/* Struktur                                                            */
/* ------------------------------------------------------------------ */

.vc-page-head--center {
	text-align: center;
}

.vc-page-head--center .vc-page-head__title,
.vc-page-head--center .vc-page-head__lead {
	margin-inline: auto;
}

.vc-page-head--center .vc-page-head__lead {
	max-width: 680px;
	font-size: 20px;
}

/* Judul seksi terpusat dengan pengantar pendek. */
.vc-center-head.vc-center-head {
	margin-bottom: 44px;
	text-align: center;
}

.vc-center-head > * {
	margin-block: 0;
}

.vc-center-head .vc-center-head__lead {
	max-width: 500px;
	margin: 12px auto 0;
	font-size: 17px;
	color: var(--vc-muted);
}

/* Bagan: Rapat Anggota → penasihat & pengawas → pengurus. */
.vc-chart.vc-chart {
	padding-top: 30px;
}

.vc-chart > *,
.vc-chart__top > *,
.vc-chart__pair > *,
.vc-chart__card > * {
	margin-block: 0;
}

.vc-chart .vc-chart__top {
	padding: 40px clamp(24px, 5vw, 48px);
	border-radius: 26px;
	background: var(--vc-forest);
	box-shadow: 0 20px 44px rgb(20 56 42 / 0.22);
	text-align: center;
}

.vc-chart__top .vc-chart__label {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--vc-on-dark-label);
}

.vc-chart__top .vc-chart__title {
	margin-top: 12px;
	font-size: 34px;
	color: #fff;
}

.vc-chart__top .vc-chart__note {
	margin-top: 8px;
	font-size: 17px;
	color: var(--vc-on-dark);
}

/* Garis penghubung antartingkatan. */
.wp-block-separator.vc-connector {
	width: 2px;
	height: 48px;
	margin: 0 auto;
	border: 0;
	background: #cbd6c7;
	opacity: 1;
}

.vc-chart .vc-chart__pair {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 24px;
}

.vc-chart .vc-chart__card {
	padding: 34px clamp(24px, 3vw, 38px);
	border: 1px solid var(--vc-card-line);
	border-radius: 32px;
	background: #fff;
}

.vc-chart__card .vc-chart__card-head {
	gap: 12px;
}

.vc-chart__card-head > * {
	margin: 0;
}

.vc-chart__card .vc-chart__card-title {
	font-family: var(--vc-body);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--moss);
}

.vc-chart__card .vc-count-pill {
	padding: 5px 14px;
	border-radius: 999px;
	background: var(--vc-mint);
	font-size: 14px;
	font-weight: 800;
	white-space: nowrap;
	color: var(--vc-green);
}

.vc-chart__card .vc-rows {
	margin-top: 20px;
}

/* Avatar bulat: foto, atau inisial jika belum ada foto. */
.vc-avatar {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	overflow: hidden;
	border-radius: 50%;
	background: var(--vc-mint);
	font-family: var(--vc-display);
	font-size: 20px;
	font-weight: 800;
	color: var(--vc-green);
}

.vc-avatar img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

/* Baris nama + jabatan (pengawas, penasihat, karyawan). */
.vc-rows,
.vc-staff {
	margin: 0;
	padding: 0;
	list-style: none;
}

.vc-rows {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.vc-person-row {
	display: flex;
	align-items: center;
	gap: 16px;
}

.vc-person-row .vc-person-line {
	min-width: 0;
	margin: 0;
	line-height: 1.4;
}

.vc-person-line__name {
	display: block;
	font-size: 19px;
	font-weight: 800;
	color: var(--vc-forest);
}

.vc-person-line__role {
	display: block;
	font-size: 15.5px;
	color: var(--vc-subtle);
}

/* Pengurus. */
.vc-board-section.vc-board-section {
	padding-block: clamp(56px, 7vw, 90px);
	border-block: 1px solid var(--vc-line);
	background: var(--vc-panel);
}

.vc-board-section > * {
	margin-block: 0;
}

.vc-board-section .vc-board {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr));
	gap: 36px 20px;
	padding-top: 40px;
	border-top: 1px solid var(--vc-card-line);
}

.vc-board__person {
	text-align: center;
}

.vc-board__person > * {
	margin-block: 0;
}

.vc-avatar.vc-avatar--lg {
	width: 104px;
	height: 104px;
	margin-inline: auto;
	font-size: 32px;
	box-shadow:
		0 0 0 4px var(--vc-panel),
		0 0 0 6px var(--vc-card-line);
}

.vc-board__person .vc-board__name {
	margin-top: 18px;
	font-family: var(--vc-body);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--vc-forest);
}

.vc-board__person .vc-board__role {
	margin-top: 6px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--vc-subtle);
}

/* Ketua: emas yang digelapkan supaya teks kecil tetap terbaca (≥ 4.5:1). */
.vc-board__person.is-first .vc-board__role {
	color: #85691f;
}

/* Staf dan karyawan. */
.vc-staff-section.vc-staff-section {
	padding-top: clamp(64px, 8vw, 100px);
	padding-bottom: 120px;
}

.vc-staff-section > * {
	margin-block: 0;
}

.vc-staff-section .vc-staff {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	column-gap: 32px;
}

.vc-staff .vc-person-row {
	gap: 14px;
	padding-block: 12px;
	border-bottom: 1px solid var(--vc-card-line);
}

.vc-staff .vc-avatar {
	width: 52px;
	height: 52px;
	font-size: 17px;
}

.vc-staff .vc-person-line__name {
	font-size: 16.5px;
}

.vc-staff .vc-person-line__role {
	font-size: 14px;
}

/* Kartu foto besar (Tentang): span pembungkus foto, atau inisial.
   height:auto mengalahkan atribut height dari wp_get_attachment_image
   supaya aspect-ratio 1 berlaku. */
.vc-person .vc-person__photo {
	display: block;
}

.vc-person .vc-person__photo img {
	height: auto;
}

.vc-person .vc-person__photo--initials {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	background: var(--vc-mint);
	font-family: var(--vc-display);
	font-size: 56px;
	font-weight: 800;
	color: var(--vc-green);
}

/* ------------------------------------------------------------------ */
/* Ponsel — penyempurnaan                                              */
/* ------------------------------------------------------------------ */

/* Bagian teks yang tidak boleh patah baris (lihat
   village_coop_breakable_slashes). */
.vc-nowrap {
	white-space: nowrap;
}

/* Tautan teks kecil: area sentuh diperbesar dengan padding. Pada elemen
   inline, padding vertikal tidak menggeser baris. */
.vc-info-row__value a,
.vc-footer__small a {
	padding-block: 11px;
}

.vc-backlink a {
	margin-block: -12px;
	padding-block: 12px;
}

/* Kategori di meta kartu artikel: sedikit saja, supaya tidak menutupi
   judul (yang membuka artikel). */
.vc-post-meta .wp-block-post-terms a {
	padding-block: 8px;
}

/* Peta ponsel (.is-plain, dipasang skrip di pola Kontak): peta Google
   tanpa kartu tempat, berpusat tepat di kantor. Penanda dan label kantor
   digambar tema di titik tengah; seluruh peta menjadi tautan ke Google
   Maps supaya tidak menjebak gulir halaman di layar sentuh. Atribusi
   Google tetap terlihat. */
.vc-map__open {
	display: none;
}

.vc-map.is-plain {
	position: relative;
}

.vc-map.is-plain .vc-map__open {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: block;
}

.vc-map.is-plain .vc-map__open::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 34px;
	height: 44px;
	transform: translate(-50%, -100%);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 44'%3E%3Cpath d='M17 43C17 43 32 27.6 32 16.5A15 15 0 0 0 2 16.5C2 27.6 17 43 17 43Z' fill='%231e5c43' stroke='%23fff' stroke-width='2.5'/%3E%3Ccircle cx='17' cy='16.5' r='6' fill='%23f0c94f'/%3E%3C/svg%3E") center / contain no-repeat;
	filter: drop-shadow(0 4px 6px rgb(20 56 42 / 0.35));
}

.vc-map.is-plain .vc-map__open::after {
	content: attr(data-label);
	position: absolute;
	top: calc(50% + 6px);
	left: 50%;
	transform: translateX(-50%);
	padding: 5px 12px;
	border-radius: 999px;
	background: var(--vc-forest);
	box-shadow: 0 4px 12px rgb(20 56 42 / 0.25);
	white-space: nowrap;
	font-size: 13px;
	font-weight: 800;
	color: #fff;
}

/* Tombol peta di bawah peta Kontak. */
.vc-contact .vc-map__actions {
	margin-top: 22px;
}

@media (max-width: 639px) {
	/* Kontak: tombol kirim selebar formulir; peta lebih pendek supaya
	   tidak memenuhi layar dan menjebak gulir. */
	.vc-submit.vc-submit {
		width: 100%;
		min-height: 56px;
		padding: 16px 24px;
		font-size: 17.5px;
	}

	.vc-map iframe {
		height: 380px;
	}

	/* Beranda: empat foto galeri jadi petak 2×2, bukan empat foto
	   selebar layar yang ditumpuk. */
	.vc-gallery .vc-gallery__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.vc-gallery__item a {
		height: auto;
		aspect-ratio: 4 / 5;
		border-radius: 16px;
	}

	/* Tentang: kartu pengurus dua kolom. */
	.vc-team .vc-team__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 14px;
	}

	.vc-person .vc-person__photo {
		border-radius: 20px;
	}

	.vc-person .vc-person__name {
		margin-top: 12px;
		font-size: 16.5px;
	}

	.vc-person .vc-person__role {
		font-size: 11.5px;
		letter-spacing: 0.08em;
	}

	/* Tentang: kutipan visi tidak sebesar layar desktop. */
	.vc-vision__quote p {
		font-size: 24px;
		line-height: 1.34;
	}

	.vc-vision .vc-vision__motto {
		font-size: 19px;
	}

	/* Bidang Usaha: navigasi lompat jadi daftar baris selebar layar yang
	   mudah disentuh (dua kolom terlalu sempit: nama unit patah 3 baris). */
	.wp-block-navigation.vc-jump .wp-block-navigation__container {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 8px;
	}

	.wp-block-navigation.vc-jump .wp-block-navigation-item__content {
		display: flex;
		align-items: center;
		gap: 12px;
		width: 100%;
		min-height: 50px;
		padding: 10px 16px;
		border: 1px solid var(--vc-card-line);
		border-radius: 14px;
		background: #fff;
		font-size: 15px;
		line-height: 1.3;
	}

	.wp-block-navigation.vc-jump .wp-block-navigation-item__content:hover {
		border-color: var(--vc-gold-deep);
	}
}
