/* ==========================================================================
   CTC Landing Blocks — gaya front-end & editor
   Acuan desain: lebar 1440px. Angka pada calc(var(--ctc-u) * N) = px di 1440,
   lalu menyusut proporsional di layar lebih kecil (dengan batas minimum).
   Selector memakai kelas ganda (.a.a) supaya tidak kalah oleh CSS tema.
   ========================================================================== */

:root {
	--ctc-font: "CTC Montserrat", "Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ctc-u: min(calc(100vw / 1440), 1px);
	--ctc-accent: #f15a22;
	--ctc-accent-dark: #d9440f;
	--ctc-field: #f2f2f2;
	--ctc-footer: #1a1a1a;
	--ctc-gutter: max(20px, calc(var(--ctc-u) * 83));
}

/* --------------------------------------------------------------------------
   Section
   -------------------------------------------------------------------------- */
.ctc-section.ctc-section {
	--ctc-pt: 80;
	--ctc-pb: 80;
	--ctc-heading-color: #000;
	--ctc-sub-color: #3d3d3d;
	--ctc-text-color: #222;
	--ctc-display-color: #111;
	--ctc-soft-heading-color: #4a4a4a;
	--ctc-subtle-heading-color: #333;
	--ctc-muted-color: #5c5c5c;
	--ctc-link-color: #222;
	--ctc-legal-color: #6f6f6f;
	--ctc-line-color: #e3e3e3;
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-height: calc(var(--ctc-u) * var(--ctc-minh, 0));
	margin-top: 0;
	margin-bottom: 0;
	padding-top: max(calc(var(--ctc-pt) * 0.45px), calc(var(--ctc-u) * var(--ctc-pt)));
	padding-bottom: max(calc(var(--ctc-pb) * 0.45px), calc(var(--ctc-u) * var(--ctc-pb)));
	padding-left: 0;
	padding-right: 0;
	background-color: #fff;
	color: var(--ctc-text-color);
	font-family: var(--ctc-font);
	font-size: 16px;
	line-height: 1.5;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.ctc-section.ctc-section--soft {
	background-color: var(--ctc-soft-bg, #f6f6f6);
}

.ctc-section.ctc-section--dark,
.ctc-section.ctc-section--flame-rise,
.ctc-section.ctc-section--flame-fall,
.ctc-section.ctc-section--footer {
	--ctc-heading-color: #fff;
	--ctc-sub-color: rgba(255, 255, 255, 0.72);
	--ctc-text-color: rgba(255, 255, 255, 0.86);
	--ctc-display-color: rgba(255, 255, 255, 0.82);
	--ctc-soft-heading-color: #ffc9a3;
	--ctc-subtle-heading-color: #cfcfcf;
	--ctc-muted-color: #9b9b9b;
	--ctc-link-color: #f2f2f2;
	--ctc-legal-color: #8c8c8c;
	--ctc-line-color: #2f2f2f;
	background-color: var(--ctc-dark-bg, #000);
}

.ctc-section.ctc-section--flame-rise {
	--ctc-text-color: #fff;
}

.ctc-section.ctc-section--footer {
	--ctc-text-color: #fff;
	background-color: var(--ctc-footer);
}

.ctc-section.ctc-section--flame-rise,
.ctc-section.ctc-section--flame-fall,
.ctc-section.ctc-section--has-media {
	overflow: hidden;
}

.ctc-section.ctc-section--valign-center {
	justify-content: center;
}

.ctc-section.ctc-section--valign-end {
	justify-content: flex-end;
}

.ctc-section--valign-between > .ctc-section__inner {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: space-between;
}

.ctc-section--text-center {
	text-align: center;
}

.ctc-section--text-right {
	text-align: right;
}

/* Lebar kontainer. Nilai kustom dikirim inline sebagai --ctc-maxw. */
.ctc-section--w-narrow {
	--ctc-maxw: 900px;
}

.ctc-section--w-wide {
	--ctc-maxw: 1400px;
}

.ctc-section__inner.ctc-section__inner {
	position: relative;
	box-sizing: border-box;
	width: min(100% - 2 * var(--ctc-gutter), var(--ctc-maxw, 1274px));
	max-width: none;
	margin-left: auto;
	margin-right: auto;
}

.ctc-section--w-full > .ctc-section__inner.ctc-section__inner {
	width: 100%;
}

.ctc-section__inner > :first-child {
	margin-top: 0;
}

.ctc-section__inner > :last-child {
	margin-bottom: 0;
}

/* Gambar latar + overlay */
.ctc-section__media {
	position: absolute;
	inset: 0;
	z-index: -2;
	overflow: hidden;
}

.ctc-section__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: var(--ctc-bg-pos, 50% 50%);
}

.ctc-section__overlay {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--ctc-overlay-color, #000);
	opacity: var(--ctc-overlay-opacity, 0.5);
	pointer-events: none;
}

/* Efek api */
.ctc-flame {
	position: absolute;
	inset: 0;
	z-index: -1;
	overflow: hidden;
	pointer-events: none;
	opacity: var(--ctc-flame-opacity, 1);
}

.ctc-flame__svg {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}

.ctc-flame--fall .ctc-flame__svg {
	transform: scaleY(-1);
}

.ctc-flame.is-animated .ctc-flame__svg {
	transform-origin: 50% 100%;
	animation: ctc-flame-rise 7s ease-in-out infinite alternate;
	will-change: transform;
}

.ctc-flame--fall.is-animated .ctc-flame__svg {
	transform-origin: 50% 0;
	animation-name: ctc-flame-fall;
}

@keyframes ctc-flame-rise {
	from { transform: scale(1, 1); }
	to { transform: scale(1.02, 1.07); }
}

@keyframes ctc-flame-fall {
	from { transform: scale(1, -1); }
	to { transform: scale(1.02, -1.07); }
}

@media (prefers-reduced-motion: reduce) {
	.ctc-flame.is-animated .ctc-flame__svg {
		animation: none;
	}
}

/* --------------------------------------------------------------------------
   Grid & kolom
   -------------------------------------------------------------------------- */
.ctc-grid.ctc-grid {
	--ctc-gap-x: 71;
	--ctc-gap-y: 40;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: var(--ctc-cols, minmax(0, 1fr) minmax(0, 1fr));
	align-items: start;
	column-gap: max(calc(var(--ctc-gap-x) * 0.35px), calc(var(--ctc-u) * var(--ctc-gap-x)));
	row-gap: max(calc(var(--ctc-gap-y) * 0.5px), calc(var(--ctc-u) * var(--ctc-gap-y)));
	margin-top: 0;
	margin-bottom: 0;
}

.ctc-grid.ctc-grid--align-center { align-items: center; }
.ctc-grid.ctc-grid--align-end { align-items: end; }
.ctc-grid.ctc-grid--align-stretch { align-items: stretch; }

.ctc-column.ctc-column {
	--ctc-pad: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: var(--ctc-flex-dir, column);
	flex-wrap: var(--ctc-flex-wrap, nowrap);
	justify-content: var(--ctc-flex-justify, flex-start);
	align-items: var(--ctc-flex-align, stretch);
	gap: calc(var(--ctc-flex-gap, 0) * 1px);
	min-width: 0;
	margin: 0;
	padding: max(calc(var(--ctc-pad) * 0.5px), calc(var(--ctc-u) * var(--ctc-pad)));
}

.ctc-column > * {
	margin-top: 0;
	margin-bottom: 0;
}

.ctc-column.ctc-column--v-start,
.ctc-column.ctc-column--v-center,
.ctc-column.ctc-column--v-end,
.ctc-column.ctc-column--v-between {
	align-self: stretch;
}

.ctc-column--v-center { --ctc-flex-justify: center; }
.ctc-column--v-end { --ctc-flex-justify: flex-end; }
.ctc-column--v-between { --ctc-flex-justify: space-between; }

.ctc-column.ctc-column--card,
.ctc-column.ctc-column--card-dark,
.ctc-column.ctc-column--outline {
	border-radius: var(--ctc-card-radius, 16px);
}

.ctc-column.ctc-column--card {
	background: #fff;
	color: #222;
	box-shadow: 10px 10px 44px rgba(0, 0, 0, 0.1);
}

.ctc-column.ctc-column--card-dark {
	background: #111;
	color: #fff;
}

.ctc-column.ctc-column--outline {
	box-shadow: inset 0 0 0 1px var(--ctc-line-color, #e3e3e3);
}

@media (max-width: 1024px) {
	.ctc-grid.ctc-grid--tablet-1 {
		grid-template-columns: minmax(0, 1fr);
	}

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

	.ctc-grid.ctc-grid--tablet-1.ctc-grid--reverse {
		display: flex;
		flex-direction: column-reverse;
		align-items: stretch;
	}
}

@media (max-width: 780px) {
	.ctc-grid.ctc-grid--mobile-1 {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}

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

	.ctc-grid.ctc-grid--mobile-1.ctc-grid--reverse {
		display: flex;
		flex-direction: column-reverse;
		align-items: stretch;
	}
}

/* --------------------------------------------------------------------------
   Tipografi: judul
   -------------------------------------------------------------------------- */
.ctc-heading.ctc-heading {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--ctc-font-heading, var(--ctc-font));
	font-style: normal;
	text-transform: none;
	color: var(--ctc-heading-color, #000);
	overflow-wrap: break-word;
	font-size: max(calc(20px * var(--ctc-h-scale, 1)), calc(var(--ctc-u) * 23 * var(--ctc-h-scale, 1)));
	font-weight: 600;
	line-height: 1.261;
	letter-spacing: 0.06em;
}

.ctc-heading__title,
.ctc-heading__sub {
	display: block;
}

.ctc-heading__sub {
	font-weight: 300;
	color: var(--ctc-sub-color, #3d3d3d);
}


.ctc-heading.ctc-heading--display {
	font-size: max(calc(21px * var(--ctc-h-scale, 1)), calc(var(--ctc-u) * 36 * var(--ctc-h-scale, 1)));
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0.238em;
	text-transform: uppercase;
	color: var(--ctc-display-color, #111);
}

/* Imbangi letter-spacing di ujung baris supaya teks benar-benar di tengah. */
.ctc-heading.ctc-heading--display.has-text-align-center {
	padding-left: 0.238em;
}

.ctc-heading.ctc-heading--large {
	font-size: max(calc(30px * var(--ctc-h-scale, 1)), calc(var(--ctc-u) * 52 * var(--ctc-h-scale, 1)));
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: 0.01em;
}

.ctc-heading.ctc-heading--light {
	font-size: max(calc(18px * var(--ctc-h-scale, 1)), calc(var(--ctc-u) * 23 * var(--ctc-h-scale, 1)));
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.062em;
	color: var(--ctc-soft-heading-color, #4a4a4a);
}

.ctc-heading.ctc-heading--card {
	font-size: max(calc(19px * var(--ctc-h-scale, 1)), calc(var(--ctc-u) * 22 * var(--ctc-h-scale, 1)));
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.021em;
}

.ctc-heading.ctc-heading--label {
	font-size: max(calc(12px * var(--ctc-h-scale, 1)), calc(var(--ctc-u) * 12.5 * var(--ctc-h-scale, 1)));
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.057em;
	text-transform: uppercase;
}

.ctc-heading.ctc-heading--footer-title {
	font-size: max(calc(13px * var(--ctc-h-scale, 1)), calc(var(--ctc-u) * 14 * var(--ctc-h-scale, 1)));
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	color: var(--ctc-subtle-heading-color, #333);
}

/* --------------------------------------------------------------------------
   Tipografi: paragraf
   -------------------------------------------------------------------------- */
.ctc-text.ctc-text {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-family: var(--ctc-font);
	color: var(--ctc-text-color, #222);
	overflow-wrap: break-word;
	font-size: max(calc(14px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 14.75 * var(--ctc-t-scale, 1)));
	font-weight: 400;
	line-height: 1.817;
	letter-spacing: 0.08em;
}

/* Perataan (selector lebih spesifik dari reset margin di atas). */
.ctc-heading.ctc-heading.has-text-align-left,
.ctc-text.ctc-text.has-text-align-left {
	text-align: left;
}

.ctc-heading.ctc-heading.has-text-align-center,
.ctc-text.ctc-text.has-text-align-center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.ctc-heading.ctc-heading.has-text-align-right,
.ctc-text.ctc-text.has-text-align-right {
	margin-left: auto;
	margin-right: 0;
	text-align: right;
}

.ctc-text.ctc-text.has-text-align-justify {
	text-align: justify;
	-webkit-hyphens: manual;
	hyphens: manual;
}

.ctc-text :where(a),
.ctc-heading :where(a) {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.ctc-text.ctc-text--lead {
	font-size: max(calc(15px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 18 * var(--ctc-t-scale, 1)));
	line-height: 1.645;
	letter-spacing: 0.03em;
}

.ctc-text.ctc-text--hero {
	font-size: max(calc(13px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 16 * var(--ctc-t-scale, 1)));
	line-height: 1.5;
	letter-spacing: 0.058em;
}

.ctc-text.ctc-text--band {
	font-size: max(calc(13px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 14.75 * var(--ctc-t-scale, 1)));
	font-weight: 400;
	line-height: 1.83;
	letter-spacing: 0.075em;
}

.ctc-text.ctc-text--card {
	font-size: max(calc(15px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 17 * var(--ctc-t-scale, 1)));
	line-height: 1.17;
	letter-spacing: 0.01em;
}

.ctc-text.ctc-text--note {
	font-size: max(calc(13px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 14.8 * var(--ctc-t-scale, 1)));
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
}

.ctc-text.ctc-text--small {
	font-size: max(calc(11.5px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 12.5 * var(--ctc-t-scale, 1)));
	line-height: 1.23;
	letter-spacing: 0;
}

.ctc-text.ctc-text--footer {
	font-size: max(calc(11.5px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 12 * var(--ctc-t-scale, 1)));
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.01em;
}

.ctc-text.ctc-text--address {
	font-size: max(calc(12.5px * var(--ctc-t-scale, 1)), calc(var(--ctc-u) * 13.5 * var(--ctc-t-scale, 1)));
	line-height: 1.43;
	letter-spacing: 0.012em;
	color: var(--ctc-muted-color, #5c5c5c);
}

@media (max-width: 780px) {
	/* Teks rata kanan-kiri di layar sempit menimbulkan spasi renggang. */
	.ctc-text.ctc-text.has-text-align-justify {
		text-align: left;
	}
}

@media (max-width: 520px) {
	.ctc-heading.ctc-heading--display {
		font-size: 19px;
		letter-spacing: 0.12em;
	}

	.ctc-heading.ctc-heading--display.has-text-align-center {
		padding-left: 0.12em;
	}
}

/* --------------------------------------------------------------------------
   Logo / gambar tunggal
   -------------------------------------------------------------------------- */
.ctc-logo.ctc-logo {
	--ctc-logo-w: 200;
	display: flex;
	justify-content: flex-start;
	margin: 0;
	line-height: 0;
}

.ctc-logo.ctc-logo--center { justify-content: center; }
.ctc-logo.ctc-logo--right { justify-content: flex-end; }

.ctc-logo a {
	display: inline-block;
	line-height: 0;
}

.ctc-logo img {
	display: block;
	width: max(calc(var(--ctc-logo-w) * 0.5px), calc(var(--ctc-u) * var(--ctc-logo-w)));
	max-width: 100%;
	height: auto;
	margin: 0;
}

@media (max-width: 780px) {
	.ctc-logo.has-mobile-width img {
		width: calc(var(--ctc-logo-wm) * 1px);
	}
}

/* --------------------------------------------------------------------------
   Kartu gambar (peta / ilustrasi)
   -------------------------------------------------------------------------- */
.ctc-media-card.ctc-media-card {
	--ctc-radius: 10;
	position: relative;
	box-sizing: border-box;
	margin-top: 0;
	margin-bottom: 0;
}

.ctc-media-card.ctc-media-card--center {
	margin-left: auto;
	margin-right: auto;
}

.ctc-media-card.ctc-media-card--right {
	margin-left: auto;
}

.ctc-media-card__frame {
	position: relative;
	overflow: hidden;
	border-radius: max(calc(var(--ctc-radius) * 0.6px), calc(var(--ctc-u) * var(--ctc-radius)));
	background: var(--ctc-media-bg, #17181c);
	line-height: 0;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ctc-media-card img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	border-radius: 0;
}

.ctc-media-card.has-ratio img {
	height: auto;
	aspect-ratio: var(--ctc-ratio);
	object-fit: cover;
	object-position: var(--ctc-focus, 50% 50%);
}

.ctc-media-card a {
	display: block;
}

.ctc-media-card.has-shadow .ctc-media-card__frame {
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
}

.ctc-media-card__caption {
	position: absolute;
	left: max(12px, calc(var(--ctc-u) * 24));
	bottom: max(10px, calc(var(--ctc-u) * 20));
	right: max(12px, calc(var(--ctc-u) * 24));
	margin: 0;
	font-family: var(--ctc-font);
	font-size: max(9px, calc(var(--ctc-u) * 10));
	font-style: italic;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.85);
	pointer-events: none;
}

.ctc-media-card__caption.ctc-media-card__caption--below {
	position: static;
	margin-top: 10px;
	color: var(--ctc-muted-color, #5c5c5c);
	font-size: max(12px, calc(var(--ctc-u) * 13));
	font-style: normal;
	line-height: 1.5;
	pointer-events: auto;
}

/* --------------------------------------------------------------------------
   Strip logo partner
   -------------------------------------------------------------------------- */
.ctc-logo-strip.ctc-logo-strip {
	--ctc-logo-h: 56;
	--ctc-strip-gap: 77;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: max(22px, calc(var(--ctc-u) * var(--ctc-strip-gap)));
	margin: 0;
	padding: 0;
	list-style: none;
}

.ctc-logo-strip.ctc-logo-strip--start { justify-content: flex-start; }
.ctc-logo-strip.ctc-logo-strip--between { justify-content: space-between; }
.ctc-logo-strip.ctc-logo-strip--evenly { justify-content: space-evenly; }

.ctc-logo-strip__item {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	line-height: 0;
}

.ctc-logo-strip__item::before,
.ctc-logo-strip__item::marker {
	content: none;
}

.ctc-logo-strip__item a {
	display: block;
	line-height: 0;
}

.ctc-logo-strip__item img {
	display: block;
	width: auto;
	max-width: 100%;
	height: max(calc(var(--h, var(--ctc-logo-h)) * 0.55px), calc(var(--ctc-u) * var(--h, var(--ctc-logo-h))));
	margin: 0;
	object-fit: contain;
}

.ctc-logo-strip--grayscale img {
	filter: grayscale(1);
	opacity: 0.75;
	transition: filter 0.25s ease, opacity 0.25s ease;
}

.ctc-logo-strip--grayscale a:hover img,
.ctc-logo-strip--grayscale a:focus-visible img {
	filter: none;
	opacity: 1;
}

@media (max-width: 780px) {
	.ctc-logo-strip.ctc-logo-strip {
		column-gap: 28px;
		row-gap: 22px;
	}
}

/* --------------------------------------------------------------------------
   Daftar poin (deliverables)
   -------------------------------------------------------------------------- */
.ctc-feature-list.ctc-feature-list {
	--ctc-item-gap: 27.5;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--ctc-font);
	font-size: max(14px, calc(var(--ctc-u) * 14.75));
	font-weight: 400;
	line-height: 1.763;
	letter-spacing: 0.08em;
	color: var(--ctc-list-color, var(--ctc-text-color, #2e2e2e));
}

.ctc-section--light .ctc-feature-list,
.ctc-section--soft .ctc-feature-list {
	--ctc-list-color: #2b2b2b;
}

.ctc-feature-list .ctc-feature-list__item {
	position: relative;
	margin: 0;
	padding: 0 0 0 max(14px, calc(var(--ctc-u) * 17.4));
	list-style: none;
}

.ctc-feature-list .ctc-feature-list__item::marker {
	content: none;
}

.ctc-feature-list .ctc-feature-list__item + .ctc-feature-list__item {
	margin-top: max(16px, calc(var(--ctc-u) * var(--ctc-item-gap)));
}

.ctc-feature-list__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: calc(0.9em - 1.5px);
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: currentColor;
}

.ctc-feature-list--check .ctc-feature-list__item::before {
	top: 0.42em;
	width: 0.72em;
	height: 0.72em;
	border-radius: 0;
	background: var(--ctc-accent);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.ctc-feature-list--check .ctc-feature-list__item {
	padding-left: max(22px, calc(var(--ctc-u) * 26));
}

.ctc-feature-list--number {
	counter-reset: ctc-feature;
}

.ctc-feature-list--number .ctc-feature-list__item {
	counter-increment: ctc-feature;
	padding-left: max(24px, calc(var(--ctc-u) * 30));
}

.ctc-feature-list--number .ctc-feature-list__item::before {
	content: counter(ctc-feature, decimal-leading-zero);
	top: 0;
	width: auto;
	height: auto;
	border-radius: 0;
	background: none;
	color: var(--ctc-accent);
	font-weight: 600;
	letter-spacing: 0;
}

.ctc-feature-list--none .ctc-feature-list__item {
	padding-left: 0;
}

.ctc-feature-list--none .ctc-feature-list__item::before {
	content: none;
}

.ctc-feature-list__title,
.ctc-feature-list__desc {
	display: block;
}

/* --------------------------------------------------------------------------
   Tombol
   -------------------------------------------------------------------------- */
.ctc-button.ctc-button {
	display: flex;
	margin: 0;
}

.ctc-button.ctc-button--center { justify-content: center; }
.ctc-button.ctc-button--right { justify-content: flex-end; }

/*
 * Tombol memakai variabel: varian (--_*) memberi nilai bawaan, pengaturan blok
 * (--ctc-btn-*) menimpanya. :not(#ctc-x) menambah bobot selector agar gaya
 * tombol tema (mis. button:not(:hover)…) tidak menimpa.
 */
.ctc-btn.ctc-btn:not(#ctc-x) {
	--_bg: #000;
	--_fg: #fff;
	--_bc: transparent;
	--_bw: 0px;
	--_hbg: #262626;
	--_hfg: #fff;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
	width: auto;
	min-height: var(--ctc-btn-minh, max(42px, calc(var(--ctc-u) * 45.5)));
	margin: 0;
	padding: var(--ctc-btn-pad, 0 max(22px, calc(var(--ctc-u) * 28)));
	border-width: var(--ctc-btn-bw, var(--_bw));
	border-style: solid;
	border-color: var(--ctc-btn-bc, var(--_bc));
	border-radius: var(--ctc-btn-radius, max(11px, calc(var(--ctc-u) * 13)));
	outline: none;
	background: var(--ctc-btn-bg, var(--_bg));
	box-shadow: var(--ctc-btn-shadow, none);
	color: var(--ctc-btn-fg, var(--_fg));
	font-family: var(--ctc-font);
	font-size: var(--ctc-btn-fs, max(17px, calc(var(--ctc-u) * 21)));
	font-weight: var(--ctc-btn-fw, 600);
	line-height: 1;
	letter-spacing: var(--ctc-btn-ls, 0.01em);
	text-transform: var(--ctc-btn-tt, none);
	text-decoration: none;
	text-shadow: none;
	cursor: pointer;
	transition-property: background-color, color, border-color, box-shadow, transform;
	transition-duration: var(--ctc-btn-dur, 0.2s);
	transition-timing-function: ease;
}

.ctc-btn.ctc-btn:not(#ctc-x):hover,
.ctc-btn.ctc-btn:not(#ctc-x):focus {
	background: var(--ctc-btn-hbg, var(--_hbg));
	border-color: var(--ctc-btn-hbc, var(--ctc-btn-bc, var(--_bc)));
	color: var(--ctc-btn-hfg, var(--_hfg));
	text-decoration: none;
}

.ctc-btn.ctc-btn:not(#ctc-x):active {
	transform: translateY(1px);
}

.ctc-btn.ctc-btn:not(#ctc-x):focus-visible {
	outline: 2px solid var(--ctc-accent);
	outline-offset: 3px;
}

.ctc-btn.ctc-btn--accent:not(#ctc-x) {
	--_bg: var(--ctc-accent);
	--_hbg: var(--ctc-accent-dark);
}

.ctc-btn.ctc-btn--light:not(#ctc-x) {
	--_bg: #fff;
	--_fg: #000;
	--_hbg: #ececec;
	--_hfg: #000;
}

.ctc-btn.ctc-btn--outline:not(#ctc-x) {
	--_bg: transparent;
	--_fg: #111;
	--_bc: currentColor;
	--_bw: 1.5px;
	--_hbg: rgba(127, 127, 127, 0.14);
	--_hfg: #111;
}

.ctc-section--dark .ctc-btn.ctc-btn--outline:not(#ctc-x),
.ctc-section--flame-rise .ctc-btn.ctc-btn--outline:not(#ctc-x),
.ctc-section--flame-fall .ctc-btn.ctc-btn--outline:not(#ctc-x),
.ctc-section--footer .ctc-btn.ctc-btn--outline:not(#ctc-x) {
	--_fg: #fff;
	--_hfg: #fff;
}

.ctc-btn.ctc-btn--sm:not(#ctc-x) {
	min-height: var(--ctc-btn-minh, 36px);
	padding: var(--ctc-btn-pad, 0 18px);
	border-radius: var(--ctc-btn-radius, 9px);
	font-size: var(--ctc-btn-fs, 15px);
}

.ctc-btn.ctc-btn--lg:not(#ctc-x) {
	min-height: var(--ctc-btn-minh, max(48px, calc(var(--ctc-u) * 56)));
	padding: var(--ctc-btn-pad, 0 max(26px, calc(var(--ctc-u) * 36)));
}

/* Efek hover */
.ctc-btn.ctc-btn--fx-lift:not(#ctc-x):hover {
	transform: translateY(-2px);
	box-shadow: var(--ctc-btn-shadow-hover, 0 10px 24px rgba(0, 0, 0, 0.18));
}

.ctc-btn.ctc-btn--fx-grow:not(#ctc-x):hover {
	transform: scale(1.04);
}

.ctc-btn.ctc-btn--fx-glow:not(#ctc-x):hover {
	box-shadow: 0 0 0 4px rgba(241, 90, 34, 0.25);
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--ctc-btn-hbg, var(--_hbg)) 30%, transparent);
}

.ctc-btn.ctc-btn--fx-underline:not(#ctc-x):hover .ctc-btn__label {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.ctc-btn.ctc-btn--fx-slide:not(#ctc-x):hover .ctc-btn__icon {
	transform: translateX(4px);
}

.ctc-btn.has-icon-left.ctc-btn--fx-slide:not(#ctc-x):hover .ctc-btn__icon {
	transform: translateX(-4px);
}

.ctc-btn__icon {
	display: block;
	flex: none;
	width: 1em;
	height: 1em;
	transition: transform 0.2s ease;
}

.ctc-btn.ctc-btn--block:not(#ctc-x),
.ctc-form--btn-full .ctc-btn.ctc-btn:not(#ctc-x) {
	width: 100%;
}

.ctc-button.ctc-button--block {
	display: block;
}

/* --------------------------------------------------------------------------
   Form lead
   -------------------------------------------------------------------------- */
.ctc-form.ctc-form {
	--ctc-form-w: 473;
	position: relative;
	box-sizing: border-box;
	margin: 0;
	font-family: var(--ctc-font);
	color: #111;
	text-align: left;
}

.ctc-form.ctc-form--card {
	padding: max(28px, calc(var(--ctc-u) * 59.6)) 0 max(28px, calc(var(--ctc-u) * 46.7)) max(24px, calc(var(--ctc-u) * 58));
	border-radius: var(--ctc-card-radius, max(12px, calc(var(--ctc-u) * 16)));
	background: #fff;
	box-shadow: var(--ctc-form-shadow, 10px 6px 42px rgba(0, 0, 0, 0.11), 0 0 6px rgba(0, 0, 0, 0.025));
}

.ctc-form__body {
	box-sizing: border-box;
	width: 100%;
	max-width: max(280px, calc(var(--ctc-u) * var(--ctc-form-w)));
}

.ctc-form--full .ctc-form__body {
	max-width: none;
}

.ctc-form--card.ctc-form--full {
	padding-right: max(24px, calc(var(--ctc-u) * 58));
}

.ctc-form .ctc-form__title {
	margin: 0;
	color: #000;
}

/* Judul di desain selebar field; beri sedikit ruang agar tidak terbungkus karena pembulatan. */
@media (min-width: 1025px) {
	.ctc-form--card .ctc-form__title {
		margin-right: -16px;
	}
}

.ctc-form .ctc-form__desc {
	margin: max(5px, calc(var(--ctc-u) * 8)) 0 0;
	color: #1c1c1c;
}

.ctc-form .ctc-form__required {
	margin: max(26px, calc(var(--ctc-u) * 53)) 0 0;
	color: #333;
	font-weight: 500;
}

.ctc-form form {
	margin: 0;
}

.ctc-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: max(12px, calc(var(--ctc-u) * 18.2)) max(12px, calc(var(--ctc-u) * 16));
	margin: max(14px, calc(var(--ctc-u) * 19)) 0 0;
	padding: 0;
	border: 0;
}

.ctc-field {
	position: relative;
	grid-column: 1 / -1;
	margin: 0;
	min-width: 0;
}

.ctc-field.ctc-field--half {
	grid-column: auto;
}

.ctc-form .ctc-field__control {
	box-sizing: border-box;
	display: block;
	width: 100%;
	max-width: none;
	height: var(--ctc-field-h, max(46px, calc(var(--ctc-u) * 50.2)));
	min-height: 0;
	margin: 0;
	padding: 0 max(14px, calc(var(--ctc-u) * 18));
	border: var(--ctc-field-bw, 1px) solid var(--ctc-field-bc, transparent);
	border-radius: var(--ctc-field-radius, max(9px, calc(var(--ctc-u) * 11)));
	outline: none;
	background: var(--ctc-field-bg, var(--ctc-field));
	box-shadow: none;
	color: var(--ctc-field-fg, #1a1a1a);
	font-family: var(--ctc-font);
	font-size: max(14px, calc(var(--ctc-u) * 14));
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.03em;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, background-color 0.15s ease, box-shadow 0.15s ease;
}

.ctc-form textarea.ctc-field__control {
	height: max(88px, calc(var(--ctc-u) * 92.6));
	padding-top: max(11px, calc(var(--ctc-u) * 13));
	padding-bottom: 10px;
	resize: vertical;
}

.ctc-form select.ctc-field__control {
	padding-right: 40px;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23999' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 11px 8px;
	color: transparent;
}

.ctc-form select.ctc-field__control.has-value,
.ctc-form select.ctc-field__control:focus {
	color: var(--ctc-field-fg, #1a1a1a);
}

.ctc-form select.ctc-field__control option {
	color: #1a1a1a;
}

.ctc-form .ctc-field__control:hover {
	border-color: var(--ctc-field-bc-hover, #e2e2e2);
}

.ctc-form .ctc-field__control:focus {
	border-color: var(--ctc-field-focus, #d4d4d4);
	background-color: #fff;
	box-shadow: 0 0 0 3px rgba(241, 90, 34, 0.16);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ctc-field-focus, #f15a22) 22%, transparent);
}

.ctc-field__label {
	position: absolute;
	top: 50%;
	left: calc(max(14px, calc(var(--ctc-u) * 18)) + 1px);
	max-width: calc(100% - 2 * max(14px, calc(var(--ctc-u) * 18)));
	overflow: hidden;
	transform: translateY(-50%);
	color: var(--ctc-field-label, #ababab);
	font-size: max(12.5px, calc(var(--ctc-u) * 13.5));
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0.03em;
	white-space: nowrap;
	text-overflow: ellipsis;
	pointer-events: none;
	transition: opacity 0.12s ease;
}

.ctc-field--textarea .ctc-field__label {
	top: calc(max(11px, calc(var(--ctc-u) * 13)) + 1px);
	transform: none;
}

.ctc-field__req {
	color: var(--ctc-field-req, var(--ctc-accent));
}

.ctc-form.has-text-color .ctc-form__title,
.ctc-form.has-text-color .ctc-form__desc,
.ctc-form.has-text-color .ctc-form__required,
.ctc-form.has-text-color .ctc-check,
.ctc-form.has-text-color .ctc-form__notice {
	color: inherit;
}

.ctc-field__control:not(:placeholder-shown) ~ .ctc-field__label,
select.ctc-field__control:focus ~ .ctc-field__label,
.ctc-field__control.has-value ~ .ctc-field__label,
select.ctc-field__control:has(option:checked:not([value=""])) ~ .ctc-field__label {
	opacity: 0;
}

.ctc-field__error {
	display: block;
	margin: 6px 2px 0;
	color: #c62828;
	font-size: 12px;
	line-height: 1.35;
	letter-spacing: 0.02em;
}

.ctc-field.has-error .ctc-field__control {
	border-color: #e0584f;
	background-color: #fff6f5;
}

.ctc-check.ctc-check {
	display: inline-flex;
	align-items: center;
	gap: max(8px, calc(var(--ctc-u) * 9.5));
	margin: max(22px, calc(var(--ctc-u) * 35)) 0 0;
	color: #1c1c1c;
	font-size: max(13px, calc(var(--ctc-u) * 14.8));
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 0.01em;
	cursor: pointer;
}

.ctc-form .ctc-check input[type="checkbox"] {
	position: static;
	display: grid;
	flex: none;
	place-content: center;
	width: 16px;
	height: 16px;
	margin: 0;
	padding: 0;
	border: 1.5px solid #555;
	border-radius: 4px;
	background: #fff;
	box-shadow: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.ctc-form .ctc-check input[type="checkbox"]::before {
	content: "";
	width: 9px;
	height: 9px;
	transform: scale(0);
	background: #fff;
	clip-path: polygon(14% 44%, 0 62%, 42% 100%, 100% 18%, 84% 4%, 40% 66%);
	transition: transform 0.12s ease;
}

.ctc-form .ctc-check input[type="checkbox"]::after {
	content: none;
}

.ctc-form .ctc-check input[type="checkbox"]:checked {
	border-color: var(--ctc-accent);
	background: var(--ctc-accent);
}

.ctc-form .ctc-check input[type="checkbox"]:checked::before {
	transform: scale(1);
}

.ctc-form .ctc-check input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--ctc-accent);
	outline-offset: 2px;
}

.ctc-form .ctc-form__notice {
	max-width: max(260px, calc(var(--ctc-u) * 400));
	margin: max(14px, calc(var(--ctc-u) * 17.3)) 0 0;
	color: #3a3a3a;
}

.ctc-form .ctc-form__notice a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: #9c9c9c;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.ctc-form .ctc-form__notice a:hover {
	color: #000;
}

.ctc-form__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px 16px;
	margin: max(20px, calc(var(--ctc-u) * 30)) 0 0;
}

.ctc-form__status {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	letter-spacing: 0.02em;
}

.ctc-form__status:empty {
	display: none;
}

.ctc-form__status.is-error {
	color: #c62828;
}

.ctc-form__status.is-success {
	color: #1e7b34;
}

.ctc-form.is-sending .ctc-btn.ctc-btn:not(#ctc-x) {
	opacity: 0.65;
	pointer-events: none;
}

.ctc-form__success {
	margin: max(22px, calc(var(--ctc-u) * 30)) 0 0;
	padding: 16px 18px;
	border-radius: 10px;
	background: #f1f8f2;
	color: #1b5e20;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: 0.02em;
}

.ctc-form__success[hidden] {
	display: none;
}

.ctc-form__success:focus {
	outline: none;
}

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

.ctc-form.ctc-form--dark {
	color: #fff;
}

.ctc-form--dark.ctc-form--card {
	background: #121212;
	box-shadow: none;
}

.ctc-form--dark .ctc-form__title,
.ctc-form--dark .ctc-form__desc,
.ctc-form--dark .ctc-form__required,
.ctc-form--dark .ctc-check,
.ctc-form--dark .ctc-form__notice {
	color: #f2f2f2;
}

.ctc-form--dark .ctc-field__control {
	background: #232323;
	color: #fff;
}

@media (max-width: 1024px) {
	.ctc-form.ctc-form--card {
		padding-right: max(24px, calc(var(--ctc-u) * 58));
	}

	.ctc-form__body {
		max-width: none;
	}
}

@media (max-width: 520px) {
	.ctc-field.ctc-field--half {
		grid-column: 1 / -1;
	}
}

/* --------------------------------------------------------------------------
   Daftar tautan (footer)
   -------------------------------------------------------------------------- */
.ctc-link-list.ctc-link-list {
	box-sizing: border-box;
	margin: 0;
	font-family: var(--ctc-font);
	color: var(--ctc-link-color, #222);
}

.ctc-link-list .ctc-link-list__title {
	margin: 0 0 max(10px, calc(var(--ctc-u) * 15));
	padding: 0;
	color: var(--ctc-heading-color, #000);
	font-family: var(--ctc-font);
	font-size: max(12px, calc(var(--ctc-u) * 12.5));
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.057em;
	text-transform: uppercase;
}

.ctc-link-list .ctc-link-list__items {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: max(9px, calc(var(--ctc-u) * 12.6));
	margin: 0;
	padding: 0;
	list-style: none;
}

.ctc-link-list .ctc-link-list__items li {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: max(12px, calc(var(--ctc-u) * 12));
	line-height: 1.4;
}

.ctc-link-list .ctc-link-list__items li::before,
.ctc-link-list .ctc-link-list__items li::marker {
	content: none;
}

.ctc-link-list .ctc-link-list__link {
	color: inherit;
	font-size: inherit;
	font-weight: 400;
	line-height: inherit;
	letter-spacing: 0.014em;
	text-decoration: none;
	transition: color 0.15s ease;
}

.ctc-link-list a.ctc-link-list__link:hover,
.ctc-link-list a.ctc-link-list__link:focus-visible {
	color: var(--ctc-accent);
}

.ctc-link-list--inline .ctc-link-list__items.ctc-link-list__items {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px max(12px, calc(var(--ctc-u) * 17));
}

.ctc-link-list.ctc-link-list--small {
	color: var(--ctc-legal-color, #7d7d7d);
}

.ctc-link-list--small .ctc-link-list__items li {
	font-size: max(10px, calc(var(--ctc-u) * 10.5));
}

.ctc-link-list--small .ctc-link-list__link.ctc-link-list__link {
	letter-spacing: 0.02em;
}

.ctc-link-list.ctc-link-list--divider {
	padding-top: max(8px, calc(var(--ctc-u) * 8.5));
	border-top: 1px solid var(--ctc-line-color, #e3e3e3);
}

.ctc-link-list--center .ctc-link-list__items.ctc-link-list__items {
	justify-content: center;
	align-items: center;
}

/* --------------------------------------------------------------------------
   Ikon sosial
   -------------------------------------------------------------------------- */
.ctc-social.ctc-social {
	--ctc-social-size: 24px;
	--ctc-social-icon: 14px;
	--ctc-social-gap: 10.4px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--ctc-social-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ctc-social.ctc-social--center { justify-content: center; }
.ctc-social.ctc-social--right { justify-content: flex-end; }

.ctc-social .ctc-social__item {
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 0;
}

.ctc-social .ctc-social__item::before,
.ctc-social .ctc-social__item::marker {
	content: none;
}

.ctc-social .ctc-social__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--ctc-social-size);
	height: var(--ctc-social-size);
	border-radius: 50%;
	background: #000;
	color: #fff;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.ctc-social .ctc-social__link svg {
	display: block;
	width: var(--ctc-social-icon);
	height: var(--ctc-social-icon);
	fill: currentColor;
}

.ctc-social a.ctc-social__link:hover,
.ctc-social a.ctc-social__link:focus-visible {
	background: var(--ctc-accent);
	color: #fff;
}

.ctc-social--light .ctc-social__link.ctc-social__link {
	background: #fff;
	color: #111;
}

.ctc-social--outline .ctc-social__link.ctc-social__link {
	background: transparent;
	box-shadow: inset 0 0 0 1px currentColor;
	color: inherit;
}

.ctc-social--plain .ctc-social__link.ctc-social__link {
	width: auto;
	height: auto;
	background: transparent;
	color: inherit;
}

.ctc-social--plain a.ctc-social__link:hover {
	background: transparent;
	color: var(--ctc-accent);
}

.ctc-social__label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --------------------------------------------------------------------------
   Badge kredit
   -------------------------------------------------------------------------- */
.ctc-badge.ctc-badge {
	--ctc-badge-h: 48;
	display: flex;
	align-items: flex-start;
	gap: 0;
	margin: 0;
	font-family: var(--ctc-font);
}

.ctc-badge a {
	display: flex;
	align-items: flex-start;
	color: inherit;
	text-decoration: none;
}

.ctc-badge__label {
	padding-top: max(3px, calc(var(--ctc-u) * 4));
	color: var(--ctc-legal-color, #7d7d7d);
	font-size: max(8px, calc(var(--ctc-u) * 8.5));
	line-height: 1.25;
	letter-spacing: 0.01em;
}

.ctc-badge__img {
	display: block;
	width: auto;
	max-width: none;
	height: max(34px, calc(var(--ctc-u) * var(--ctc-badge-h)));
	margin: 0 0 0 -2px;
}

/* --------------------------------------------------------------------------
   Spacer responsif
   -------------------------------------------------------------------------- */
.ctc-spacer.ctc-spacer {
	--ctc-sp-d: 80;
	--ctc-sp-t: 60;
	--ctc-sp-m: 40;
	display: block;
	flex: none;
	height: max(calc(var(--ctc-sp-t) * 1px), calc(var(--ctc-u) * var(--ctc-sp-d)));
	margin: 0;
	padding: 0;
}

@media (max-width: 1024px) {
	.ctc-spacer.ctc-spacer {
		height: calc(var(--ctc-sp-t) * 1px);
	}
}

@media (max-width: 780px) {
	.ctc-spacer.ctc-spacer {
		height: calc(var(--ctc-sp-m) * 1px);
	}
}

/* --------------------------------------------------------------------------
   Template kanvas
   -------------------------------------------------------------------------- */
body.ctc-canvas {
	margin: 0;
	padding: 0;
	background: #fff;
}

.ctc-canvas__main {
	display: block;
	overflow-x: clip;
}

.ctc-canvas__main > .alignfull,
.ctc-canvas__main > .ctc-section {
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

/* Blok inti di dalam section tetap memakai huruf desain. */
.ctc-section :where(p, h1, h2, h3, h4, h5, h6, li, blockquote, figcaption) {
	font-family: var(--ctc-font);
}

.ctc-section :where(.wp-block-image, .wp-block-embed) {
	margin-top: 0;
}

/* ==========================================================================
   v1.1 — gaya yang bisa dikustomisasi
   ========================================================================== */

/* ---------- Layout flex (Box/Grup, Slide, isi Section) ---------- */
.ctc-flex.ctc-flex {
	display: flex;
	flex-direction: var(--ctc-flex-dir, column);
	flex-wrap: var(--ctc-flex-wrap, nowrap);
	justify-content: var(--ctc-flex-justify, flex-start);
	align-items: var(--ctc-flex-align, stretch);
	gap: calc(var(--ctc-flex-gap, 0) * 1px);
}

.ctc-section__inner.ctc-flex > * {
	margin-top: 0;
	margin-bottom: 0;
}

@media (max-width: 780px) {
	.ctc-flex--stack-mobile.ctc-flex--stack-mobile {
		flex-direction: column;
	}
}

/* ---------- Container: radius, warna teks turunan, posisi ---------- */
.ctc-section.has-ctc-radius,
.ctc-column.has-ctc-radius,
.ctc-group.has-ctc-radius,
.ctc-slide.has-ctc-radius {
	overflow: clip;
}

.ctc-section.has-text-color,
.ctc-column.has-text-color,
.ctc-group.has-text-color,
.ctc-slide.has-text-color {
	--ctc-heading-color: currentColor;
	--ctc-sub-color: currentColor;
	--ctc-text-color: currentColor;
	--ctc-display-color: currentColor;
	--ctc-soft-heading-color: currentColor;
	--ctc-subtle-heading-color: currentColor;
	--ctc-link-color: currentColor;
	--ctc-list-color: currentColor;
}

.has-ctc-position-sticky {
	align-self: flex-start;
}

/* Latar kustom tanpa warna teks: pakai warna teks terang-latar (umumnya kartu putih).
   Untuk latar gelap, pilih warna teks di tab Gaya. */
.ctc-group.has-background:not(.has-text-color),
.ctc-slide.has-background:not(.has-text-color),
.ctc-column.has-background:not(.has-text-color) {
	--ctc-heading-color: #000;
	--ctc-sub-color: #3d3d3d;
	--ctc-text-color: #222;
	--ctc-display-color: #111;
	--ctc-soft-heading-color: #4a4a4a;
	--ctc-subtle-heading-color: #333;
	--ctc-muted-color: #5c5c5c;
	--ctc-link-color: #222;
	--ctc-legal-color: #6f6f6f;
	--ctc-line-color: #e3e3e3;
	--ctc-list-color: #2b2b2b;
	color: #222;
}

/* ---------- Box / Grup ---------- */
.ctc-group.ctc-group {
	--ctc-flex-gap: 16;
	position: relative;
	isolation: isolate;
	box-sizing: border-box;
	min-width: 0;
	margin-top: 0;
	margin-bottom: 0;
	font-family: var(--ctc-font);
}

.ctc-group.has-background,
.ctc-group.ctc-group--has-media {
	padding: 32px;
}

.ctc-group.ctc-group--has-media {
	overflow: clip;
}

.ctc-group.ctc-group--center {
	margin-left: auto;
	margin-right: auto;
}

.ctc-group.ctc-group--right {
	margin-left: auto;
	margin-right: 0;
}

.ctc-group > * {
	margin-top: 0;
	margin-bottom: 0;
}

.ctc-group__media,
.ctc-group__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.ctc-group__media {
	z-index: -2;
	margin: 0 !important;
}

.ctc-group__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: var(--ctc-bg-pos, 50% 50%);
}

.ctc-group__overlay {
	z-index: -1;
	margin: 0 !important;
	background: var(--ctc-overlay-color, #000);
	opacity: var(--ctc-overlay-opacity, 0.4);
}

/* ---------- Drop cap ---------- */
.ctc-text.has-drop-cap:not(:focus)::first-letter {
	float: left;
	margin: 0.08em 0.12em 0 0;
	color: var(--ctc-dropcap-color, inherit);
	font-size: 4.1em;
	font-style: normal;
	font-weight: 600;
	line-height: 0.88;
	letter-spacing: 0;
	text-transform: uppercase;
}

/* ---------- Gambar: caption logo & efek hover ---------- */
.ctc-logo__figure {
	display: inline-flex;
	flex-direction: column;
	margin: 0;
	line-height: 1.5;
}

.ctc-logo__caption {
	margin-top: 8px;
	color: var(--ctc-muted-color, #5c5c5c);
	font-family: var(--ctc-font);
	font-size: 13px;
	line-height: 1.5;
}

.ctc-logo--center .ctc-logo__figure {
	align-items: center;
	text-align: center;
}

.ctc-logo--right .ctc-logo__figure {
	align-items: flex-end;
	text-align: right;
}

.ctc-logo img,
.ctc-badge img,
.ctc-logo-strip img {
	transition: transform 0.35s ease, filter 0.35s ease, opacity 0.35s ease, box-shadow 0.35s ease;
}

.ctc-img-hover--zoom .ctc-media-card__frame img {
	transition: transform 0.5s ease;
}

.ctc-img-hover--zoom img:hover,
.ctc-img-hover--zoom .ctc-media-card__frame:hover img {
	transform: scale(1.05);
}

.ctc-img-hover--lift:not(.ctc-media-card) img:hover,
.ctc-media-card.ctc-img-hover--lift .ctc-media-card__frame:hover {
	transform: translateY(-4px);
}

.ctc-media-card.ctc-img-hover--lift .ctc-media-card__frame:hover {
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
}

.ctc-img-hover--grayscale img {
	filter: grayscale(1);
}

.ctc-img-hover--grayscale img:hover,
.ctc-img-hover--grayscale .ctc-media-card__frame:hover img {
	filter: none;
}

.ctc-img-hover--fade img:hover,
.ctc-img-hover--fade .ctc-media-card__frame:hover img {
	opacity: 0.78;
}

/* ---------- Carousel / Slider ---------- */
.ctc-carousel.ctc-carousel {
	--_spv: var(--ctc-car-spv-d, 3);
	--_gap: calc(var(--ctc-car-gap, 24) * 1px);
	--_abg: rgba(0, 0, 0, 0.72);
	--_afg: #fff;
	--swiper-theme-color: var(--ctc-accent);
	--swiper-pagination-color: var(--ctc-car-dot-active, var(--ctc-accent));
	--swiper-pagination-bullet-inactive-color: var(--ctc-car-dot, currentColor);
	--swiper-pagination-bullet-inactive-opacity: 0.35;
	--swiper-pagination-bullet-size: 9px;
	--swiper-pagination-bullet-horizontal-gap: 4px;
	--swiper-pagination-progressbar-bg-color: rgba(127, 127, 127, 0.25);
	position: relative;
	box-sizing: border-box;
	min-width: 0;
	margin-top: 0;
	margin-bottom: 0;
	font-family: var(--ctc-font);
}

@media (max-width: 1024px) {
	.ctc-carousel.ctc-carousel {
		--_spv: var(--ctc-car-spv-t, 2);
	}
}

@media (max-width: 780px) {
	.ctc-carousel.ctc-carousel {
		--_spv: var(--ctc-car-spv-m, 1);
	}
}

.ctc-carousel__viewport {
	position: relative;
}

.ctc-carousel .swiper {
	overflow: hidden;
}

/* Tata letak sebelum Swiper aktif (dan tanpa JavaScript): tidak ada lompatan layout. */
.ctc-carousel:not(.is-ready) .swiper-wrapper {
	display: flex;
	gap: var(--_gap);
}

.ctc-carousel:not(.is-ready) .swiper-slide {
	flex: 0 0 calc((100% - (var(--_spv) - 1) * var(--_gap)) / var(--_spv));
	min-width: 0;
}

.ctc-carousel--fade:not(.is-ready) .swiper-slide:not(:first-child) {
	display: none;
}

.ctc-carousel--equal .swiper-wrapper {
	align-items: stretch;
}

.ctc-carousel--equal .swiper-slide {
	height: auto;
}

.ctc-slide.ctc-slide {
	--ctc-flex-gap: 12;
	position: relative;
	box-sizing: border-box;
	min-width: 0;
}

.ctc-slide > * {
	margin-top: 0;
	margin-bottom: 0;
}

.ctc-slide.has-background {
	padding: 24px;
}

.ctc-slide__link {
	position: absolute;
	inset: 0;
	z-index: 2;
}

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

/* Panah */
.ctc-carousel .ctc-carousel__nav:not(#ctc-x) {
	position: absolute;
	top: 50%;
	z-index: 5;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--ctc-car-arrow-size, 44px);
	height: var(--ctc-car-arrow-size, 44px);
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--ctc-car-arrow-bg, var(--_abg));
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
	color: var(--ctc-car-arrow-fg, var(--_afg));
	font-size: calc(var(--ctc-car-arrow-size, 44px) * 0.45);
	line-height: 1;
	cursor: pointer;
	transform: translateY(-50%);
	transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease, transform 0.2s ease;
}

.ctc-carousel .ctc-carousel__nav:not(#ctc-x):hover,
.ctc-carousel .ctc-carousel__nav:not(#ctc-x):focus-visible {
	background: var(--ctc-accent);
	color: #fff;
}

.ctc-carousel .ctc-carousel__nav:not(#ctc-x):focus-visible {
	outline: 2px solid var(--ctc-accent);
	outline-offset: 3px;
}

.ctc-carousel .ctc-carousel__nav.is-disabled:not(#ctc-x) {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.ctc-carousel__nav svg {
	display: block;
	width: 1em;
	height: 1em;
}

.ctc-carousel__prev:not(#ctc-x) {
	left: 12px;
}

.ctc-carousel__next:not(#ctc-x) {
	right: 12px;
}

.ctc-carousel--nav-outside .ctc-carousel__prev:not(#ctc-x) {
	left: calc(-1 * var(--ctc-car-arrow-size, 44px) - 16px);
}

.ctc-carousel--nav-outside .ctc-carousel__next:not(#ctc-x) {
	right: calc(-1 * var(--ctc-car-arrow-size, 44px) - 16px);
}

@media (max-width: 1180px) {
	.ctc-carousel--nav-outside .ctc-carousel__prev:not(#ctc-x) {
		left: 12px;
	}

	.ctc-carousel--nav-outside .ctc-carousel__next:not(#ctc-x) {
		right: 12px;
	}
}

.ctc-carousel.ctc-carousel--arrows-circle-light {
	--_abg: #fff;
	--_afg: #111;
}

.ctc-carousel.ctc-carousel--arrows-accent {
	--_abg: var(--ctc-accent);
	--_afg: #fff;
}

.ctc-carousel.ctc-carousel--arrows-square .ctc-carousel__nav:not(#ctc-x) {
	border-radius: 8px;
}

.ctc-carousel.ctc-carousel--arrows-minimal .ctc-carousel__nav:not(#ctc-x) {
	background: var(--ctc-car-arrow-bg, transparent);
	box-shadow: none;
	color: var(--ctc-car-arrow-fg, currentColor);
	font-size: calc(var(--ctc-car-arrow-size, 44px) * 0.7);
}

.ctc-carousel.ctc-carousel--arrows-minimal .ctc-carousel__nav:not(#ctc-x):hover {
	background: transparent;
	color: var(--ctc-accent);
}

/* Bar bawah: titik, jeda, panah bawah */
.ctc-carousel__bar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 20px;
}

.ctc-carousel--nav-bottom .ctc-carousel__bar {
	justify-content: space-between;
}

.ctc-carousel__bar-nav {
	display: flex;
	gap: 10px;
	margin-left: auto;
}

.ctc-carousel .ctc-carousel__bar-nav .ctc-carousel__nav:not(#ctc-x) {
	position: static;
	transform: none;
}

.ctc-carousel .ctc-carousel__dots {
	position: static;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	width: auto;
	transform: none;
}

.ctc-carousel .ctc-carousel__dots .swiper-pagination-bullet {
	transition: width 0.25s ease, opacity 0.25s ease, background-color 0.25s ease;
}

.ctc-carousel--dots-lines {
	--swiper-pagination-bullet-width: 22px;
	--swiper-pagination-bullet-height: 3px;
	--swiper-pagination-bullet-border-radius: 2px;
}

.ctc-carousel--dots-lines .ctc-carousel__dots .swiper-pagination-bullet-active {
	width: 38px;
}

.ctc-carousel .ctc-carousel__dots.swiper-pagination-fraction {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.ctc-carousel .ctc-carousel__dots.swiper-pagination-progressbar {
	position: relative;
	width: min(320px, 60%);
	height: 3px;
	border-radius: 2px;
	overflow: hidden;
}

/* Tombol jeda/putar */
.ctc-carousel .ctc-carousel__toggle:not(#ctc-x) {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1.5px solid currentColor;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
	color: inherit;
	cursor: pointer;
	opacity: 0.7;
}

.ctc-carousel .ctc-carousel__toggle:not(#ctc-x):hover {
	opacity: 1;
}

.ctc-carousel__toggle[hidden] {
	display: none !important;
}

.ctc-carousel__toggle-icon {
	box-sizing: border-box;
	width: 9px;
	height: 10px;
	border-right: 3px solid currentColor;
	border-left: 3px solid currentColor;
}

.ctc-carousel.is-paused .ctc-carousel__toggle-icon {
	width: 0;
	height: 0;
	margin-left: 3px;
	border-width: 5px 0 5px 8px;
	border-style: solid;
	border-color: transparent transparent transparent currentColor;
}

@media (prefers-reduced-motion: reduce) {
	.ctc-carousel .swiper-wrapper {
		transition-duration: 0ms !important;
	}
}

/* ---------- Perataan lebar (wide/full) di dalam Section ---------- */
.ctc-section__inner > .alignwide {
	width: min(1400px, 100vw - 48px);
	max-width: none;
	margin-left: calc(50% - min(700px, 50vw - 24px));
	margin-right: 0;
}

.ctc-section__inner > .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: 0;
}

.ctc-section__inner > .ctc-media-card.alignfull,
.ctc-section__inner > .ctc-carousel.alignfull {
	border-radius: 0;
}

/* Kartu (Box) tunggal di kolom grid "regang" ikut setinggi baris. */
.ctc-grid--align-stretch > .ctc-column > .ctc-group:only-child {
	flex: 1 1 auto;
}

.ctc-group > .ctc-button:last-child {
	margin-top: auto;
}

/* ==========================================================================
   v1.2 — Ekstensi lintas-blok
   ========================================================================== */

/* ---------- Sembunyikan per perangkat ---------- */
@media (min-width: 1025px) {
	body:not(.block-editor-iframe__body) .ctc-hide-desktop.ctc-hide-desktop {
		display: none !important;
	}
}

@media (min-width: 781px) and (max-width: 1024px) {
	body:not(.block-editor-iframe__body) .ctc-hide-tablet.ctc-hide-tablet {
		display: none !important;
	}
}

@media (max-width: 780px) {
	body:not(.block-editor-iframe__body) .ctc-hide-mobile.ctc-hide-mobile {
		display: none !important;
	}
}

/* ---------- Animasi saat muncul ---------- */
.ctc-anim {
	--ctc-anim-d: 700ms;
	--ctc-anim-dl: 0ms;
	--ctc-anim-e: cubic-bezier(0.22, 1, 0.36, 1);
	--ctc-anim-x: 40px;
}

html.ctc-js .ctc-anim:not(.is-in) {
	opacity: 0;
	pointer-events: none;
}

html.ctc-js .ctc-anim.is-in {
	opacity: 1;
	transform: none;
	filter: none;
	transition: opacity var(--ctc-anim-d) var(--ctc-anim-e) var(--ctc-anim-dl), transform var(--ctc-anim-d) var(--ctc-anim-e) var(--ctc-anim-dl), filter var(--ctc-anim-d) var(--ctc-anim-e) var(--ctc-anim-dl);
}

html.ctc-js .ctc-anim--fade-up:not(.is-in) { transform: translate3d(0, var(--ctc-anim-x), 0); }
html.ctc-js .ctc-anim--fade-down:not(.is-in) { transform: translate3d(0, calc(var(--ctc-anim-x) * -1), 0); }
html.ctc-js .ctc-anim--fade-left:not(.is-in) { transform: translate3d(var(--ctc-anim-x), 0, 0); }
html.ctc-js .ctc-anim--fade-right:not(.is-in) { transform: translate3d(calc(var(--ctc-anim-x) * -1), 0, 0); }
html.ctc-js .ctc-anim--zoom-in:not(.is-in) { transform: scale(0.85); }
html.ctc-js .ctc-anim--zoom-out:not(.is-in) { transform: scale(1.12); }
html.ctc-js .ctc-anim--slide-up:not(.is-in) { opacity: 1; transform: translate3d(0, calc(var(--ctc-anim-x) * 2), 0); }
html.ctc-js .ctc-anim--slide-left:not(.is-in) { opacity: 1; transform: translate3d(calc(var(--ctc-anim-x) * 2), 0, 0); }
html.ctc-js .ctc-anim--slide-right:not(.is-in) { opacity: 1; transform: translate3d(calc(var(--ctc-anim-x) * -2), 0, 0); }
html.ctc-js .ctc-anim--flip-up:not(.is-in) { transform: perspective(900px) rotateX(-18deg) translate3d(0, var(--ctc-anim-x), 0); }
html.ctc-js .ctc-anim--blur:not(.is-in) { filter: blur(12px); }

/* Section dengan animasi: jangan sembunyikan latar api/gambar (hanya isi yang bergerak). */
html.ctc-js .ctc-section.ctc-anim:not(.is-in) {
	opacity: 1;
	transform: none;
	filter: none;
}

html.ctc-js .ctc-section.ctc-anim:not(.is-in) > .ctc-section__inner {
	opacity: 0;
	transform: translate3d(0, var(--ctc-anim-x), 0);
}

html.ctc-js .ctc-section.ctc-anim.is-in > .ctc-section__inner {
	opacity: 1;
	transform: none;
	transition: opacity var(--ctc-anim-d) var(--ctc-anim-e) var(--ctc-anim-dl), transform var(--ctc-anim-d) var(--ctc-anim-e) var(--ctc-anim-dl);
}

@media (prefers-reduced-motion: reduce) {
	html.ctc-js .ctc-anim,
	html.ctc-js .ctc-anim:not(.is-in),
	html.ctc-js .ctc-section.ctc-anim:not(.is-in) > .ctc-section__inner {
		opacity: 1 !important;
		transform: none !important;
		filter: none !important;
		transition: none !important;
		pointer-events: auto;
	}
}

/* ---------- Parallax latar ---------- */
.has-ctc-parallax > .ctc-section__media,
.has-ctc-parallax > .ctc-group__media {
	inset: -20% 0;
}

.has-ctc-parallax > .ctc-section__media img,
.has-ctc-parallax > .ctc-group__media img {
	will-change: transform;
}

@media (prefers-reduced-motion: reduce) {
	.has-ctc-parallax > .ctc-section__media,
	.has-ctc-parallax > .ctc-group__media {
		inset: 0;
	}

	.has-ctc-parallax > .ctc-section__media img,
	.has-ctc-parallax > .ctc-group__media img {
		transform: none !important;
	}
}

/* ---------- Shape divider ---------- */
.ctc-divider {
	--ctc-div-h: 80px;
	--ctc-div-c: #fff;
	position: absolute;
	left: 50%;
	z-index: 0;
	width: var(--ctc-div-w, 100%);
	height: var(--ctc-div-h);
	transform: translateX(-50%);
	color: var(--ctc-div-c);
	line-height: 0;
	pointer-events: none;
	overflow: hidden;
}

.ctc-divider svg {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
}

.ctc-divider--top {
	top: -1px;
}

.ctc-divider--bottom {
	bottom: -1px;
	transform: translateX(-50%) rotate(180deg);
}

.ctc-divider.is-flipped svg {
	transform: scaleX(-1);
}

.ctc-divider.is-inverted svg {
	transform: scaleY(-1);
}

.ctc-divider.is-flipped.is-inverted svg {
	transform: scale(-1, -1);
}

.ctc-divider.is-front {
	z-index: 2;
}

.ctc-section.has-ctc-divider > .ctc-section__inner {
	z-index: 1;
}

@media (max-width: 780px) {
	.ctc-divider {
		height: var(--ctc-div-hm, var(--ctc-div-h));
	}
}

/* ==========================================================================
   v1.2 — Widget
   ========================================================================== */

/* ---------- Ikon bersama ---------- */
.ctc-icon,
[class*="__icon"].ctc-icon--svg,
[class*="__icon"].ctc-icon--img {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	line-height: 0;
}

[class*="__icon--svg"] > svg,
[class*="__icon--img"] > img {
	display: block;
	width: 1em;
	height: 1em;
	object-fit: contain;
}

/* ---------- Tabs ---------- */
.ctc-tabs.ctc-tabs {
	--ctc-tab-fg: var(--ctc-muted-color, #5c5c5c);
	--ctc-tab-active: var(--ctc-heading-color, #000);
	--ctc-tab-bg: transparent;
	--ctc-tab-abg: transparent;
	--ctc-tab-fs: max(14px, calc(var(--ctc-u) * 15));
	box-sizing: border-box;
	margin: 0;
	font-family: var(--ctc-font);
}

.ctc-tabs__list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--ctc-line-color, #e3e3e3);
}

.ctc-tabs--align-center > .ctc-tabs__list { justify-content: center; }
.ctc-tabs--align-right > .ctc-tabs__list { justify-content: flex-end; }
.ctc-tabs--equal > .ctc-tabs__list > .ctc-tabs__tab { flex: 1 1 0; justify-content: center; }

.ctc-tabs .ctc-tabs__tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 -1px;
	padding: 12px 18px;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: var(--ctc-tab-bg);
	color: var(--ctc-tab-fg);
	font-family: var(--ctc-font);
	font-size: var(--ctc-tab-fs);
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
	transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
}

.ctc-tabs .ctc-tabs__tab:hover { color: var(--ctc-tab-active); }
.ctc-tabs .ctc-tabs__tab.is-active { color: var(--ctc-tab-active); background: var(--ctc-tab-abg); border-bottom-color: var(--ctc-tab-active); }
.ctc-tabs .ctc-tabs__tab:focus-visible { outline: 2px solid var(--ctc-accent); outline-offset: 2px; }
.ctc-tabs__icon { font-size: 1.15em; }

.ctc-tabs--pills > .ctc-tabs__list { gap: 8px; border-bottom: 0; }
.ctc-tabs--pills .ctc-tabs__tab { margin: 0; border: 1px solid var(--ctc-line-color, #e3e3e3); border-radius: 999px; }
.ctc-tabs--pills .ctc-tabs__tab.is-active { color: #fff; background: var(--ctc-tab-active); border-color: var(--ctc-tab-active); }

.ctc-tabs--boxed > .ctc-tabs__list { gap: 0; }
.ctc-tabs--boxed .ctc-tabs__tab { margin: 0 -1px -1px 0; border: 1px solid var(--ctc-line-color, #e3e3e3); border-radius: 8px 8px 0 0; }
.ctc-tabs--boxed .ctc-tabs__tab.is-active { background: #fff; border-bottom-color: #fff; }
.ctc-tabs--boxed > .ctc-tabs__panels { border: 1px solid var(--ctc-line-color, #e3e3e3); border-top: 0; border-radius: 0 0 8px 8px; }
.ctc-tabs--boxed .ctc-tab__inner { padding: 24px; }

.ctc-tabs--minimal > .ctc-tabs__list { border-bottom: 0; }
.ctc-tabs--minimal .ctc-tabs__tab { padding-left: 0; padding-right: 0; margin-right: 20px; }

.ctc-tabs--left,
.ctc-tabs--right { display: grid; grid-template-columns: minmax(160px, 260px) minmax(0, 1fr); gap: 32px; }
.ctc-tabs--right { grid-template-columns: minmax(0, 1fr) minmax(160px, 260px); }
.ctc-tabs--right > .ctc-tabs__list { order: 2; }
.ctc-tabs--left > .ctc-tabs__list,
.ctc-tabs--right > .ctc-tabs__list { flex-direction: column; gap: 2px; border-bottom: 0; border-right: 1px solid var(--ctc-line-color, #e3e3e3); }
.ctc-tabs--right > .ctc-tabs__list { border-right: 0; border-left: 1px solid var(--ctc-line-color, #e3e3e3); }
.ctc-tabs--left .ctc-tabs__tab,
.ctc-tabs--right .ctc-tabs__tab { margin: 0 -1px 0 0; border-bottom: 0; border-right: 2px solid transparent; }
.ctc-tabs--right .ctc-tabs__tab { margin: 0 0 0 -1px; border-right: 0; border-left: 2px solid transparent; }
.ctc-tabs--left .ctc-tabs__tab.is-active { border-right-color: var(--ctc-tab-active); }
.ctc-tabs--right .ctc-tabs__tab.is-active { border-left-color: var(--ctc-tab-active); }

.ctc-tab.ctc-tab { margin: 0; }
.ctc-tab__inner { padding-top: 24px; }
.ctc-tab__inner > * { margin-top: 0; margin-bottom: 0; }
.ctc-tab__inner > * + * { margin-top: 16px; }
.ctc-tabs--left .ctc-tab__inner,
.ctc-tabs--right .ctc-tab__inner { padding-top: 0; }
.ctc-tabs__mobile-title { display: none; }

@media (max-width: 780px) {
	.ctc-tabs--left,
	.ctc-tabs--right { display: block; }
	.ctc-tabs--left > .ctc-tabs__list,
	.ctc-tabs--right > .ctc-tabs__list { flex-direction: row; border: 0; border-bottom: 1px solid var(--ctc-line-color, #e3e3e3); }
	.ctc-tabs--mobile-accordion > .ctc-tabs__list { display: none; }
	.ctc-tabs--mobile-accordion .ctc-tabs__mobile-title {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		margin: 0;
		padding: 14px 0;
		border: 0;
		border-top: 1px solid var(--ctc-line-color, #e3e3e3);
		background: none;
		color: var(--ctc-tab-fg);
		font: 600 var(--ctc-tab-fs) / 1.3 var(--ctc-font);
		text-align: left;
		cursor: pointer;
	}
	.ctc-tabs--mobile-accordion .ctc-tabs__mobile-title::after { content: "+"; font-size: 1.3em; line-height: 1; }
	.ctc-tabs--mobile-accordion .ctc-tabs__mobile-title[aria-expanded="true"] { color: var(--ctc-tab-active); }
	.ctc-tabs--mobile-accordion .ctc-tabs__mobile-title[aria-expanded="true"]::after { content: "\2212"; }
	.ctc-tabs--mobile-accordion .ctc-tab__inner { padding: 0 0 16px; }
	.ctc-tabs--boxed .ctc-tabs__mobile-title { padding-left: 16px; padding-right: 16px; }
}

/* ---------- Accordion ---------- */
.ctc-accordion.ctc-accordion {
	--ctc-acc-title: var(--ctc-heading-color, #000);
	--ctc-acc-active: var(--ctc-accent);
	--ctc-acc-bg: transparent;
	--ctc-acc-border: var(--ctc-line-color, #e3e3e3);
	--ctc-acc-gap: 0px;
	display: flex;
	flex-direction: column;
	gap: var(--ctc-acc-gap);
	margin: 0;
	font-family: var(--ctc-font);
}

.ctc-accordion .ctc-accordion__item {
	margin: 0;
	border-top: 1px solid var(--ctc-acc-border);
	background: var(--ctc-acc-bg);
}

.ctc-accordion--lines .ctc-accordion__item:last-child { border-bottom: 1px solid var(--ctc-acc-border); }
.ctc-accordion--boxed .ctc-accordion__item { border: 1px solid var(--ctc-acc-border); margin-top: -1px; }
.ctc-accordion--boxed .ctc-accordion__item:first-child { margin-top: 0; border-radius: 10px 10px 0 0; }
.ctc-accordion--boxed .ctc-accordion__item:last-child { border-radius: 0 0 10px 10px; }
.ctc-accordion--cards { --ctc-acc-gap: 12px; }
.ctc-accordion--cards .ctc-accordion__item { border: 1px solid var(--ctc-acc-border); border-radius: 12px; }
.ctc-accordion--minimal .ctc-accordion__item { border: 0; }

.ctc-accordion .ctc-accordion__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: max(14px, calc(var(--ctc-u) * 18)) 0;
	list-style: none;
	cursor: pointer;
	user-select: none;
}

.ctc-accordion--boxed .ctc-accordion__summary,
.ctc-accordion--cards .ctc-accordion__summary { padding-left: max(16px, calc(var(--ctc-u) * 22)); padding-right: max(16px, calc(var(--ctc-u) * 22)); }
.ctc-accordion .ctc-accordion__summary::-webkit-details-marker { display: none; }
.ctc-accordion .ctc-accordion__summary:focus-visible { outline: 2px solid var(--ctc-accent); outline-offset: -2px; }
.ctc-accordion--icon-left .ctc-accordion__summary { flex-direction: row-reverse; justify-content: flex-end; }

.ctc-accordion .ctc-accordion__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	color: var(--ctc-acc-title);
	font-family: var(--ctc-font);
	font-size: max(15px, calc(var(--ctc-u) * 17));
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.02em;
	transition: color 0.15s ease;
}

.ctc-accordion .ctc-accordion__item[open] > .ctc-accordion__summary .ctc-accordion__title,
.ctc-accordion .ctc-accordion__item.is-open > .ctc-accordion__summary .ctc-accordion__title { color: var(--ctc-acc-active); }
.ctc-accordion__title-icon { font-size: 1.2em; color: var(--ctc-acc-active); }

.ctc-accordion__icon {
	position: relative;
	flex: none;
	width: 22px;
	height: 22px;
	color: var(--ctc-acc-title);
	transition: transform 0.25s ease, color 0.15s ease;
}

.ctc-accordion .ctc-accordion__item[open] > .ctc-accordion__summary .ctc-accordion__icon,
.ctc-accordion .ctc-accordion__item.is-open > .ctc-accordion__summary .ctc-accordion__icon { color: var(--ctc-acc-active); }
.ctc-accordion--icon-none .ctc-accordion__icon { display: none; }

.ctc-accordion--icon-plus .ctc-accordion__icon::before,
.ctc-accordion--icon-plus .ctc-accordion__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 2px;
	background: currentColor;
	transform: translate(-50%, -50%);
	transition: transform 0.25s ease;
}

.ctc-accordion--icon-plus .ctc-accordion__icon::after { transform: translate(-50%, -50%) rotate(90deg); }
.ctc-accordion--icon-plus .ctc-accordion__item[open] > .ctc-accordion__summary .ctc-accordion__icon::after,
.ctc-accordion--icon-plus .ctc-accordion__item.is-open > .ctc-accordion__summary .ctc-accordion__icon::after { transform: translate(-50%, -50%) rotate(0deg); }

.ctc-accordion--icon-chevron .ctc-accordion__icon::before,
.ctc-accordion--icon-arrow .ctc-accordion__icon::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translate(-50%, -70%) rotate(45deg);
}

.ctc-accordion--icon-arrow .ctc-accordion__icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 2px;
	height: 14px;
	background: currentColor;
	transform: translate(-50%, -60%);
}

.ctc-accordion--icon-chevron .ctc-accordion__item[open] > .ctc-accordion__summary .ctc-accordion__icon,
.ctc-accordion--icon-arrow .ctc-accordion__item[open] > .ctc-accordion__summary .ctc-accordion__icon,
.ctc-accordion--icon-chevron .ctc-accordion__item.is-open > .ctc-accordion__summary .ctc-accordion__icon,
.ctc-accordion--icon-arrow .ctc-accordion__item.is-open > .ctc-accordion__summary .ctc-accordion__icon { transform: rotate(180deg); }

.ctc-accordion__content { padding: 0 0 max(16px, calc(var(--ctc-u) * 22)); }
.ctc-accordion--boxed .ctc-accordion__content,
.ctc-accordion--cards .ctc-accordion__content { padding-left: max(16px, calc(var(--ctc-u) * 22)); padding-right: max(16px, calc(var(--ctc-u) * 22)); }
.ctc-accordion__content > * { margin-top: 0; margin-bottom: 0; }
.ctc-accordion__content > * + * { margin-top: 14px; }

/* ---------- Counter ---------- */
.ctc-counter.ctc-counter {
	--ctc-cnt-num: var(--ctc-heading-color, #000);
	--ctc-cnt-label: var(--ctc-muted-color, #5c5c5c);
	--ctc-cnt-icon: var(--ctc-accent);
	--ctc-cnt-fs: max(34px, calc(var(--ctc-u) * 52));
	--ctc-cnt-lfs: max(13px, calc(var(--ctc-u) * 14.75));
	--ctc-cnt-fw: 700;
	--ctc-cnt-icon-s: 40px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--ctc-font);
	text-align: center;
}

.ctc-counter--align-left { align-items: flex-start; text-align: left; }
.ctc-counter--align-right { align-items: flex-end; text-align: right; }
.ctc-counter--layout-left.ctc-counter--layout-left,
.ctc-counter--layout-right.ctc-counter--layout-right { flex-direction: row; align-items: center; gap: 16px; }
.ctc-counter--layout-right.ctc-counter--layout-right { flex-direction: row-reverse; }
.ctc-counter__icon { font-size: var(--ctc-cnt-icon-s); color: var(--ctc-cnt-icon); }
.ctc-counter__body { display: flex; flex-direction: column; gap: 4px; }
.ctc-counter__value {
	display: inline-flex;
	align-items: baseline;
	gap: 0.08em;
	color: var(--ctc-cnt-num);
	font-size: var(--ctc-cnt-fs);
	font-weight: var(--ctc-cnt-fw);
	line-height: 1.05;
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
}
.ctc-counter__prefix,
.ctc-counter__suffix { font-size: 0.55em; font-weight: 600; }
.ctc-counter__label { color: var(--ctc-cnt-label); font-size: var(--ctc-cnt-lfs); line-height: 1.5; letter-spacing: 0.06em; }

/* ---------- Icon box ---------- */
.ctc-icon-box.ctc-icon-box {
	--ctc-ib-size: 40px;
	--ctc-ib-color: var(--ctc-accent);
	--ctc-ib-bg: rgba(241, 90, 34, 0.1);
	--ctc-ib-radius: 12px;
	--ctc-ib-title: var(--ctc-heading-color, #000);
	--ctc-ib-text: var(--ctc-text-color, #222);
	--ctc-ib-gap: 14px;
	display: flex;
	flex-direction: column;
	gap: var(--ctc-ib-gap);
	margin: 0;
	font-family: var(--ctc-font);
}

.ctc-icon-box--align-center { align-items: center; text-align: center; }
.ctc-icon-box--align-right { align-items: flex-end; text-align: right; }
.ctc-icon-box--pos-left.ctc-icon-box--pos-left,
.ctc-icon-box--pos-right.ctc-icon-box--pos-right { flex-direction: row; align-items: flex-start; }
.ctc-icon-box--pos-right.ctc-icon-box--pos-right { flex-direction: row-reverse; }
.ctc-icon-box__wrap { display: flex; flex-direction: inherit; align-items: inherit; gap: inherit; width: 100%; color: inherit; text-decoration: none; }
.ctc-icon-box__media { flex: none; line-height: 0; }
.ctc-icon-box__icon { display: inline-flex; align-items: center; justify-content: center; font-size: var(--ctc-ib-size); color: var(--ctc-ib-color); }
.ctc-icon-box--icon-circle .ctc-icon-box__icon,
.ctc-icon-box--icon-square .ctc-icon-box__icon,
.ctc-icon-box--icon-rounded .ctc-icon-box__icon,
.ctc-icon-box--icon-outline .ctc-icon-box__icon { width: 1.9em; height: 1.9em; background: var(--ctc-ib-bg); }
.ctc-icon-box--icon-circle .ctc-icon-box__icon { border-radius: 50%; }
.ctc-icon-box--icon-rounded .ctc-icon-box__icon { border-radius: var(--ctc-ib-radius); }
.ctc-icon-box--icon-outline .ctc-icon-box__icon { background: transparent; border-radius: var(--ctc-ib-radius); box-shadow: inset 0 0 0 1.5px currentColor; }
.ctc-icon-box__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ctc-icon-box .ctc-icon-box__title { margin: 0; color: var(--ctc-ib-title); font-family: var(--ctc-font); font-size: max(17px, calc(var(--ctc-u) * 20)); font-weight: 600; line-height: 1.3; letter-spacing: 0.02em; }
.ctc-icon-box .ctc-icon-box__text { margin: 0; color: var(--ctc-ib-text); font-size: max(14px, calc(var(--ctc-u) * 14.75)); line-height: 1.7; letter-spacing: 0.03em; }
.ctc-icon-box .ctc-icon-box__link { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; color: var(--ctc-ib-color); font-size: max(13px, calc(var(--ctc-u) * 14)); font-weight: 600; text-decoration: none; }
.ctc-icon-box .ctc-icon-box__link:empty { display: none; }
.ctc-icon-box a.ctc-icon-box__link:hover { text-decoration: underline; }
.ctc-icon-box .ctc-icon-box__link svg { transition: transform 0.2s ease; }
.ctc-icon-box a.ctc-icon-box__link:hover svg,
.ctc-icon-box.is-linked:hover .ctc-icon-box__link svg { transform: translateX(3px); }

/* ---------- Icon list ---------- */
.ctc-icon-list.ctc-icon-list {
	--ctc-il-icon: var(--ctc-accent);
	--ctc-il-bg: rgba(241, 90, 34, 0.12);
	--ctc-il-size: 20px;
	--ctc-il-gap: 12px;
	--ctc-il-color: var(--ctc-text-color, #222);
	--ctc-il-fs: max(14px, calc(var(--ctc-u) * 14.75));
	display: flex;
	flex-direction: column;
	gap: var(--ctc-il-gap);
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--ctc-font);
	color: var(--ctc-il-color);
}

.ctc-icon-list--inline.ctc-icon-list--inline { flex-direction: row; flex-wrap: wrap; column-gap: calc(var(--ctc-il-gap) * 2); }
.ctc-icon-list .ctc-icon-list__item { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: var(--ctc-il-fs); line-height: 1.6; letter-spacing: 0.03em; }
.ctc-icon-list .ctc-icon-list__item::marker,
.ctc-icon-list .ctc-icon-list__item::before { content: none; }
.ctc-icon-list--divider .ctc-icon-list__item + .ctc-icon-list__item { padding-top: var(--ctc-il-gap); border-top: 1px solid var(--ctc-line-color, #e3e3e3); }
.ctc-icon-list__icon { display: inline-flex; align-items: center; justify-content: center; flex: none; margin-top: calc((1.6em - var(--ctc-il-size)) / 2); font-size: var(--ctc-il-size); color: var(--ctc-il-icon); }
.ctc-icon-list--icon-circle .ctc-icon-list__icon,
.ctc-icon-list--icon-square .ctc-icon-list__icon { width: 1.5em; height: 1.5em; margin-top: calc((1.6em - var(--ctc-il-size) * 1.5) / 2); background: var(--ctc-il-bg); font-size: calc(var(--ctc-il-size) * 0.8); }
.ctc-icon-list--icon-circle .ctc-icon-list__icon { border-radius: 50%; }
.ctc-icon-list--icon-square .ctc-icon-list__icon { border-radius: 4px; }
.ctc-icon-list__text a { color: inherit; text-decoration: underline; text-underline-offset: 0.18em; }

/* ---------- Video ---------- */
.ctc-video.ctc-video {
	--ctc-video-ratio: 16 / 9;
	--ctc-video-radius: 12px;
	--ctc-video-play: #000;
	--ctc-video-playbg: #fff;
	margin: 0;
	font-family: var(--ctc-font);
}

.ctc-video--center.ctc-video--center { margin-left: auto; margin-right: auto; }
.ctc-video--right.ctc-video--right { margin-left: auto; }
.ctc-video__frame { position: relative; aspect-ratio: var(--ctc-video-ratio); overflow: hidden; border-radius: var(--ctc-video-radius); background: #000; }
.ctc-video__trigger { position: absolute; inset: 0; display: block; width: 100%; padding: 0; border: 0; background: #111; cursor: pointer; }
.ctc-video__poster { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform 0.4s ease; }
.ctc-video__trigger:hover .ctc-video__poster { transform: scale(1.03); }
.ctc-video__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max(56px, calc(var(--ctc-u) * 76));
	height: max(56px, calc(var(--ctc-u) * 76));
	border-radius: 50%;
	background: var(--ctc-video-playbg);
	color: var(--ctc-video-play);
	font-size: max(24px, calc(var(--ctc-u) * 32));
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.35);
	transform: translate(-50%, -50%);
	transition: transform 0.2s ease;
}
.ctc-video__play svg { margin-left: 0.1em; }
.ctc-video__trigger:hover .ctc-video__play { transform: translate(-50%, -50%) scale(1.08); }
.ctc-video__trigger:focus-visible { outline: 3px solid var(--ctc-accent); outline-offset: -3px; }
.ctc-video--play-accent { --ctc-video-playbg: var(--ctc-accent); --ctc-video-play: #fff; }
.ctc-video--play-square .ctc-video__play { border-radius: 14px; }
.ctc-video--play-minimal .ctc-video__play { background: transparent; box-shadow: none; color: #fff; font-size: max(48px, calc(var(--ctc-u) * 72)); }
.ctc-video__media { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.ctc-video__caption { margin: 10px 0 0; color: var(--ctc-muted-color, #5c5c5c); font-size: max(12px, calc(var(--ctc-u) * 13)); line-height: 1.5; }

.ctc-lightbox { position: fixed; inset: 0; z-index: 99999; display: none; align-items: center; justify-content: center; padding: 24px; }
.ctc-lightbox.is-open { display: flex; }
.ctc-lightbox__backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.88); }
.ctc-lightbox__panel { position: relative; width: min(1100px, 100%); }
.ctc-lightbox__body { position: relative; aspect-ratio: var(--ctc-video-ratio, 16 / 9); max-height: calc(100vh - 80px); overflow: hidden; border-radius: 12px; background: #000; }
.ctc-lightbox__close { position: absolute; top: -44px; right: 0; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.15); color: #fff; font-size: 28px; line-height: 1; cursor: pointer; }
.ctc-lightbox__close:hover { background: rgba(255, 255, 255, 0.3); }
html.ctc-lightbox-open { overflow: hidden; }

/* ---------- Peta ---------- */
.ctc-map.ctc-map { --ctc-map-h: 420px; --ctc-map-hm: 300px; --ctc-map-radius: 12px; position: relative; margin: 0; overflow: hidden; border-radius: var(--ctc-map-radius); background: #e9e9e9; font-family: var(--ctc-font); }
.ctc-map__frame { display: block; width: 100%; height: var(--ctc-map-h); border: 0; }
.ctc-map--grayscale .ctc-map__frame { filter: grayscale(1); }
.ctc-map__load { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; height: var(--ctc-map-h); padding: 24px; border: 0; background: #ececec repeating-linear-gradient(0deg, transparent 0 39px, #dedede 39px 40px), repeating-linear-gradient(90deg, transparent 0 39px, #dedede 39px 40px); color: #222; cursor: pointer; }
.ctc-map__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.85; }
.ctc-map__cta { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; background: #000; color: #fff; font-size: 15px; font-weight: 600; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2); }
.ctc-map__cta svg { font-size: 18px; }
.ctc-map__privacy { position: relative; max-width: 320px; font-size: 12px; line-height: 1.4; color: #555; text-align: center; }
.ctc-map__load:hover .ctc-map__cta { background: var(--ctc-accent); }
@media (max-width: 780px) {
	.ctc-map__frame,
	.ctc-map__load { height: var(--ctc-map-hm); }
}

/* ---------- Testimoni ---------- */
.ctc-testimonial.ctc-testimonial {
	--ctc-tm-accent: var(--ctc-accent);
	--ctc-tm-avatar: 56px;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	font-family: var(--ctc-font);
	color: var(--ctc-text-color, #222);
}

.ctc-testimonial--card { padding: max(24px, calc(var(--ctc-u) * 36)); border-radius: var(--ctc-card-radius, 16px); background: #fff; color: #222; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 12px 32px rgba(0, 0, 0, 0.08); }
.ctc-testimonial--bubble { padding: max(24px, calc(var(--ctc-u) * 32)); border-radius: 16px; background: #f4f4f4; color: #222; }
.ctc-testimonial--bubble::after { content: ""; position: absolute; left: 32px; bottom: -12px; border: 12px solid transparent; border-top-color: #f4f4f4; border-bottom: 0; }
.ctc-testimonial--center,
.ctc-testimonial--centered { align-items: center; text-align: center; }
.ctc-testimonial--centered .ctc-testimonial__footer { flex-direction: column; }
.ctc-testimonial__mark { font-size: max(32px, calc(var(--ctc-u) * 44)); line-height: 0; color: var(--ctc-tm-accent); opacity: 0.9; }
.ctc-testimonial__rating { display: flex; gap: 2px; font-size: 18px; color: #d9d9d9; }
.ctc-testimonial__rating svg.is-on { color: var(--ctc-tm-accent); }
.ctc-testimonial .ctc-testimonial__quote { margin: 0; padding: 0; border: 0; background: none; }
.ctc-testimonial .ctc-testimonial__quote p { margin: 0; font-size: max(15px, calc(var(--ctc-u) * 17)); font-style: normal; line-height: 1.7; letter-spacing: 0.02em; }
.ctc-testimonial__footer { display: flex; align-items: center; gap: 14px; margin-top: auto; }
.ctc-testimonial__avatar { flex: none; width: var(--ctc-tm-avatar); height: var(--ctc-tm-avatar); object-fit: cover; border-radius: 50%; background: #e5e5e5; }
.ctc-testimonial--avatar-rounded .ctc-testimonial__avatar { border-radius: 12px; }
.ctc-testimonial--avatar-square .ctc-testimonial__avatar { border-radius: 0; }
.ctc-testimonial__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ctc-testimonial__name { font-size: max(14px, calc(var(--ctc-u) * 15)); font-weight: 700; letter-spacing: 0.02em; }
.ctc-testimonial__role { font-size: max(12px, calc(var(--ctc-u) * 13)); color: var(--ctc-muted-color, #5c5c5c); }
.ctc-testimonial__logo { max-height: 32px; width: auto; margin-left: auto; opacity: 0.85; }
.ctc-testimonial--centered .ctc-testimonial__logo { margin-left: 0; }

/* ---------- Tabel harga ---------- */
.ctc-pricing.ctc-pricing {
	--ctc-pr-accent: var(--ctc-accent);
	--ctc-pr-fs: max(36px, calc(var(--ctc-u) * 48));
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	height: 100%;
	margin: 0;
	padding: max(24px, calc(var(--ctc-u) * 36));
	border: 1px solid var(--ctc-line-color, #e3e3e3);
	border-radius: var(--ctc-card-radius, 16px);
	background: #fff;
	color: #222;
	font-family: var(--ctc-font);
}

.ctc-pricing--center { align-items: center; text-align: center; }
.ctc-pricing.is-highlighted { border-color: var(--ctc-pr-accent); box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12); }
.ctc-pricing__badge { display: inline-block; align-self: flex-start; padding: 4px 12px; border-radius: 999px; background: var(--ctc-pr-accent); color: #fff; font-size: 11.5px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.ctc-pricing__badge:empty { display: none; }
.ctc-pricing--center .ctc-pricing__badge { align-self: center; }
.ctc-pricing .ctc-pricing__title { margin: 4px 0 0; font-family: var(--ctc-font); font-size: max(18px, calc(var(--ctc-u) * 22)); font-weight: 700; line-height: 1.25; }
.ctc-pricing .ctc-pricing__subtitle { margin: 0; color: var(--ctc-muted-color, #5c5c5c); font-size: 14px; line-height: 1.5; }
.ctc-pricing__price { display: flex; align-items: baseline; gap: 4px; margin: 10px 0 0; line-height: 1; }
.ctc-pricing--center .ctc-pricing__price { justify-content: center; }
.ctc-pricing__currency { font-size: calc(var(--ctc-pr-fs) * 0.45); font-weight: 600; }
.ctc-pricing__amount { font-size: var(--ctc-pr-fs); font-weight: 700; letter-spacing: -0.02em; }
.ctc-pricing__period { margin-left: 4px; color: var(--ctc-muted-color, #5c5c5c); font-size: 14px; }
.ctc-pricing .ctc-pricing__note { margin: 0; color: var(--ctc-muted-color, #5c5c5c); font-size: 12.5px; }
.ctc-pricing .ctc-pricing__features { display: flex; flex-direction: column; gap: 10px; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid var(--ctc-line-color, #e3e3e3); list-style: none; }
.ctc-pricing .ctc-pricing__feature { display: flex; align-items: flex-start; gap: 10px; margin: 0; padding: 0; font-size: 14.5px; line-height: 1.5; letter-spacing: 0.02em; }
.ctc-pricing .ctc-pricing__feature::marker,
.ctc-pricing .ctc-pricing__feature::before { content: none; }
.ctc-pricing .ctc-pricing__feature.is-off { color: #a0a0a0; text-decoration: line-through; }
.ctc-pricing__icon { flex: none; margin-top: 0.15em; font-size: 18px; color: var(--ctc-pr-accent); }
.ctc-pricing .is-off .ctc-pricing__icon { color: #c4c4c4; }
.ctc-pricing__action { width: 100%; margin-top: auto; padding-top: 18px; }
.ctc-btn.ctc-btn--block:not(#ctc-x) { display: flex; width: 100%; }

/* ---------- Hitung mundur ---------- */
.ctc-countdown.ctc-countdown {
	--ctc-cd-num: var(--ctc-heading-color, #000);
	--ctc-cd-label: var(--ctc-muted-color, #5c5c5c);
	--ctc-cd-bg: #f2f2f2;
	--ctc-cd-radius: 12px;
	--ctc-cd-gap: 16px;
	--ctc-cd-size: 44px;
	margin: 0;
	font-family: var(--ctc-font);
	text-align: center;
}

.ctc-countdown--left { text-align: left; }
.ctc-countdown--right { text-align: right; }
.ctc-countdown--sm { --ctc-cd-size: 28px; }
.ctc-countdown--lg { --ctc-cd-size: 64px; }
.ctc-countdown--xl { --ctc-cd-size: 88px; }
.ctc-countdown__units { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: var(--ctc-cd-gap); }
.ctc-countdown--left .ctc-countdown__units { justify-content: flex-start; }
.ctc-countdown--right .ctc-countdown__units { justify-content: flex-end; }
.ctc-countdown__unit { display: flex; flex-direction: column; align-items: center; gap: 6px; min-width: calc(var(--ctc-cd-size) * 1.9); }
.ctc-countdown__num { color: var(--ctc-cd-num); font-size: var(--ctc-cd-size); font-weight: 700; line-height: 1; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }
.ctc-countdown__label { color: var(--ctc-cd-label); font-size: max(11px, calc(var(--ctc-cd-size) * 0.28)); font-weight: 500; letter-spacing: 0.1em; text-transform: uppercase; }
.ctc-countdown--boxes .ctc-countdown__unit { padding: calc(var(--ctc-cd-size) * 0.35) calc(var(--ctc-cd-size) * 0.3); border-radius: var(--ctc-cd-radius); background: var(--ctc-cd-bg); }
.ctc-countdown--circles .ctc-countdown__unit { justify-content: center; width: calc(var(--ctc-cd-size) * 2.2); height: calc(var(--ctc-cd-size) * 2.2); border-radius: 50%; background: var(--ctc-cd-bg); }
.ctc-countdown--circles .ctc-countdown__num { font-size: calc(var(--ctc-cd-size) * 0.8); }
.ctc-countdown--inline .ctc-countdown__units { gap: 0; }
.ctc-countdown--inline .ctc-countdown__unit { flex-direction: row; align-items: baseline; gap: 4px; min-width: 0; }
.ctc-countdown--inline .ctc-countdown__unit + .ctc-countdown__unit::before { content: ":"; margin: 0 6px; color: var(--ctc-cd-num); font-size: var(--ctc-cd-size); font-weight: 700; }
.ctc-countdown--inline .ctc-countdown__label { font-size: max(11px, calc(var(--ctc-cd-size) * 0.3)); text-transform: none; letter-spacing: 0; }
.ctc-countdown__expired { margin: 14px 0 0; color: var(--ctc-cd-label); font-size: 15px; }
.ctc-countdown__expired[hidden] { display: none; }

/* ---------- Marquee ---------- */
.ctc-marquee.ctc-marquee {
	--ctc-mq-h: 48;
	--ctc-mq-gap: 64px;
	--ctc-mq-speed: 40;
	--ctc-mq-count: 5;
	position: relative;
	margin: 0;
	overflow: hidden;
	line-height: 0;
}

.ctc-marquee--fade { -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.ctc-marquee__track { display: flex; width: max-content; animation: ctc-marquee calc(var(--ctc-mq-count) * 200px / var(--ctc-mq-speed) * 1s) linear infinite; }
.ctc-marquee--right .ctc-marquee__track { animation-direction: reverse; }
.ctc-marquee--pause:hover .ctc-marquee__track { animation-play-state: paused; }
.ctc-marquee__group { display: flex; align-items: center; flex: none; gap: var(--ctc-mq-gap); padding-right: var(--ctc-mq-gap); }
.ctc-marquee__item { flex: none; }
.ctc-marquee__item a { display: block; }
.ctc-marquee__img { display: block; width: auto; max-width: none; height: max(calc(var(--h, var(--ctc-mq-h)) * 0.6px), calc(var(--ctc-u) * var(--h, var(--ctc-mq-h)))); object-fit: contain; }
.ctc-marquee--grayscale .ctc-marquee__img { filter: grayscale(1); opacity: 0.7; transition: filter 0.25s ease, opacity 0.25s ease; }
.ctc-marquee--grayscale .ctc-marquee__item:hover .ctc-marquee__img { filter: none; opacity: 1; }
@keyframes ctc-marquee { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@media (prefers-reduced-motion: reduce) {
	.ctc-marquee__track { animation: none; flex-wrap: wrap; width: 100%; }
	.ctc-marquee__group[aria-hidden="true"] { display: none; }
	.ctc-marquee__group { flex-wrap: wrap; justify-content: center; width: 100%; padding-right: 0; row-gap: 16px; }
}

/* ---------- Header / menu ---------- */
.ctc-header.ctc-header {
	--ctc-hd-bg: #fff;
	--ctc-hd-bg-stuck: #fff;
	--ctc-hd-fg: #111;
	--ctc-hd-fg-stuck: #111;
	--ctc-hd-hover: var(--ctc-accent);
	--ctc-hd-h: 88px;
	--ctc-hd-h-stuck: 64px;
	--ctc-hd-maxw: 1274px;
	--ctc-hd-logo: 160px;
	--ctc-hd-logo-s: 130px;
	--ctc-hd-logo-m: 120px;
	--ctc-hd-fs: 14px;
	--ctc-hd-fw: 600;
	--ctc-hd-gap: 32px;
	--ctc-hd-mbg: #111;
	--ctc-hd-mfg: #fff;
	position: relative;
	z-index: 100;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	background: var(--ctc-hd-bg);
	color: var(--ctc-hd-fg);
	font-family: var(--ctc-font);
	transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.3s ease;
}

.ctc-header.is-sticky { position: sticky; top: 0; }
.ctc-header.is-transparent { position: absolute; top: 0; left: 0; right: 0; }
.ctc-header.is-transparent.is-sticky { position: fixed; }
.ctc-header.is-stuck { background: var(--ctc-hd-bg-stuck); color: var(--ctc-hd-fg-stuck); }
.ctc-header.has-blur.is-stuck { -webkit-backdrop-filter: saturate(160%) blur(12px); backdrop-filter: saturate(160%) blur(12px); }
.ctc-header.has-stuck-shadow.is-stuck { box-shadow: 0 6px 24px rgba(0, 0, 0, 0.1); }
.ctc-header.is-hidden { transform: translateY(-100%); }
body.admin-bar .ctc-header.is-sticky { top: 32px; }
@media (max-width: 782px) { body.admin-bar .ctc-header.is-sticky { top: 46px; } }

.ctc-header__inner {
	display: flex;
	align-items: center;
	gap: 24px;
	width: min(100% - 2 * var(--ctc-gutter), var(--ctc-hd-maxw));
	min-height: var(--ctc-hd-h);
	margin: 0 auto;
	transition: min-height 0.25s ease;
}

.ctc-header.can-shrink.is-stuck .ctc-header__inner { min-height: var(--ctc-hd-h-stuck); }
.ctc-header__brand { display: inline-flex; align-items: center; flex: none; line-height: 0; }
.ctc-header__logo { display: block; width: var(--ctc-hd-logo); height: auto; max-width: 100%; transition: width 0.25s ease, opacity 0.2s ease; }
.ctc-header.can-shrink.is-stuck .ctc-header__logo { width: var(--ctc-hd-logo-s); }
.ctc-header.has-alt-logo .ctc-header__logo--alt { display: none; }
.ctc-header.has-alt-logo.is-transparent.is-stuck .ctc-header__logo--main,
.ctc-header.has-alt-logo:not(.is-transparent) .ctc-header__logo--main { display: none; }
.ctc-header.has-alt-logo.is-transparent.is-stuck .ctc-header__logo--alt,
.ctc-header.has-alt-logo:not(.is-transparent) .ctc-header__logo--alt { display: block; }

.ctc-header__nav { flex: 1 1 auto; min-width: 0; }
.ctc-header--menu-center .ctc-header__nav { display: flex; justify-content: center; }
.ctc-header--menu-right .ctc-header__nav { display: flex; justify-content: flex-end; }
.ctc-header--menu-right .ctc-header__inner { gap: var(--ctc-hd-gap); }
.ctc-header--menu-right .ctc-header__nav { flex: 0 0 auto; margin-left: auto; }
.ctc-header--logo-center .ctc-header__inner { flex-wrap: wrap; justify-content: center; padding: 12px 0; }
.ctc-header--logo-center .ctc-header__brand { width: 100%; justify-content: center; }
.ctc-header--logo-center .ctc-header__nav { flex: 0 0 auto; }
.ctc-header--logo-center .ctc-header__actions { margin-left: 0; }

.ctc-header .ctc-header__menu { display: flex; align-items: center; gap: var(--ctc-hd-gap); margin: 0; padding: 0; list-style: none; }
.ctc-header .ctc-header__item { position: relative; margin: 0; padding: 0; list-style: none; }
.ctc-header .ctc-header__item::before,
.ctc-header .ctc-header__item::marker { content: none; }
.ctc-header .ctc-header__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 8px 0;
	color: inherit;
	font-size: var(--ctc-hd-fs);
	font-weight: var(--ctc-hd-fw);
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.15s ease;
}
.ctc-header.is-uppercase .ctc-header__link { text-transform: uppercase; letter-spacing: 0.1em; }
.ctc-header a.ctc-header__link:hover,
.ctc-header a.ctc-header__link:focus-visible,
.ctc-header .ctc-header__link.is-current,
.ctc-header .is-current > .ctc-header__link { color: var(--ctc-hd-hover); }
.ctc-header__caret { font-size: 0.9em; opacity: 0.7; }

/* Submenu desktop */
.ctc-header .ctc-header__menu--sub {
	position: absolute;
	top: 100%;
	left: -16px;
	z-index: 5;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	min-width: 220px;
	padding: 8px 0;
	border-radius: 10px;
	background: var(--ctc-hd-bg-stuck);
	color: var(--ctc-hd-fg-stuck);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.15s ease, transform 0.15s ease, visibility 0s linear 0.15s;
}
.ctc-header .ctc-header__item:hover > .ctc-header__menu--sub,
.ctc-header .ctc-header__item:focus-within > .ctc-header__menu--sub { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.ctc-header .ctc-header__menu--sub .ctc-header__link { display: flex; padding: 9px 18px; white-space: normal; }
.ctc-header .ctc-header__menu--sub .ctc-header__menu--sub { top: -8px; left: 100%; }

.ctc-header__actions { display: flex; align-items: center; gap: 16px; flex: none; margin-left: auto; }
.ctc-header .ctc-header__toggle {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.ctc-header .ctc-header__toggle:focus-visible { outline: 2px solid var(--ctc-hd-hover); outline-offset: 2px; }
.ctc-header__burger { display: flex; flex-direction: column; gap: 5px; width: 22px; }
.ctc-header__burger i { display: block; height: 2px; border-radius: 2px; background: currentColor; transition: transform 0.25s ease, opacity 0.2s ease; }
.ctc-header.is-open .ctc-header__burger i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ctc-header.is-open .ctc-header__burger i:nth-child(2) { opacity: 0; }
.ctc-header.is-open .ctc-header__burger i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Panel ponsel */
.ctc-header__mobile { position: fixed; inset: 0; z-index: 101; display: flex; justify-content: flex-end; }
.ctc-header__mobile[hidden] { display: none; }
.ctc-header__mobile::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45); animation: ctc-fade-in 0.2s ease; }
.ctc-header__mobile-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: min(360px, 88vw);
	height: 100%;
	padding: 72px 28px 32px;
	overflow: auto;
	background: var(--ctc-hd-mbg);
	color: var(--ctc-hd-mfg);
	box-shadow: -10px 0 40px rgba(0, 0, 0, 0.3);
	animation: ctc-slide-in-right 0.25s ease;
}
.ctc-header--mobile-full .ctc-header__mobile-inner { width: 100%; align-items: center; text-align: center; box-shadow: none; }
.ctc-header--mobile-dropdown .ctc-header__mobile { position: absolute; top: 100%; bottom: auto; }
.ctc-header--mobile-dropdown .ctc-header__mobile::before { content: none; }
.ctc-header--mobile-dropdown .ctc-header__mobile-inner { width: 100%; height: auto; padding: 16px var(--ctc-gutter) 28px; animation: ctc-fade-in 0.2s ease; }
.ctc-header--mobile-dropdown .ctc-header__close { display: none; }
.ctc-header .ctc-header__close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.12); color: inherit; font-size: 26px; line-height: 1; cursor: pointer; }
.ctc-header .ctc-header__mobile-menu { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; }
.ctc-header .ctc-header__mobile-menu .ctc-header__link { display: block; padding: 12px 0; font-size: calc(var(--ctc-hd-fs) + 4px); white-space: normal; }
.ctc-header .ctc-header__mobile-menu .ctc-header__menu--sub,
.ctc-header .ctc-header__mobile-menu .ctc-header__mobile-menu--sub { position: static; min-width: 0; margin: 0 0 8px 16px; padding: 0; background: none; color: inherit; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
.ctc-header .ctc-header__mobile-menu--sub .ctc-header__link { padding: 8px 0; font-size: var(--ctc-hd-fs); opacity: 0.85; }
.ctc-header__mobile-cta { margin-top: 16px; }
html.ctc-menu-open { overflow: hidden; }

@keyframes ctc-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes ctc-slide-in-right { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }

/* ---------- Popup ---------- */
.ctc-popup {
	--ctc-pop-w: 560px;
	--ctc-pop-overlay: rgba(0, 0, 0, 0.6);
	--ctc-pop-radius: 16px;
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	font-family: var(--ctc-font);
}
.ctc-popup[hidden] { display: none; }
.ctc-popup--top { align-items: flex-start; }
.ctc-popup--bottom { align-items: flex-end; padding: 0; }
.ctc-popup--bottom-right { align-items: flex-end; justify-content: flex-end; }
.ctc-popup--bottom-left { align-items: flex-end; justify-content: flex-start; }
.ctc-popup--bottom-right .ctc-popup__backdrop,
.ctc-popup--bottom-left .ctc-popup__backdrop { background: transparent; pointer-events: none; }
.ctc-popup--bottom-right,
.ctc-popup--bottom-left { pointer-events: none; }
.ctc-popup--bottom-right .ctc-popup__dialog,
.ctc-popup--bottom-left .ctc-popup__dialog { pointer-events: auto; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3); }
.ctc-popup__backdrop { position: absolute; inset: 0; background: var(--ctc-pop-overlay); opacity: 0; transition: opacity 0.25s ease; }
.ctc-popup.has-blur .ctc-popup__backdrop { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.ctc-popup.is-open .ctc-popup__backdrop { opacity: 1; }
.ctc-popup .ctc-popup__dialog {
	position: relative;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: var(--ctc-pop-w);
	max-height: calc(100vh - 48px);
	overflow: auto;
	padding: max(24px, calc(var(--ctc-u) * 40));
	border-radius: var(--ctc-pop-radius);
	background: #fff;
	color: #222;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35);
	opacity: 0;
	transform: scale(0.94);
	transition: opacity 0.25s ease, transform 0.25s ease;
}
.ctc-popup--bottom .ctc-popup__dialog { max-width: none; border-radius: var(--ctc-pop-radius) var(--ctc-pop-radius) 0 0; }
.ctc-popup--anim-fade .ctc-popup__dialog { transform: none; }
.ctc-popup--anim-slide-up .ctc-popup__dialog { transform: translateY(40px); }
.ctc-popup--anim-slide-down .ctc-popup__dialog { transform: translateY(-40px); }
.ctc-popup.is-open .ctc-popup__dialog { opacity: 1; transform: none; }
.ctc-popup.has-media .ctc-popup__dialog { flex-direction: row; padding: 0; overflow: hidden; }
.ctc-popup--media-right .ctc-popup__dialog { flex-direction: row-reverse; }
.ctc-popup--media-top .ctc-popup__dialog { flex-direction: column; }
.ctc-popup__media { flex: 0 0 42%; min-height: 200px; }
.ctc-popup--media-top .ctc-popup__media { flex-basis: auto; max-height: 240px; }
.ctc-popup__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ctc-popup.has-media .ctc-popup__content { flex: 1 1 auto; min-width: 0; padding: max(24px, calc(var(--ctc-u) * 40)); overflow: auto; }
.ctc-popup__content > * { margin-top: 0; margin-bottom: 0; }
.ctc-popup .ctc-popup__close {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.06);
	color: inherit;
	font-size: 18px;
	cursor: pointer;
	transition: background-color 0.15s ease;
}
.ctc-popup .ctc-popup__close:hover { background: rgba(0, 0, 0, 0.14); }
.ctc-popup--close-outside .ctc-popup__close { top: -44px; right: 0; background: rgba(255, 255, 255, 0.15); color: #fff; }
.ctc-popup--close-outside .ctc-popup__dialog { overflow: visible; }
html.ctc-popup-open { overflow: hidden; }
@media (max-width: 600px) {
	.ctc-popup { padding: 12px; }
	.ctc-popup.has-media .ctc-popup__dialog { flex-direction: column; }
	.ctc-popup__media { flex-basis: auto; max-height: 180px; }
}
@media (prefers-reduced-motion: reduce) {
	.ctc-popup__dialog,
	.ctc-popup__backdrop,
	.ctc-header__mobile-inner { transition: none; animation: none; }
}

/* ---------- Form v1.2: langkah, file, radio, tanggal ---------- */
.ctc-form .ctc-steps {
	display: flex;
	gap: 8px;
	margin: max(14px, calc(var(--ctc-u) * 20)) 0 0;
	padding: 0;
	list-style: none;
	counter-reset: ctc-step;
}
.ctc-form .ctc-steps__item { display: flex; flex: 1 1 0; flex-direction: column; gap: 8px; margin: 0; padding: 0; color: #9a9a9a; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; list-style: none; }
.ctc-form .ctc-steps__item::before,
.ctc-form .ctc-steps__item::marker { content: none; }
.ctc-form .ctc-steps__item.is-active,
.ctc-form .ctc-steps__item.is-done { color: #111; }
.ctc-form .ctc-steps--progress .ctc-steps__item::after { content: ""; display: block; order: -1; height: 4px; border-radius: 2px; background: #e6e6e6; transition: background-color 0.25s ease; }
.ctc-form .ctc-steps--progress .ctc-steps__item.is-active::after,
.ctc-form .ctc-steps--progress .ctc-steps__item.is-done::after { background: var(--ctc-accent); }
.ctc-form .ctc-steps--progress .ctc-steps__num { display: none; }
.ctc-form .ctc-steps--numbers .ctc-steps__item { flex-direction: row; align-items: center; }
.ctc-form .ctc-steps--numbers .ctc-steps__num { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: #ececec; color: #777; font-size: 12px; }
.ctc-form .ctc-steps--numbers .ctc-steps__item.is-active .ctc-steps__num,
.ctc-form .ctc-steps--numbers .ctc-steps__item.is-done .ctc-steps__num { background: var(--ctc-accent); color: #fff; }
.ctc-form .ctc-steps--dots { justify-content: center; }
.ctc-form .ctc-steps--dots .ctc-steps__item { flex: none; }
.ctc-form .ctc-steps--dots .ctc-steps__num,
.ctc-form .ctc-steps--dots .ctc-steps__title { display: none; }
.ctc-form .ctc-steps--dots .ctc-steps__item::before { content: ""; display: block; width: 10px; height: 10px; border-radius: 50%; background: #dcdcdc; }
.ctc-form .ctc-steps--dots .ctc-steps__item.is-active::before,
.ctc-form .ctc-steps--dots .ctc-steps__item.is-done::before { background: var(--ctc-accent); }
.ctc-form__step[hidden] { display: none; }
.ctc-form__stepnav { display: flex; justify-content: space-between; gap: 12px; margin-top: max(18px, calc(var(--ctc-u) * 24)); }
.ctc-form__stepnav .ctc-form__next,
.ctc-form__stepnav .ctc-btn:last-child { margin-left: auto; }
.ctc-form__last-only[hidden] { display: none !important; }

.ctc-form .ctc-field__group { margin: 0; padding: 0; border: 0; min-width: 0; }
.ctc-form .ctc-field__legend { margin: 0 0 8px; padding: 0; color: #333; font-size: max(13px, calc(var(--ctc-u) * 13.5)); font-weight: 500; letter-spacing: 0.02em; }
.ctc-form .ctc-field--radio .ctc-check,
.ctc-form .ctc-field--checkbox .ctc-check { margin: 0 18px 8px 0; }
.ctc-form .ctc-field--checkbox .ctc-check { margin: 4px 0; }
.ctc-form .ctc-check input[type="radio"] { position: static; display: inline-grid; place-content: center; flex: none; width: 16px; height: 16px; margin: 0; border: 1.5px solid #555; border-radius: 50%; background: #fff; -webkit-appearance: none; appearance: none; cursor: pointer; }
.ctc-form .ctc-check input[type="radio"]::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ctc-accent); transform: scale(0); transition: transform 0.12s ease; }
.ctc-form .ctc-check input[type="radio"]:checked { border-color: var(--ctc-accent); }
.ctc-form .ctc-check input[type="radio"]:checked::before { transform: scale(1); }
.ctc-form .ctc-field__label--static { position: static; display: block; order: -1; margin: 0 0 6px; transform: none; color: #333; font-weight: 500; opacity: 1 !important; }
.ctc-form .ctc-field--date { display: flex; flex-direction: column; }
.ctc-form input[type="date"].ctc-field__control { color: #1a1a1a; }

.ctc-file { position: relative; }
.ctc-file__input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.ctc-file__label { display: flex; align-items: center; gap: 12px; min-height: max(46px, calc(var(--ctc-u) * 50.2)); padding: 6px 6px 6px 6px; border: 1px dashed #cfcfcf; border-radius: max(9px, calc(var(--ctc-u) * 11)); background: var(--ctc-field-bg, var(--ctc-field)); color: #ababab; font-size: max(12.5px, calc(var(--ctc-u) * 13.5)); letter-spacing: 0.03em; pointer-events: none; }
.ctc-file__btn { flex: none; padding: 8px 14px; border-radius: 8px; background: #111; color: #fff; font-size: 12.5px; font-weight: 600; }
.ctc-file__name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ctc-file.has-file .ctc-file__label { border-style: solid; color: #1a1a1a; }
.ctc-file__hint { display: block; margin: 6px 2px 0; color: #999; font-size: 11.5px; }
.ctc-file__input:focus-visible ~ .ctc-file__label { outline: 2px solid var(--ctc-accent); outline-offset: 2px; }
.ctc-field.has-error .ctc-file__label { border-color: #e0584f; background: #fff6f5; }
.ctc-field.is-cond-hidden { display: none !important; }

/* ---------- v1.3: latar section lanjutan ---------- */
.ctc-section__media video,
.ctc-section__media iframe {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	border: 0;
	object-fit: cover;
	object-position: var(--ctc-bg-pos, 50% 50%);
}
.ctc-section__media--yt { background-size: cover; background-position: center; }
.ctc-section__media--yt iframe { position: absolute; top: 50%; left: 50%; width: max(100%, calc(100vh * 1.78)); height: max(100%, calc(100vw * 0.5625)); transform: translate(-50%, -50%); pointer-events: none; }
.ctc-section__media--slides img { position: absolute; inset: 0; opacity: 0; transition: opacity 1.2s ease; }
.ctc-section__media--slides img.is-active { opacity: 1; }
.ctc-section__media img,
.ctc-section__media video,
.ctc-section__media iframe { mix-blend-mode: var(--ctc-media-blend, normal); }
.ctc-section.has-gradient-overlay .ctc-section__overlay { background: var(--ctc-overlay-gradient); opacity: 1; }
.ctc-section__pattern {
	--ctc-pattern-color: #fff;
	--ctc-pattern-opacity: 0.1;
	--ctc-pattern-size: 24px;
	position: absolute;
	inset: 0;
	z-index: 0;
	opacity: var(--ctc-pattern-opacity);
	pointer-events: none;
}
.ctc-section__pattern--dots { background-image: radial-gradient(var(--ctc-pattern-color) 1.5px, transparent 1.5px); background-size: var(--ctc-pattern-size) var(--ctc-pattern-size); }
.ctc-section__pattern--grid { background-image: linear-gradient(var(--ctc-pattern-color) 1px, transparent 1px), linear-gradient(90deg, var(--ctc-pattern-color) 1px, transparent 1px); background-size: var(--ctc-pattern-size) var(--ctc-pattern-size); }
.ctc-section__pattern--diagonal { background-image: repeating-linear-gradient(45deg, var(--ctc-pattern-color) 0 1px, transparent 1px var(--ctc-pattern-size)); }
.ctc-section__pattern--cross { background-image: repeating-linear-gradient(45deg, var(--ctc-pattern-color) 0 1px, transparent 1px var(--ctc-pattern-size)), repeating-linear-gradient(-45deg, var(--ctc-pattern-color) 0 1px, transparent 1px var(--ctc-pattern-size)); }
.ctc-section__pattern--waves { background-image: radial-gradient(circle at 50% 100%, transparent calc(var(--ctc-pattern-size) * 0.6), var(--ctc-pattern-color) calc(var(--ctc-pattern-size) * 0.6 + 1px), transparent calc(var(--ctc-pattern-size) * 0.6 + 2px)); background-size: var(--ctc-pattern-size) calc(var(--ctc-pattern-size) * 0.5); }
.ctc-section__pattern--noise { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 200px 200px; mix-blend-mode: overlay; }
.ctc-section.has-ctc-divider > .ctc-section__pattern { z-index: 0; }
@media (prefers-reduced-motion: reduce) {
	.ctc-section__media--video video { display: none; }
	.ctc-section__media--yt iframe { display: none; }
	.ctc-section__media--slides img { transition: none; }
}
.ctc-visits-pending { visibility: hidden; }

/* ==========================================================================
   v1.3 — blok baru: hotspot, timeline, galeri, tabel, tim, progress, flip card,
   before/after, WhatsApp (+ tombol melayang)
   ========================================================================== */

/* ---------- Hotspot ---------- */
.ctc-hotspot { --ctc-pin-color: var(--ctc-accent, #f36f21); --ctc-pin-size: 28px; --ctc-tip-w: 260px; --ctc-hs-radius: 12px; }
.ctc-hotspot__stage { position: relative; overflow: visible; border-radius: var(--ctc-hs-radius); line-height: 0; }
.ctc-hotspot__img { display: block; width: 100%; height: auto; border-radius: var(--ctc-hs-radius); }
.ctc-hotspot__pin { position: absolute; z-index: 2; transform: translate(-50%, -50%); line-height: 1.4; }
.ctc-hotspot__pin.is-open { z-index: 5; }
.ctc-hotspot__btn { display: inline-flex; align-items: center; justify-content: center; min-width: var(--ctc-pin-size); height: var(--ctc-pin-size); padding: 0; border: 3px solid #fff; border-radius: 999px; background: var(--ctc-pin-color); color: #fff; font: 700 calc(var(--ctc-pin-size) * 0.5)/1 inherit; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3); transition: transform 0.2s ease; }
.ctc-hotspot__btn:hover, .ctc-hotspot__pin.is-open .ctc-hotspot__btn { transform: scale(1.12); }
.ctc-hotspot__btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.ctc-hotspot.has-pulse .ctc-hotspot__pin::before { content: ""; position: absolute; inset: 0; border-radius: 999px; background: var(--ctc-pin-color); opacity: 0.5; animation: ctc-pulse 2s ease-out infinite; pointer-events: none; }
@keyframes ctc-pulse { 0% { transform: scale(1); opacity: 0.55; } 100% { transform: scale(2.2); opacity: 0; } }
.ctc-hotspot--pin-label .ctc-hotspot__btn { padding: 0 0.9em; border-radius: 999px; font-size: 13px; font-weight: 600; white-space: nowrap; }
.ctc-hotspot__icon { display: inline-flex; width: 60%; height: 60%; }
.ctc-hotspot__icon svg { width: 100%; height: 100%; }
.ctc-hotspot__tip { position: absolute; z-index: 6; width: var(--ctc-tip-w); max-width: min(var(--ctc-tip-w), 80vw); padding: 14px 16px; border-radius: 12px; background: #fff; color: #222; font-size: 14px; line-height: 1.5; text-align: left; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22); opacity: 0; visibility: hidden; transform: translateY(4px); transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s; pointer-events: none; }
.ctc-hotspot__pin.is-open .ctc-hotspot__tip, .ctc-hotspot--always .ctc-hotspot__tip { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.ctc-hotspot__tip--top { bottom: calc(100% + 12px); left: 50%; transform: translate(-50%, 4px); }
.ctc-hotspot__tip--bottom { top: calc(100% + 12px); left: 50%; transform: translate(-50%, -4px); }
.ctc-hotspot__tip--left { right: calc(100% + 12px); top: 50%; transform: translate(4px, -50%); }
.ctc-hotspot__tip--right { left: calc(100% + 12px); top: 50%; transform: translate(-4px, -50%); }
.ctc-hotspot__pin.is-open .ctc-hotspot__tip--top, .ctc-hotspot--always .ctc-hotspot__tip--top, .ctc-hotspot__pin.is-open .ctc-hotspot__tip--bottom, .ctc-hotspot--always .ctc-hotspot__tip--bottom { transform: translate(-50%, 0); }
.ctc-hotspot__pin.is-open .ctc-hotspot__tip--left, .ctc-hotspot--always .ctc-hotspot__tip--left, .ctc-hotspot__pin.is-open .ctc-hotspot__tip--right, .ctc-hotspot--always .ctc-hotspot__tip--right { transform: translate(0, -50%); }
.ctc-hotspot__tip::after { content: ""; position: absolute; width: 12px; height: 12px; background: #fff; transform: rotate(45deg); }
.ctc-hotspot__tip--top::after { bottom: -6px; left: calc(50% - 6px); }
.ctc-hotspot__tip--bottom::after { top: -6px; left: calc(50% - 6px); }
.ctc-hotspot__tip--left::after { right: -6px; top: calc(50% - 6px); }
.ctc-hotspot__tip--right::after { left: -6px; top: calc(50% - 6px); }
.ctc-hotspot__title { display: block; margin: 0 0 4px; font-size: 15px; font-weight: 700; }
.ctc-hotspot__text { color: #444; }
.ctc-hotspot__link { display: inline-block; margin-top: 8px; color: var(--ctc-accent, #f36f21); font-weight: 600; text-decoration: none; }
.ctc-hotspot__link:hover { text-decoration: underline; }
@media (max-width: 780px) {
	.ctc-hotspot__tip--left, .ctc-hotspot__tip--right { left: 50%; right: auto; top: calc(100% + 12px); transform: translate(-50%, -4px); }
	.ctc-hotspot__tip--left::after, .ctc-hotspot__tip--right::after { top: -6px; left: calc(50% - 6px); right: auto; }
	.ctc-hotspot__pin.is-open .ctc-hotspot__tip--left, .ctc-hotspot__pin.is-open .ctc-hotspot__tip--right { transform: translate(-50%, 0); }
}

/* ---------- Timeline ---------- */
.ctc-timeline { --ctc-tl-line: rgba(0, 0, 0, 0.12); --ctc-tl-dot: var(--ctc-accent, #f36f21); --ctc-tl-date: var(--ctc-accent, #f36f21); --ctc-tl-dot-size: 44px; }
.ctc-timeline__list { position: relative; margin: 0; padding: 0; list-style: none; }
.ctc-timeline__item { position: relative; display: flex; gap: 24px; }
.ctc-timeline__dot { position: relative; z-index: 1; flex: 0 0 var(--ctc-tl-dot-size); display: inline-flex; align-items: center; justify-content: center; width: var(--ctc-tl-dot-size); height: var(--ctc-tl-dot-size); border-radius: 50%; background: var(--ctc-tl-dot); color: #fff; font-weight: 700; box-shadow: 0 0 0 6px #fff; }
.ctc-timeline__dot svg { width: 55%; height: 55%; }
.ctc-timeline__icon { display: inline-flex; width: 55%; height: 55%; }
.ctc-timeline__icon svg { width: 100%; height: 100%; }
.ctc-timeline--dot-dot .ctc-timeline__dot { --ctc-tl-dot-size: 18px; }
.ctc-timeline__content { flex: 1 1 auto; min-width: 0; padding-bottom: 40px; }
.ctc-timeline__date { display: inline-block; margin-bottom: 6px; color: var(--ctc-tl-date); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.ctc-timeline__title { margin: 0 0 8px; font-size: max(18px, calc(var(--ctc-u, 1px) * 22)); font-weight: 700; line-height: 1.25; color: var(--ctc-heading-color, inherit); }
.ctc-timeline__text { color: var(--ctc-text-color, inherit); opacity: 0.85; }
.ctc-timeline__media { margin-top: 14px; }
.ctc-timeline__img { display: block; max-width: 100%; height: auto; border-radius: 12px; }
.ctc-timeline--card-card .ctc-timeline__content > :not(.ctc-timeline__date), .ctc-timeline--card-outline .ctc-timeline__content > :not(.ctc-timeline__date) { margin-left: 0; }
.ctc-timeline--card-card .ctc-timeline__content, .ctc-timeline--card-outline .ctc-timeline__content { padding: 20px 24px; margin-bottom: 32px; border-radius: var(--ctc-card-radius, 16px); }
.ctc-timeline--card-card .ctc-timeline__content { background: #fff; color: #222; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 12px 32px rgba(0, 0, 0, 0.08); }
.ctc-timeline--card-outline .ctc-timeline__content { border: 1px solid var(--ctc-tl-line); }
.ctc-timeline__item.is-done .ctc-timeline__dot { opacity: 0.55; }
.ctc-timeline__item.is-upcoming .ctc-timeline__dot { background: #fff; color: var(--ctc-tl-dot); box-shadow: 0 0 0 6px #fff, inset 0 0 0 2px var(--ctc-tl-dot); }
.ctc-timeline__item.is-active .ctc-timeline__dot { box-shadow: 0 0 0 6px #fff, 0 0 0 10px color-mix(in srgb, var(--ctc-tl-dot) 25%, transparent); }
/* vertikal */
.ctc-timeline--vertical .ctc-timeline__list::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--ctc-tl-dot-size) / 2 - 1px); width: 2px; background: var(--ctc-tl-line); }
.ctc-timeline--vertical.ctc-timeline--dot-dot .ctc-timeline__list::before { left: 8px; }
.ctc-timeline--vertical .ctc-timeline__item:last-child .ctc-timeline__content { padding-bottom: 0; }
.ctc-timeline--vertical.ctc-timeline--right .ctc-timeline__item { flex-direction: row-reverse; text-align: right; }
.ctc-timeline--vertical.ctc-timeline--right .ctc-timeline__list::before { left: auto; right: calc(var(--ctc-tl-dot-size) / 2 - 1px); }
@media (min-width: 781px) {
	.ctc-timeline--vertical.ctc-timeline--alternate .ctc-timeline__list::before { left: 50%; margin-left: -1px; }
	.ctc-timeline--vertical.ctc-timeline--alternate .ctc-timeline__item { width: 50%; padding-right: 40px; flex-direction: row-reverse; text-align: right; }
	.ctc-timeline--vertical.ctc-timeline--alternate .ctc-timeline__item:nth-child(even) { margin-left: 50%; padding-right: 0; padding-left: 40px; flex-direction: row; text-align: left; }
	.ctc-timeline--vertical.ctc-timeline--alternate .ctc-timeline__dot { position: absolute; top: 0; right: calc(var(--ctc-tl-dot-size) / -2); }
	.ctc-timeline--vertical.ctc-timeline--alternate .ctc-timeline__item:nth-child(even) .ctc-timeline__dot { right: auto; left: calc(var(--ctc-tl-dot-size) / -2); }
	.ctc-timeline--vertical.ctc-timeline--alternate .ctc-timeline__content { padding-top: 4px; }
}
/* horizontal */
.ctc-timeline--horizontal .ctc-timeline__list { display: flex; gap: 24px; overflow-x: auto; padding: 6px 0 12px; scroll-snap-type: x mandatory; }
.ctc-timeline--horizontal .ctc-timeline__list::before { content: ""; position: absolute; left: 0; right: 0; top: calc(6px + var(--ctc-tl-dot-size) / 2 - 1px); height: 2px; background: var(--ctc-tl-line); }
.ctc-timeline--horizontal .ctc-timeline__item { flex: 0 0 min(300px, 80vw); flex-direction: column; gap: 16px; scroll-snap-align: start; }
.ctc-timeline--horizontal .ctc-timeline__content { padding-bottom: 0; }
.ctc-timeline--horizontal .ctc-timeline__list::-webkit-scrollbar { height: 6px; }
.ctc-timeline--horizontal .ctc-timeline__list::-webkit-scrollbar-thumb { border-radius: 3px; background: rgba(0, 0, 0, 0.2); }
.ctc-section--dark .ctc-timeline__dot, .ctc-section--footer .ctc-timeline__dot, .ctc-section--flame-rise .ctc-timeline__dot, .ctc-section--flame-fall .ctc-timeline__dot { box-shadow: 0 0 0 6px var(--ctc-dark-bg, #111); }
.ctc-section--dark .ctc-timeline { --ctc-tl-line: rgba(255, 255, 255, 0.18); }

/* ---------- Galeri ---------- */
.ctc-gallery { --ctc-gal-cols: 3; --ctc-gal-cols-t: 2; --ctc-gal-cols-m: 1; --ctc-gal-gap: 16px; --ctc-gal-radius: 12px; }
.ctc-gallery__grid { display: grid; grid-template-columns: repeat(var(--ctc-gal-cols), minmax(0, 1fr)); gap: var(--ctc-gal-gap); }
.ctc-gallery__item { position: relative; margin: 0; min-width: 0; }
.ctc-gallery__frame { position: relative; display: block; overflow: hidden; border-radius: var(--ctc-gal-radius); text-decoration: none; color: inherit; background: #eee; }
.ctc-gallery__img { display: block; width: 100%; height: auto; aspect-ratio: var(--ctc-gal-ratio, auto); object-fit: cover; transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s ease, filter 0.4s ease; }
.ctc-gallery--masonry .ctc-gallery__grid { display: block; columns: var(--ctc-gal-cols); column-gap: var(--ctc-gal-gap); }
.ctc-gallery--masonry .ctc-gallery__item { break-inside: avoid; margin-bottom: var(--ctc-gal-gap); }
.ctc-gallery--hover-zoom .ctc-gallery__frame:hover .ctc-gallery__img { transform: scale(1.06); }
.ctc-gallery--hover-fade .ctc-gallery__frame:hover .ctc-gallery__img { opacity: 0.75; }
.ctc-gallery--hover-lift .ctc-gallery__frame { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.ctc-gallery--hover-lift .ctc-gallery__frame:hover { transform: translateY(-6px); box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16); }
.ctc-gallery--hover-gray .ctc-gallery__img { filter: grayscale(1); }
.ctc-gallery--hover-gray .ctc-gallery__frame:hover .ctc-gallery__img { filter: grayscale(0); }
.ctc-gallery__cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 32px 16px 14px; background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.7)); color: #fff; font-size: 14px; line-height: 1.4; }
.ctc-gallery--cap-hover .ctc-gallery__cap { opacity: 0; transform: translateY(8px); transition: opacity 0.25s ease, transform 0.25s ease; }
.ctc-gallery--cap-hover .ctc-gallery__frame:hover .ctc-gallery__cap { opacity: 1; transform: none; }
.ctc-gallery__cap--below { position: static; padding: 10px 2px 0; background: none; color: inherit; opacity: 0.8; }
.ctc-gallery a.ctc-gallery__frame[data-ctc-lightbox]::after { content: ""; position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; border-radius: 50%; background: rgba(0, 0, 0, 0.5) center/16px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M16 16l5 5M11 8v6M8 11h6'/%3E%3C/svg%3E"); opacity: 0; transition: opacity 0.2s ease; }
.ctc-gallery a.ctc-gallery__frame[data-ctc-lightbox]:hover::after { opacity: 1; }
@media (max-width: 1024px) { .ctc-gallery { --ctc-gal-cols: var(--ctc-gal-cols-t); } }
@media (max-width: 780px) { .ctc-gallery { --ctc-gal-cols: var(--ctc-gal-cols-m); } }
/* lightbox galeri */
.ctc-lightbox--gallery .ctc-lightbox__panel { display: flex; flex-direction: column; align-items: center; width: min(1200px, 100%); }
.ctc-lightbox--gallery .ctc-lightbox__body { aspect-ratio: auto; max-height: calc(100vh - 120px); background: transparent; display: flex; align-items: center; justify-content: center; }
.ctc-lightbox__img { display: block; max-width: 100%; max-height: calc(100vh - 120px); width: auto; height: auto; object-fit: contain; border-radius: 8px; }
.ctc-lightbox__nav { position: absolute; top: 50%; z-index: 2; width: 48px; height: 48px; margin-top: -24px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, 0.15); color: #fff; font-size: 36px; line-height: 1; cursor: pointer; }
.ctc-lightbox__nav:hover { background: rgba(255, 255, 255, 0.3); }
.ctc-lightbox__nav--prev { left: -8px; }
.ctc-lightbox__nav--next { right: -8px; }
.ctc-lightbox.is-single .ctc-lightbox__nav, .ctc-lightbox.is-single .ctc-lightbox__count { display: none; }
.ctc-lightbox__foot { display: flex; gap: 16px; align-items: baseline; justify-content: space-between; width: 100%; margin-top: 12px; color: #fff; font-size: 14px; }
.ctc-lightbox__count { flex: 0 0 auto; margin-left: auto; opacity: 0.7; }
@media (max-width: 780px) { .ctc-lightbox__nav--prev { left: 4px; } .ctc-lightbox__nav--next { right: 4px; } }

/* ---------- Tabel ---------- */
.ctc-table { --ctc-tbl-head-bg: #111; --ctc-tbl-head-fg: #fff; --ctc-tbl-border: rgba(0, 0, 0, 0.1); --ctc-tbl-stripe: rgba(0, 0, 0, 0.03); --ctc-tbl-fs: 15px; }
.ctc-table__scroll { max-width: 100%; }
.ctc-table--scroll .ctc-table__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.ctc-table__table { width: 100%; border-collapse: collapse; font-size: var(--ctc-tbl-fs); line-height: 1.5; }
.ctc-table__caption { margin: 10px 0 0; font-size: 13px; opacity: 0.7; text-align: left; }
.ctc-table--scroll .ctc-table__table th, .ctc-table--scroll .ctc-table__table td { min-width: 120px; }
.ctc-table--scroll .ctc-table__table th:first-child, .ctc-table--scroll .ctc-table__table td:first-child { min-width: 150px; }
.ctc-table th, .ctc-table td { padding: 14px 16px; border-bottom: 1px solid var(--ctc-tbl-border); text-align: left; vertical-align: top; }
.ctc-table--align-center th, .ctc-table--align-center td { text-align: center; }
.ctc-table--align-right th, .ctc-table--align-right td { text-align: right; }
.ctc-table--compact th, .ctc-table--compact td { padding: 8px 12px; }
.ctc-table thead th { background: var(--ctc-tbl-head-bg); color: var(--ctc-tbl-head-fg); font-weight: 700; border-bottom: 0; }
.ctc-table thead th:first-child { border-top-left-radius: 8px; }
.ctc-table thead th:last-child { border-top-right-radius: 8px; }
.ctc-table tbody th { font-weight: 700; }
.ctc-table--striped tbody tr:nth-child(even) { background: var(--ctc-tbl-stripe); }
.ctc-table--bordered th, .ctc-table--bordered td { border: 1px solid var(--ctc-tbl-border); }
.ctc-table--bordered thead th { border-color: var(--ctc-tbl-head-bg); }
.ctc-table--sticky-header thead th { position: sticky; top: 0; z-index: 1; }
.ctc-table .is-highlight { background: color-mix(in srgb, var(--ctc-accent, #f36f21) 12%, transparent); font-weight: 600; }
.ctc-table tr.is-highlight td, .ctc-table tr.is-highlight th { background: color-mix(in srgb, var(--ctc-accent, #f36f21) 12%, transparent); }
.ctc-table th:first-child, .ctc-table td:first-child { width: var(--ctc-tbl-col1, auto); }
.ctc-section--dark .ctc-table, .ctc-section--footer .ctc-table { --ctc-tbl-head-bg: var(--ctc-accent, #f36f21); --ctc-tbl-border: rgba(255, 255, 255, 0.15); --ctc-tbl-stripe: rgba(255, 255, 255, 0.05); }
@media (max-width: 780px) {
	.ctc-table--stack thead { display: none; }
	.ctc-table--stack tr { display: block; margin-bottom: 14px; border: 1px solid var(--ctc-tbl-border); border-radius: 8px; overflow: hidden; }
	.ctc-table--stack td, .ctc-table--stack tbody th { display: flex; gap: 12px; justify-content: space-between; text-align: right; border: 0; border-bottom: 1px solid var(--ctc-tbl-border); }
	.ctc-table--stack td:last-child { border-bottom: 0; }
	.ctc-table--stack td[data-label]::before { content: attr(data-label); flex: 0 0 40%; font-weight: 700; text-align: left; opacity: 0.75; }
	.ctc-table--stack tbody th[data-label] { background: var(--ctc-tbl-head-bg); color: var(--ctc-tbl-head-fg); }
	.ctc-table--stack tbody th[data-label]::before { content: attr(data-label); flex: 0 0 40%; text-align: left; opacity: 0.75; }
}

/* ---------- Tim ---------- */
.ctc-team { --ctc-team-cols: 3; --ctc-team-cols-t: 2; --ctc-team-cols-m: 1; --ctc-team-gap: 32px; --ctc-team-ratio: 1 / 1; --ctc-team-accent: var(--ctc-accent, #f36f21); }
.ctc-team__grid { display: grid; grid-template-columns: repeat(var(--ctc-team-cols), minmax(0, 1fr)); gap: var(--ctc-team-gap); margin: 0; padding: 0; list-style: none; }
.ctc-team__item { position: relative; display: flex; flex-direction: column; min-width: 0; text-align: center; }
.ctc-team--align-left .ctc-team__item { text-align: left; }
.ctc-team__media { position: relative; overflow: hidden; margin: 0 0 18px; aspect-ratio: var(--ctc-team-ratio, auto); background: #eee; }
.ctc-team--img-rounded .ctc-team__media { border-radius: var(--ctc-card-radius, 16px); }
.ctc-team--img-circle .ctc-team__media { width: min(100%, 220px); margin-left: auto; margin-right: auto; border-radius: 50%; }
.ctc-team--align-left.ctc-team--img-circle .ctc-team__media { margin-left: 0; }
.ctc-team__img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1); }
.ctc-team__item:hover .ctc-team__img { transform: scale(1.04); }
.ctc-team__media--empty { display: flex; align-items: center; justify-content: center; font-size: 48px; font-weight: 700; color: #999; }
.ctc-team__body { display: flex; flex-direction: column; gap: 4px; }
.ctc-team__name { margin: 0; font-size: max(17px, calc(var(--ctc-u, 1px) * 20)); font-weight: 700; line-height: 1.25; color: var(--ctc-heading-color, inherit); }
.ctc-team__name a { color: inherit; text-decoration: none; }
.ctc-team__name a:hover { color: var(--ctc-team-accent); }
.ctc-team__role { color: var(--ctc-team-accent); font-size: 14px; font-weight: 600; letter-spacing: 0.02em; }
.ctc-team__bio { margin-top: 6px; font-size: 15px; line-height: 1.55; opacity: 0.8; }
.ctc-team__links { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 12px; }
.ctc-team--align-left .ctc-team__links { justify-content: flex-start; }
.ctc-team__link { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: rgba(0, 0, 0, 0.06); color: inherit; transition: background 0.2s ease, color 0.2s ease; }
.ctc-team__link:hover { background: var(--ctc-team-accent); color: #fff; }
.ctc-team__link svg { width: 18px; height: 18px; fill: currentColor; }
.ctc-team--card .ctc-team__item { padding: 20px; border-radius: var(--ctc-card-radius, 16px); background: #fff; color: #222; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 12px 32px rgba(0, 0, 0, 0.08); }
.ctc-team--overlay .ctc-team__media { margin: 0; }
.ctc-team--overlay .ctc-team__body { position: absolute; left: 0; right: 0; bottom: 0; padding: 48px 20px 20px; background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.8)); color: #fff; border-radius: 0 0 var(--ctc-card-radius, 16px) var(--ctc-card-radius, 16px); --ctc-heading-color: #fff; }
.ctc-team--overlay .ctc-team__link { background: rgba(255, 255, 255, 0.2); color: #fff; }
.ctc-team--row .ctc-team__item { flex-direction: row; gap: 20px; text-align: left; align-items: center; }
.ctc-team--row .ctc-team__media { flex: 0 0 120px; width: 120px; margin: 0; }
.ctc-team--row .ctc-team__links { justify-content: flex-start; }
.ctc-section--dark .ctc-team__link, .ctc-section--footer .ctc-team__link { background: rgba(255, 255, 255, 0.12); }
@media (max-width: 1024px) { .ctc-team { --ctc-team-cols: var(--ctc-team-cols-t); } }
@media (max-width: 780px) { .ctc-team { --ctc-team-cols: var(--ctc-team-cols-m); } }

/* ---------- Progress bar ---------- */
.ctc-progress { --ctc-pb-h: 12px; --ctc-pb-radius: 999px; --ctc-pb-color: var(--ctc-accent, #f36f21); --ctc-pb-track: rgba(0, 0, 0, 0.08); --ctc-pb-pct: 0%; display: flex; flex-direction: column; gap: 8px; }
.ctc-progress__head { display: flex; justify-content: space-between; gap: 12px; font-weight: 600; }
.ctc-progress__track { position: relative; height: var(--ctc-pb-h); overflow: hidden; border-radius: var(--ctc-pb-radius); background: var(--ctc-pb-track); }
.ctc-progress__bar { position: relative; display: flex; align-items: center; justify-content: flex-end; width: var(--ctc-pb-pct); height: 100%; border-radius: var(--ctc-pb-radius); background: var(--ctc-pb-color); color: #fff; font-size: calc(var(--ctc-pb-h) * 0.7); line-height: 1; padding: 0 0.6em; box-sizing: border-box; }
.ctc-progress--animate .ctc-progress__bar { width: 0; transition: width 1.2s cubic-bezier(0.22, 1, 0.36, 1); }
.ctc-progress--animate.is-in .ctc-progress__bar { width: var(--ctc-pb-pct); }
.ctc-progress--val-right { flex-direction: row; flex-wrap: wrap; align-items: center; }
.ctc-progress--val-right .ctc-progress__head { flex: 1 0 100%; }
.ctc-progress--val-right .ctc-progress__track { flex: 1 1 auto; }
.ctc-progress--val-right .ctc-progress__value { flex: 0 0 auto; min-width: 3.5em; text-align: right; font-weight: 700; }
.ctc-progress--val-inside .ctc-progress__value { white-space: nowrap; }
.ctc-progress--striped .ctc-progress__bar { background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%); background-size: calc(var(--ctc-pb-h) * 2) calc(var(--ctc-pb-h) * 2); animation: ctc-stripes 1s linear infinite; }
@keyframes ctc-stripes { to { background-position: calc(var(--ctc-pb-h) * 2) 0; } }
.ctc-section--dark .ctc-progress, .ctc-section--footer .ctc-progress { --ctc-pb-track: rgba(255, 255, 255, 0.15); }

/* ---------- Flip card ---------- */
.ctc-flip { --ctc-flip-h: 320px; --ctc-flip-radius: 16px; --ctc-flip-icon: 48px; --ctc-flip-f-bg: #fff; --ctc-flip-f-fg: #222; --ctc-flip-b-bg: var(--ctc-accent, #f36f21); --ctc-flip-b-fg: #fff; position: relative; height: var(--ctc-flip-h); perspective: 1400px; outline: none; cursor: default; }
.ctc-flip--click { cursor: pointer; }
.ctc-flip__inner { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1); }
.ctc-flip--hover:hover .ctc-flip__inner, .ctc-flip.is-flipped .ctc-flip__inner, .ctc-flip:focus-visible .ctc-flip__inner { transform: rotateY(180deg); }
.ctc-flip--vertical.ctc-flip--hover:hover .ctc-flip__inner, .ctc-flip--vertical.is-flipped .ctc-flip__inner, .ctc-flip--vertical:focus-visible .ctc-flip__inner { transform: rotateX(180deg); }
.ctc-flip__face { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; padding: 28px; border-radius: var(--ctc-flip-radius); backface-visibility: hidden; -webkit-backface-visibility: hidden; text-align: center; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04), 0 12px 32px rgba(0, 0, 0, 0.1); }
.ctc-flip--align-left .ctc-flip__face { align-items: flex-start; text-align: left; }
.ctc-flip__face--front { background: var(--ctc-flip-f-bg); color: var(--ctc-flip-f-fg); }
.ctc-flip__face--back { background: var(--ctc-flip-b-bg); color: var(--ctc-flip-b-fg); transform: rotateY(180deg); }
.ctc-flip--vertical .ctc-flip__face--back { transform: rotateX(180deg); }
.ctc-flip--fade .ctc-flip__inner { transform: none !important; transform-style: flat; }
.ctc-flip--fade .ctc-flip__face { backface-visibility: visible; transform: none; transition: opacity 0.4s ease; }
.ctc-flip--fade .ctc-flip__face--back { opacity: 0; }
.ctc-flip--fade.ctc-flip--hover:hover .ctc-flip__face--back, .ctc-flip--fade.is-flipped .ctc-flip__face--back, .ctc-flip--fade:focus-visible .ctc-flip__face--back { opacity: 1; }
.ctc-flip__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; }
.ctc-flip.has-image .ctc-flip__face--front { color: #fff; --ctc-heading-color: #fff; }
.ctc-flip.has-image .ctc-flip__face--front::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.65)); }
.ctc-flip__content { position: relative; z-index: 1; display: flex; flex-direction: column; gap: 10px; align-items: inherit; }
.ctc-flip__icon { display: inline-flex; width: var(--ctc-flip-icon); height: var(--ctc-flip-icon); color: var(--ctc-accent, #f36f21); }
.ctc-flip.has-image .ctc-flip__icon { color: #fff; }
.ctc-flip__icon svg, .ctc-flip__icon img { width: 100%; height: 100%; }
.ctc-flip__title { margin: 0; font-size: max(18px, calc(var(--ctc-u, 1px) * 22)); font-weight: 700; line-height: 1.25; color: inherit; }
.ctc-flip__text { font-size: 15px; line-height: 1.55; opacity: 0.9; }
.ctc-flip__content .ctc-btn { margin-top: 8px; }
@media (prefers-reduced-motion: reduce) { .ctc-flip__inner { transition: none; } }

/* ---------- Before / after ---------- */
.ctc-compare { --ctc-cmp-pos: 50%; --ctc-cmp-handle: #fff; --ctc-cmp-radius: 12px; }
.ctc-compare__stage { position: relative; max-width: var(--ctc-cmp-max, none); margin: 0 auto; overflow: hidden; border-radius: var(--ctc-cmp-radius); line-height: 0; user-select: none; -webkit-user-select: none; touch-action: pan-y; cursor: ew-resize; }
.ctc-compare--vertical .ctc-compare__stage { cursor: ns-resize; touch-action: pan-x; }
.ctc-compare__img { display: block; width: 100%; height: auto; }
.ctc-compare__clip { position: absolute; inset: 0; clip-path: inset(0 calc(100% - var(--ctc-cmp-pos)) 0 0); }
.ctc-compare__clip .ctc-compare__img { width: 100%; height: 100%; object-fit: cover; }
.ctc-compare--vertical .ctc-compare__clip { clip-path: inset(0 0 calc(100% - var(--ctc-cmp-pos)) 0); }
.ctc-compare__handle { position: absolute; top: 0; bottom: 0; left: var(--ctc-cmp-pos); width: 2px; margin-left: -1px; background: var(--ctc-cmp-handle); pointer-events: none; }
.ctc-compare--vertical .ctc-compare__handle { top: var(--ctc-cmp-pos); bottom: auto; left: 0; right: 0; width: auto; height: 2px; margin: -1px 0 0; }
.ctc-compare__grip { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; background: var(--ctc-cmp-handle); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3); }
.ctc-compare__grip::before, .ctc-compare__grip::after { content: ""; position: absolute; top: 50%; width: 0; height: 0; margin-top: -6px; border: 6px solid transparent; }
.ctc-compare__grip::before { left: 8px; border-right-color: #222; border-left-width: 0; }
.ctc-compare__grip::after { right: 8px; border-left-color: #222; border-right-width: 0; }
.ctc-compare--vertical .ctc-compare__grip::before, .ctc-compare--vertical .ctc-compare__grip::after { transform: rotate(90deg); }
.ctc-compare__range { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.ctc-compare--vertical .ctc-compare__range { cursor: ns-resize; }
.ctc-compare__range:focus-visible ~ .ctc-compare__handle .ctc-compare__grip { outline: 3px solid var(--ctc-accent, #f36f21); outline-offset: 2px; }
.ctc-compare__label { position: absolute; top: 14px; z-index: 1; padding: 6px 12px; border-radius: 999px; background: rgba(0, 0, 0, 0.6); color: #fff; font-size: 13px; font-weight: 600; line-height: 1.2; pointer-events: none; }
.ctc-compare__label--before { left: 14px; }
.ctc-compare__label--after { right: 14px; }

/* ---------- WhatsApp ---------- */
.ctc-btn.ctc-btn--whatsapp:not(#ctc-x) { --_bg: #25d366; --_fg: #fff; --_hbg: #1ebe5b; --_hfg: #fff; }
.ctc-wa__icon { display: inline-flex; width: 1.25em; height: 1.25em; }
.ctc-wa__icon svg { width: 100%; height: 100%; }
.ctc-wa-float { position: fixed; bottom: 24px; z-index: 9990; display: inline-flex; align-items: center; gap: 10px; padding: 12px 20px 12px 14px; border-radius: 999px; background: #25d366; color: #fff; font: 600 15px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; text-decoration: none; box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22); transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; }
.ctc-wa-float--right { right: 24px; }
.ctc-wa-float--left { left: 24px; }
.ctc-wa-float--icon { width: 56px; height: 56px; padding: 0; justify-content: center; }
.ctc-wa-float svg { width: 28px; height: 28px; flex: 0 0 auto; }
.ctc-wa-float:hover { background: #1ebe5b; color: #fff; transform: translateY(-2px); box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28); }
.ctc-wa-float:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 780px) { .ctc-wa-float { bottom: 16px; } .ctc-wa-float--right { right: 16px; } .ctc-wa-float--left { left: 16px; } .ctc-wa-float__label { display: none; } .ctc-wa-float { width: 56px; height: 56px; padding: 0; justify-content: center; } }

/* ---------- Cookie consent ---------- */
.ctc-consent { position: fixed; z-index: 99990; left: 0; right: 0; bottom: 0; padding: 16px; font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.ctc-consent[hidden] { display: none; }
.ctc-consent--top { top: 0; bottom: auto; }
.ctc-consent__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; max-width: 1200px; margin: 0 auto; padding: 18px 24px; border-radius: 14px; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25); }
.ctc-consent--dark .ctc-consent__inner { background: #111; color: #fff; }
.ctc-consent--light .ctc-consent__inner { background: #fff; color: #222; border: 1px solid rgba(0, 0, 0, 0.08); }
.ctc-consent__text { flex: 1 1 360px; min-width: 0; }
.ctc-consent__text p { margin: 0; }
.ctc-consent__text p + p { margin-top: 6px; }
.ctc-consent__policy { display: inline-block; margin-top: 4px; color: inherit; font-weight: 600; text-decoration: underline; }
.ctc-consent__options { flex: 1 1 100%; display: flex; flex-wrap: wrap; gap: 8px 20px; padding-top: 6px; font-size: 14px; }
.ctc-consent__options[hidden] { display: none; }
.ctc-consent__options label { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.ctc-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.ctc-consent__btn { padding: 10px 18px; border: 1px solid transparent; border-radius: 999px; font: inherit; font-weight: 600; cursor: pointer; transition: background 0.2s ease, color 0.2s ease; }
.ctc-consent__btn--accept { background: var(--ctc-accent, #f36f21); color: #fff; }
.ctc-consent__btn--accept:hover { background: var(--ctc-accent-dark, #d55a12); }
.ctc-consent--dark .ctc-consent__btn--decline, .ctc-consent--dark .ctc-consent__btn--settings { background: transparent; color: #fff; border-color: rgba(255, 255, 255, 0.35); }
.ctc-consent--light .ctc-consent__btn--decline, .ctc-consent--light .ctc-consent__btn--settings { background: transparent; color: #222; border-color: rgba(0, 0, 0, 0.2); }
.ctc-consent__btn--decline:hover, .ctc-consent__btn--settings:hover { border-color: currentColor; }
.ctc-consent--bottom-left, .ctc-consent--bottom-right { left: auto; right: auto; width: min(420px, calc(100% - 32px)); }
.ctc-consent--bottom-left { left: 16px; }
.ctc-consent--bottom-right { right: 16px; }
.ctc-consent--bottom-left .ctc-consent__inner, .ctc-consent--bottom-right .ctc-consent__inner { flex-direction: column; align-items: stretch; }
.ctc-consent--bottom-left .ctc-consent__actions, .ctc-consent--bottom-right .ctc-consent__actions { margin-left: 0; }
.ctc-consent--bottom-left .ctc-consent__btn--accept, .ctc-consent--bottom-right .ctc-consent__btn--accept { flex: 1 1 auto; }
@media (max-width: 780px) { .ctc-consent { padding: 8px; } .ctc-consent__inner { padding: 16px; border-radius: 12px; } .ctc-consent__actions { width: 100%; margin-left: 0; } .ctc-consent__btn { flex: 1 1 auto; text-align: center; } .ctc-wa-float { bottom: 16px; } }

/* ---------- Telepon dengan kode negara & captcha ---------- */
.ctc-form .ctc-phone { display: flex; gap: 8px; align-items: stretch; }
.ctc-form .ctc-phone__field { position: relative; flex: 1 1 auto; min-width: 0; }
.ctc-form .ctc-phone__code { box-sizing: border-box; flex: 0 0 auto; width: 118px; height: var(--ctc-field-h, max(46px, calc(var(--ctc-u) * 50.2))); padding: 0 28px 0 12px; border: var(--ctc-field-bw, 1px) solid var(--ctc-field-bc, transparent); border-radius: var(--ctc-field-radius, max(9px, calc(var(--ctc-u) * 11))); background: var(--ctc-field-bg, var(--ctc-field)) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%23999' stroke-width='1.6'/%3E%3C/svg%3E") right 10px center/12px 8px no-repeat; color: var(--ctc-field-fg, #1a1a1a); font-family: var(--ctc-font); font-size: max(14px, calc(var(--ctc-u) * 14)); -webkit-appearance: none; appearance: none; cursor: pointer; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.ctc-form .ctc-phone__code:focus { outline: none; border-color: var(--ctc-field-focus, var(--ctc-accent, #f36f21)); }
.ctc-form .ctc-captcha { margin: 4px 0 12px; min-height: 0; }
.ctc-form .ctc-captcha:empty { display: none; }

/* ---------- RTL (Arab, Ibrani, dsb.) ---------- */
[dir="rtl"] .ctc-btn__icon--left, [dir="rtl"] .ctc-btn__icon--right { transform: scaleX(-1); }
[dir="rtl"] .ctc-timeline--vertical .ctc-timeline__list::before { left: auto; right: calc(var(--ctc-tl-dot-size) / 2 - 1px); }
[dir="rtl"] .ctc-timeline--vertical.ctc-timeline--left .ctc-timeline__item { flex-direction: row; }
[dir="rtl"] .ctc-timeline--vertical.ctc-timeline--right .ctc-timeline__list::before { right: auto; left: calc(var(--ctc-tl-dot-size) / 2 - 1px); }
[dir="rtl"] .ctc-hotspot__tip { text-align: right; }
[dir="rtl"] .ctc-compare__label--before { left: auto; right: 14px; }
[dir="rtl"] .ctc-compare__label--after { right: auto; left: 14px; }
[dir="rtl"] .ctc-table th, [dir="rtl"] .ctc-table td { text-align: right; }
[dir="rtl"] .ctc-table__caption { text-align: right; }
[dir="rtl"] .ctc-team--align-left .ctc-team__item { text-align: right; }
[dir="rtl"] .ctc-progress--val-right .ctc-progress__value { text-align: left; }
[dir="rtl"] .ctc-wa-float--right { right: auto; left: 24px; }
[dir="rtl"] .ctc-wa-float--left { left: auto; right: 24px; }
[dir="rtl"] .ctc-consent__actions { margin-left: 0; margin-right: auto; }
[dir="rtl"] .ctc-gallery__cap, [dir="rtl"] .ctc-flip--align-left .ctc-flip__face { text-align: right; }
[dir="rtl"] .ctc-form .ctc-field__label { left: auto; right: max(14px, calc(var(--ctc-u) * 18)); }
[dir="rtl"] .ctc-form select.ctc-field__control { padding-right: max(14px, calc(var(--ctc-u) * 18)); padding-left: 40px; background-position: left 14px center; }
[dir="rtl"] .ctc-form .ctc-phone__code { padding: 0 12px 0 28px; background-position: left 10px center; }
[dir="rtl"] .ctc-header__cta { margin-left: 0; margin-right: auto; }
[dir="rtl"] .ctc-marquee__track { animation-direction: reverse; }
[dir="rtl"] .ctc-anim--fade-left:not(.is-in) { transform: translate3d(calc(var(--ctc-anim-x) * -1), 0, 0); }
[dir="rtl"] .ctc-anim--fade-right:not(.is-in) { transform: translate3d(var(--ctc-anim-x), 0, 0); }
