/**
 * Main pages (build/cine/main.php): Pricing, About, Contact, Book a demo, and the glass restyle of the
 * [nibbleflix_form] contact/demo forms (includes/forms.php markup).
 */

/* ================================================================== Shared to the four pages */

.cx-site .cx-main-hero { display: grid; grid-template-columns: 580px 560px; justify-content: space-between; align-items: center; }
.cx-site .cx-main-copy { display: flex; flex-direction: column; align-items: flex-start; }
.cx-site .cx-main-copy > .cx-title--h1 { margin-top: 24px; font-size: 76px; line-height: 1.04; letter-spacing: -0.025em; }
.cx-site .cx-main-copy > .cx-lead { margin-top: 24px; }
.cx-site .cx-main-copy > .cx-btns { margin-top: 34px; }

/* Glass pill floating over photos */
.cx-site .cx-main-gpill {
	position: absolute;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	box-sizing: border-box;
	background: rgba(255, 255, 255, 0.12);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1.5px solid var(--cx-line);
	white-space: nowrap;
}
.cx-site .cx-main-gpill--amber { border-color: rgba(245, 158, 11, 0.5); justify-content: flex-start; }
.cx-site .cx-main-gpill__dot {
	flex: none;
	width: 36px;
	height: 36px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--cx-amber);
	box-shadow: 0 0 16px rgba(245, 158, 11, 0.7);
	font: 600 16px/1 var(--cx-body);
	color: var(--cx-night);
}

/* ================================================================== Pricing */

.cx-site .cx-pricing-hero { padding-top: 200px; margin-bottom: 90px; }
.cx-site .cx-head--page { max-width: 900px; }
.cx-site .cx-head--page > .cx-pill + .cx-title { margin-top: 26px; }
.cx-site .cx-head--page .cx-title--h1 { font-size: 84px; line-height: 1.04; }
.cx-site .cx-head--page > .cx-title + .cx-lead { margin-top: 20px; }
.cx-site .cx-head--page > .cx-btns { margin-top: 36px; }

.cx-site .cx-pricing-plans { margin-bottom: 180px; }
.cx-site .cx-main-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: center; }
.cx-site .cx-main-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-height: 640px;
	padding: 40px 36px 39px;
	box-sizing: border-box;
	border-radius: 32px;
	background: var(--cx-glass);
	border: 1.5px solid var(--cx-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.cx-site .cx-main-plan--featured {
	min-height: 672px;
	padding-top: 56px;
	padding-bottom: 55px;
	background: rgba(255, 255, 255, 0.07);
	border-color: rgba(245, 158, 11, 0.8);
	box-shadow: 0 0 50px rgba(245, 158, 11, 0.3);
}
.cx-site .cx-main-plan__name { margin: 0; font: 600 13px/1.3 var(--cx-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--cx-amber); }
.cx-site .cx-main-plan__badge {
	position: absolute;
	top: 50px;
	right: 34px;
	margin: 0;
	padding: 0 16px;
	height: 30px;
	display: grid;
	place-items: center;
	border-radius: 15px;
	background: var(--cx-amber);
	box-shadow: 0 0 18px rgba(245, 158, 11, 0.6);
	font: 600 13px/1 var(--cx-body);
	color: var(--cx-night);
}
.cx-site .cx-main-plan__price { margin: 19px 0 0; min-height: 66px; font: 600 32px/1.02 var(--cx-head); letter-spacing: -0.025em; }
.cx-site .cx-main-plan--custom .cx-main-plan__price { font-size: 44px; }
.cx-site .cx-main-plan__text { margin: 45px 0 0; min-height: 51px; font: 400 17px/1.5 var(--cx-body); color: var(--cx-mist); }
.cx-site .cx-main-plan__list { align-self: stretch; margin-top: 25px; padding-top: 27px; border-top: 1px solid rgba(255, 255, 255, 0.12); }
.cx-site .cx-main-plan__list li { min-height: 26px; }
.cx-site .cx-main-plan__btns { margin-top: auto; padding-top: 32px; }
.cx-site .cx-main-plans__note { margin: 40px 0 0; text-align: center; font: 400 15px/1.5 var(--cx-body); color: var(--cx-mist); }

/* Compare table */
.cx-site .cx-pricing-compare { margin-bottom: 120px; }
.cx-site .cx-pricing-compare .cx-head + * { margin-top: 56px; }
.cx-site .cx-main-compare {
	border-radius: 28px;
	background: var(--cx-glass);
	border: 1.5px solid var(--cx-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	overflow: hidden;
}
.cx-site .cx-main-compare__scroll { overflow-x: auto; }
.cx-site .cx-main-compare__inner { position: relative; min-width: 768px; padding: 0 24px; }
.cx-site .cx-main-compare__table { position: relative; width: 100%; min-width: 720px; margin: 0; border: 0; border-collapse: collapse; table-layout: fixed; background: none; }
.cx-site .cx-main-compare__hl {
	position: absolute;
	top: 10px;
	bottom: 10px;
	left: calc(24px + (100% - 48px) * 0.5868); /* table x 700 */
	width: calc((100% - 48px) * 0.2083); /* 240 */
	border-radius: 20px;
	background: rgba(245, 158, 11, 0.07);
	border: 1px solid rgba(245, 158, 11, 0.45);
	box-sizing: border-box;
	pointer-events: none;
}
.cx-site .cx-main-compare__table th,
.cx-site .cx-main-compare__table td {
	height: 72px;
	padding: 0 12px;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	background: none;
	text-align: center;
	vertical-align: middle;
	font: 500 16px/1.3 var(--cx-body);
	color: var(--cx-cloud);
}
.cx-site .cx-main-compare__table th:first-child { width: 37.85%; padding-left: 12px; text-align: left; } /* 436 + 24 = 460 */
.cx-site .cx-main-compare__table thead th { height: 76px; border-top: 0; font: 600 18px/1.2 var(--cx-head); letter-spacing: 0; color: var(--cx-white); }
.cx-site .cx-main-compare__table thead th.is-hl { color: var(--cx-amber); }
.cx-site .cx-main-compare__table tbody td.is-hl { color: var(--cx-white); }
.cx-site .cx-main-compare__table tbody tr:last-child th,
.cx-site .cx-main-compare__table tbody tr:last-child td { height: 84px; padding-bottom: 12px; }
.cx-site .cx-main-tick {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: rgba(245, 158, 11, 0.16);
	border: 1px solid rgba(245, 158, 11, 0.6);
	box-sizing: border-box;
	font: 600 14px/1 var(--cx-body);
	color: var(--cx-amber);
}
.cx-site .cx-main-nodash { font: 400 20px/1 var(--cx-body); color: var(--cx-mist); }

/* Founding partner note */
.cx-site .cx-main-founder {
	position: relative;
	display: flex;
	align-items: center;
	gap: 32px;
	min-height: 200px;
	padding: 40px 48px;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 32px;
	background: var(--cx-glass);
	border: 1.5px solid rgba(245, 158, 11, 0.5);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	isolation: isolate;
}
.cx-site .cx-main-founder::after {
	content: "";
	position: absolute;
	z-index: -1;
	left: 800px;
	top: -20px;
	width: 500px;
	height: 240px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(245, 158, 11, 0.18), transparent);
	margin: -60px; padding: 60px; box-sizing: content-box; /* soft glow without a blur filter (cheaper to paint) */
}
.cx-site .cx-main-founder__star {
	flex: none;
	width: 72px;
	height: 72px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: rgba(245, 158, 11, 0.14);
	border: 1.5px solid rgba(245, 158, 11, 0.7);
	box-shadow: 0 0 24px rgba(245, 158, 11, 0.5);
	box-sizing: border-box;
	font: 600 28px/1 var(--cx-body);
	color: var(--cx-amber);
}
.cx-site .cx-main-founder__copy { flex: 1; display: flex; flex-direction: column; max-width: 700px; }
.cx-site .cx-main-founder__title { margin: 10px 0 0; font: 600 32px/1.02 var(--cx-head); letter-spacing: -0.025em; }
.cx-site .cx-main-founder__text { margin: 14px 0 0; font: 400 17px/1.5 var(--cx-body); color: var(--cx-mist); }
.cx-site .cx-main-founder .cx-btns { margin-left: auto; flex: none; }

.cx-site .cx-pricing-faq { margin-bottom: 170px; }
.cx-site .cx-pricing-faq .cx-head + * { margin-top: 56px; }
.cx-site .cx-pricing-faq .cx-faq { gap: 14px; }

/* ================================================================== About */

.cx-site .cx-about-hero .cx-main-copy { padding-top: 0; }
.cx-site .cx-about-collage { position: relative; width: 560px; height: 640px; }
.cx-site .cx-about-collage .cx-photo { position: absolute; border-radius: 28px; }
.cx-site .cx-about-collage .cx-photo--shade::after { inset: 40% 0 0; }
.cx-site .cx-about-collage__orbit { --x: 0px; --y: 0px; --w: 660px; --h: 660px; left: -50px; top: 0; border-width: 2px; }
.cx-site .cx-about-collage__a { left: 0; top: 0; width: 260px; height: 380px; }
.cx-site .cx-about-collage__b { left: 0; top: 400px; width: 260px; height: 240px; }
.cx-site .cx-about-collage__c { left: 280px; top: 0; width: 280px; height: 300px; }
.cx-site .cx-about-collage__d { left: 280px; top: 320px; width: 280px; height: 320px; }
.cx-site .cx-about-collage__p1 { left: -60px; top: 550px; width: 260px; height: 64px; padding: 0 14px; border-radius: 32px; font: 600 15px/1.2 var(--cx-body); color: var(--cx-white); }
.cx-site .cx-about-collage__p2 { left: 350px; top: -20px; width: 200px; height: 56px; border-radius: 28px; font: 500 14px/1.2 var(--cx-body); color: var(--cx-cloud); }

.cx-site .cx-about-story .cx-split,
.cx-site .cx-demo-expect .cx-split { grid-template-columns: 560px 600px; justify-content: start; gap: 40px; }
.cx-site .cx-about-team .cx-split--flip { grid-template-columns: 560px 560px; justify-content: start; gap: 40px; }
.cx-site .cx-about-story .cx-split__col > .cx-lead + .cx-checks { margin-top: 28px; }
.cx-site .cx-story-vis { position: relative; height: 500px; }
.cx-site .cx-story-vis__photo { position: relative; width: 560px; height: 420px; }
.cx-site .cx-main-ba {
	position: absolute;
	right: 0;
	top: 300px;
	z-index: 2;
	width: 300px;
	box-sizing: border-box;
	padding: 24px;
	display: flex;
	flex-direction: column;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.1);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1.5px solid var(--cx-line);
}
.cx-site .cx-main-ba__k { font: 600 11px/1.2 var(--cx-body); letter-spacing: 0.08em; color: var(--cx-mist); }
.cx-site .cx-main-ba__k--amber { color: var(--cx-amber); }
.cx-site .cx-main-ba__v { margin-top: 8px; font: 400 14px/1.45 var(--cx-body); color: var(--cx-cloud); }
.cx-site .cx-main-ba__v--strong { font: 500 15px/1.45 var(--cx-body); color: var(--cx-white); }
.cx-site .cx-main-ba__line { height: 1px; margin: 16px 0; background: rgba(255, 255, 255, 0.12); }

.cx-site .cx-about-principles .cx-head + * { margin-top: 56px; }

.cx-site .cx-about-team .cx-split--flip { align-items: center; }
.cx-site .cx-main-team {
	position: relative;
	overflow: hidden;
	width: 560px;
	max-width: 100%;
	min-height: 520px;
	box-sizing: border-box;
	padding-bottom: 32px;
	border-radius: 32px;
	background: var(--cx-glass);
	border: 1.5px solid var(--cx-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.cx-site .cx-main-team__media { position: relative; height: 260px; }
.cx-site .cx-main-team__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cx-site .cx-main-team__media::after { content: ""; position: absolute; inset: auto 0 0; height: 140px; background: linear-gradient(to bottom, rgba(10, 23, 48, 0), rgba(10, 23, 48, 0.9)); }
.cx-site .cx-main-team__kicker { position: absolute; z-index: 1; left: 32px; bottom: 20px; margin: 0; font: 600 12px/1.3 var(--cx-body); letter-spacing: 0.1em; color: var(--cx-amber); }
.cx-site .cx-main-team__roles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 20px 32px 0; padding: 0; list-style: none; }
.cx-site .cx-main-role {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	min-height: 96px;
	margin: 0;
	padding: 24px 18px;
	box-sizing: border-box;
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.06);
	border: 1.5px solid var(--cx-line);
}
.cx-site .cx-main-role__icon {
	flex: none;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 14px;
	background: rgba(245, 158, 11, 0.14);
	border: 1px solid rgba(245, 158, 11, 0.5);
	box-sizing: border-box;
	font: 600 13px/1 var(--cx-body);
	color: var(--cx-amber);
}
.cx-site .cx-main-role__label { font: 600 16px/1.3 var(--cx-body); color: var(--cx-white); max-width: 150px; }

/* ================================================================== Contact */

.cx-site .cx-contact-hero { margin-bottom: 160px; }
.cx-site .cx-contact-hero .cx-main-hero { grid-template-columns: 600px 520px; align-items: start; }
.cx-site .cx-contact-hero .cx-main-copy { padding-top: 80px; }
.cx-site .cx-contact-visual { position: relative; width: 520px; height: 520px; margin-top: 10px; }
.cx-site .cx-contact-visual__orbit { left: -40px; top: 50px; width: 600px; height: 440px; border-width: 2px; }
.cx-site .cx-contact-visual__photo { position: absolute; inset: 0; }
.cx-site .cx-contact-visual__photo.cx-photo--shade::after { inset: 40% 0 0; }
.cx-site .cx-main-reply {
	position: absolute;
	z-index: 3;
	left: -60px;
	top: 420px;
	width: 300px;
	height: 84px;
	box-sizing: border-box;
	padding: 0 20px;
	display: flex;
	align-items: center;
	gap: 16px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.12);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1.5px solid rgba(245, 158, 11, 0.5);
}
.cx-site .cx-main-reply__tick {
	flex: none;
	width: 44px;
	height: 44px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--cx-amber);
	box-shadow: 0 0 16px rgba(245, 158, 11, 0.7);
	font: 600 18px/1 var(--cx-body);
	color: var(--cx-night);
}
.cx-site .cx-main-reply__copy { display: flex; flex-direction: column; gap: 4px; }
.cx-site .cx-main-reply__label { font: 400 13px/1.2 var(--cx-body); color: var(--cx-mist); }
.cx-site .cx-main-reply__value { font: 600 18px/1.1 var(--cx-head); color: var(--cx-white); }

.cx-site .cx-contact-grid { display: grid; grid-template-columns: 720px 440px; justify-content: space-between; align-items: start; }
.cx-site .cx-contact-side { display: flex; flex-direction: column; gap: 20px; }
.cx-site .cx-main-info {
	display: grid;
	grid-template-columns: 56px 1fr;
	column-gap: 24px;
	align-content: start;
	min-height: 150px;
	padding: 32px;
	box-sizing: border-box;
	border-radius: 28px;
	background: var(--cx-glass);
	border: 1.5px solid var(--cx-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.cx-site .cx-main-info > .cx-icon { grid-row: span 3; border-radius: 18px; border-color: rgba(245, 158, 11, 0.55); }
.cx-site .cx-main-info__kicker { margin: 0; font: 600 12px/1.3 var(--cx-body); letter-spacing: 0.1em; color: var(--cx-mist); }
.cx-site .cx-main-info__title { margin: 6px 0 0; font: 600 24px/1.02 var(--cx-head); letter-spacing: -0.025em; }
.cx-site .cx-main-info__value { margin: 14px 0 0; font: 400 17px/1.3 var(--cx-body); color: var(--cx-cloud); }
.cx-site .cx-main-info__value a { color: var(--cx-cloud); text-decoration: none; }
.cx-site .cx-main-info__value a:hover { color: var(--cx-amber); }

.cx-site .cx-main-walk {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	min-height: 441px;
	padding: 32px;
	box-sizing: border-box;
	overflow: hidden;
	border-radius: 28px;
	border: 1.5px solid rgba(245, 158, 11, 0.55);
	background: var(--cx-glass);
	isolation: isolate;
}
.cx-site .cx-main-walk__media { position: absolute; inset: 0; z-index: -2; }
.cx-site .cx-main-walk__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cx-site .cx-main-walk::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to right, rgba(10, 23, 48, 0.95), rgba(10, 23, 48, 0.35)); }
.cx-site .cx-main-walk::after { content: ""; position: absolute; inset: 30% 0 0; z-index: -1; background: linear-gradient(to bottom, rgba(10, 23, 48, 0), rgba(10, 23, 48, 0.95)); }
.cx-site .cx-main-walk__title { margin: 12px 0 0; font: 600 30px/1.02 var(--cx-head); letter-spacing: -0.025em; }
.cx-site .cx-main-walk__text { margin: 12px 0 0; font: 400 17px/1.5 var(--cx-body); color: var(--cx-cloud); }
.cx-site .cx-main-walk .cx-btns { margin-top: 24px; }

/* ================================================================== Book a demo */

.cx-site .cx-demo-hero { margin-bottom: 210px; }
.cx-site .cx-demo-hero .cx-main-hero { grid-template-columns: 560px 560px; align-items: start; }
.cx-site .cx-demo-hero .cx-main-copy { padding-top: 80px; }
.cx-site .cx-demo-hero .cx-main-copy > .cx-title--h1 { font-size: 72px; }
.cx-site .cx-demo-hero .cx-main-copy > .cx-lead { margin-top: 22px; }
.cx-site .cx-demo-hero .cx-main-copy > .cx-checks { margin-top: 40px; }
.cx-site .cx-main-facts {
	display: grid;
	grid-template-columns: 186px 186px 1fr;
	align-self: stretch;
	margin-top: 34px;
	height: 110px;
	box-sizing: border-box;
	align-items: center;
	border-radius: 24px;
	background: var(--cx-glass);
	border: 1.5px solid var(--cx-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.cx-site .cx-main-facts__item { display: flex; flex-direction: column; gap: 12px; padding-left: 28px; }
.cx-site .cx-main-facts__item + .cx-main-facts__item { border-left: 1px solid var(--cx-line); }
.cx-site .cx-main-facts__v { font: 600 26px/1.02 var(--cx-head); letter-spacing: -0.025em; color: var(--cx-white); }
.cx-site .cx-main-facts__v.cx-amber { color: var(--cx-amber); }
.cx-site .cx-main-facts__l { font: 400 14px/1.2 var(--cx-body); color: var(--cx-mist); }

.cx-site .cx-demo-expect { margin-bottom: 196px; }
.cx-site .cx-demo-expect .cx-split { align-items: start; }
.cx-site .cx-demo-expect .cx-split__col--a { padding-top: 20px; }
.cx-site .cx-demo-expect .cx-split__col > .cx-title + .cx-lead { margin-top: 16px; }
.cx-site .cx-main-dsteps { display: flex; flex-direction: column; gap: 16px; margin-top: 28px; }
.cx-site .cx-main-dstep {
	display: grid;
	grid-template-columns: 48px 1fr;
	column-gap: 24px;
	align-content: center;
	min-height: 104px;
	padding: 20px 24px;
	box-sizing: border-box;
	border-radius: 24px;
	background: var(--cx-glass);
	border: 1.5px solid var(--cx-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}
.cx-site .cx-main-dstep__num {
	grid-row: span 2;
	align-self: center;
	width: 48px;
	height: 48px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--cx-night);
	border: 2px solid var(--cx-amber);
	box-shadow: 0 0 16px rgba(245, 158, 11, 0.5);
	box-sizing: border-box;
	font: 600 18px/1 var(--cx-head);
	color: var(--cx-amber);
}
.cx-site .cx-main-dstep__title { margin: 0; font: 600 22px/1.02 var(--cx-head); letter-spacing: -0.025em; }
.cx-site .cx-main-dstep__text { margin: 10px 0 0; font: 400 16px/1.4 var(--cx-body); color: var(--cx-mist); }
.cx-site .cx-demo-visual { position: relative; height: 444px; }
.cx-site .cx-demo-visual__phone { position: absolute; left: 400px; top: 90px; z-index: 2; }

/* ================================================================== Form card + glass form */

.cx-site .cx-main-formcard {
	position: relative;
	padding: 44px 48px 48px;
	box-sizing: border-box;
	border-radius: 32px;
	background: var(--cx-glass);
	border: 1.5px solid var(--cx-line);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	scroll-margin-top: 110px;
}
.cx-site .cx-main-formcard__title { margin: 12px 0 0; font: 600 34px/1.02 var(--cx-head); letter-spacing: -0.025em; }
.cx-site .cx-main-formcard .nf-form { margin-top: 36px; }
.cx-site .cx-main-formcard--demo { margin-top: 20px; padding: 40px; border-color: rgba(245, 158, 11, 0.4); }
.cx-site .cx-main-formcard--demo .cx-main-formcard__title { font-size: 30px; }
.cx-site .cx-main-formcard--demo .nf-form { margin-top: 32px; row-gap: 22px; column-gap: 16px; }
.cx-site .nf-form {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin: 0;
}
.cx-site .nf-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cx-site .nf-form__field { display: flex; flex-direction: column; gap: 10px; margin: 0; min-width: 0; }
.cx-site .nf-form__field.is-full,
.cx-site .nf-form .nf-notice,
.cx-site .nf-form__actions { grid-column: 1 / -1; }
/* Choice chips (Topic, Content type): radio buttons shown as pills. */
.cx-site .nf-form__chips { border: 0; padding: 0; min-inline-size: 0; }
.cx-site .nf-form__chips legend { float: left; width: 100%; margin: 0 0 10px; padding: 0; }
.cx-site .nf-form__chipset { display: flex; flex-wrap: wrap; gap: 10px; clear: both; }
.cx-site .nf-chip { position: relative; cursor: pointer; }
.cx-site .nf-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cx-site .nf-chip span {
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 20px;
	box-sizing: border-box;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.14);
	font: 500 14px/1 var(--cx-body);
	color: var(--cx-cloud);
	transition: background var(--cx-fast) ease, border-color var(--cx-fast) ease, color var(--cx-fast) ease;
}
.cx-site .nf-form--demo .nf-chip span { padding: 0 18px; }
.cx-site .nf-chip:hover span { border-color: rgba(245, 158, 11, 0.5); }
.cx-site .nf-chip input:checked + span { background: rgba(245, 158, 11, 0.16); border-color: rgba(245, 158, 11, 0.8); color: var(--cx-amber); font-weight: 600; }
.cx-site .nf-chip input:focus-visible + span { outline: 2px solid var(--cx-amber); outline-offset: 3px; }
/* Submit row: button + helper line. */
.cx-site .nf-form__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; margin-top: 8px; }
.cx-site .nf-form--demo .nf-form__actions { column-gap: 18px; }
.cx-site .nf-form__note { margin: 0; font: 400 14px/1.3 var(--cx-body); color: var(--cx-mist); }
.cx-site .nf-form__label { font: 500 14px/1.2 var(--cx-body); color: var(--cx-cloud); }
.cx-site .nf-form__label span { color: var(--cx-amber); }
.cx-site .nf-form input[type="text"],
.cx-site .nf-form input[type="email"],
.cx-site .nf-form input[type="date"],
.cx-site .nf-form select,
.cx-site .nf-form textarea {
	width: 100%;
	height: 56px;
	margin: 0;
	padding: 0 18px;
	box-sizing: border-box;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow: none;
	font: 400 15px/1.4 var(--cx-body);
	color: var(--cx-white);
	color-scheme: dark;
	transition: border-color var(--cx-fast) ease, background var(--cx-fast) ease, box-shadow var(--cx-fast) ease;
}
.cx-site .nf-form textarea { height: 170px; min-height: 170px; padding: 16px 18px; resize: vertical; }
.cx-site .nf-form select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 44px;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23F59E0B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 20px center;
}
.cx-site .nf-form select option { background: var(--cx-navy-900); color: var(--cx-white); }
.cx-site .nf-form select:invalid,
.cx-site .nf-form select:has(option[value=""]:checked) { color: var(--cx-mist); }
.cx-site .nf-form input::placeholder,
.cx-site .nf-form textarea::placeholder { color: var(--cx-mist); opacity: 1; }
.cx-site .nf-form input::-webkit-calendar-picker-indicator { filter: invert(68%) sepia(76%) saturate(1500%) hue-rotate(358deg) brightness(101%); cursor: pointer; }
.cx-site .nf-form input:hover,
.cx-site .nf-form select:hover,
.cx-site .nf-form textarea:hover { border-color: rgba(255, 255, 255, 0.24); }
.cx-site .nf-form input:focus,
.cx-site .nf-form select:focus,
.cx-site .nf-form textarea:focus {
	outline: none;
	background: rgba(255, 255, 255, 0.07);
	border-color: var(--cx-amber);
	box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.18);
}

/* Errors (browser check in site.js and server round trip) */
.cx-site .nf-form__error { font: 500 14px/1.4 var(--cx-body); color: #fca5a5; }
.cx-site .nf-form__error:empty { display: none; }
.cx-site .nf-form .nf-form__field.is-invalid input,
.cx-site .nf-form .nf-form__field.is-invalid select,
.cx-site .nf-form .nf-form__field.is-invalid textarea { border-color: #f87171; background: rgba(248, 113, 113, 0.06); }
.cx-site .nf-form .nf-form__field.is-invalid :focus { box-shadow: 0 0 0 3px rgba(248, 113, 113, 0.2); }
.cx-site .nf-notice {
	margin: 0;
	padding: 14px 18px;
	border-radius: 14px;
	font: 500 15px/1.45 var(--cx-body);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.cx-site .nf-notice.is-ok { background: rgba(245, 158, 11, 0.12); border: 1px solid rgba(245, 158, 11, 0.6); color: var(--cx-amber-100); }
.cx-site .nf-notice.is-err { background: rgba(248, 113, 113, 0.1); border: 1px solid rgba(248, 113, 113, 0.55); color: #fecaca; }

/* Submit: the primary button */
.cx-site .nf-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-width: 191px;
	height: 53px;
	padding: 0 28px;
	border: 0;
	border-radius: 999px;
	background: var(--cx-amber);
	color: var(--cx-night);
	font: 600 16px/1 var(--cx-body);
	letter-spacing: 0;
	text-transform: none;
	box-shadow: 0 0 11px rgba(245, 158, 11, 0.35);
	cursor: pointer;
	transition: background var(--cx-fast) var(--cx-ease), box-shadow var(--cx-fast) var(--cx-ease);
}
.cx-site .nf-form--demo .nf-form__submit { min-width: 194px; }
.cx-site .nf-form__submit::after { content: "→"; transition: transform var(--cx-fast) var(--cx-ease); }
.cx-site .nf-form__submit:hover,
.cx-site .nf-form__submit:focus-visible { background: var(--cx-amber-hover); box-shadow: 0 0 18px rgba(245, 158, 11, 0.6); }
.cx-site .nf-form__submit:hover::after { transform: translateX(3px); }
.cx-site .nf-form.is-sending .nf-form__submit { cursor: progress; background: var(--cx-amber-hover); }
.cx-site .nf-form.is-sending .nf-form__submit::after {
	content: "";
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid rgba(10, 23, 48, 0.3);
	border-top-color: var(--cx-night);
	box-sizing: border-box;
	animation: cx-main-spin 800ms linear infinite;
}
@keyframes cx-main-spin { to { transform: rotate(360deg); } }

/* ================================================================== Responsive */

@media (max-width: 1240px) {
	.cx-site .cx-main-hero,
	.cx-site .cx-contact-hero .cx-main-hero,
	.cx-site .cx-demo-hero .cx-main-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
	.cx-site .cx-about-collage { zoom: 0.85; }
	.cx-site .cx-contact-visual { width: 100%; max-width: 520px; height: auto; aspect-ratio: 1; }
	.cx-site .cx-contact-visual__orbit { left: -4%; top: 9.6%; width: 108%; height: 84.6%; }
	.cx-site .cx-main-reply { left: -20px; top: auto; bottom: 20px; }
	.cx-site .cx-contact-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 32px; }
	.cx-site .cx-about-story .cx-split,
	.cx-site .cx-about-team .cx-split--flip,
	.cx-site .cx-demo-expect .cx-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 48px; }
	.cx-site .cx-story-vis__photo { width: 100%; }
	.cx-site .cx-demo-visual { zoom: 0.85; }
	.cx-site .cx-main-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cx-site .cx-main-facts__item { padding: 0 12px 0 20px; }
	.cx-site .cx-main-facts__v { font-size: 22px; }
	.cx-site .cx-main-founder::after { left: auto; right: -100px; }
}

@media (max-width: 1023px) and (min-width: 901px) {
	.cx-site .cx-about-collage { zoom: 0.72; }
	.cx-site .cx-demo-visual { zoom: 0.7; }
}

@media (max-width: 1199px) and (min-width: 901px) {
	.cx-site .cx-main-plans { gap: 16px; }
	.cx-site .cx-main-plan { padding-inline: 28px; }
	.cx-site .cx-main-plan__badge { position: static; order: -1; margin-bottom: 14px; }
}

@media (max-width: 900px) {
	.cx-site .cx-main-hero,
	.cx-site .cx-contact-hero .cx-main-hero,
	.cx-site .cx-demo-hero .cx-main-hero,
	.cx-site .cx-contact-grid,
	.cx-site .cx-about-story .cx-split,
	.cx-site .cx-about-team .cx-split--flip,
	.cx-site .cx-demo-expect .cx-split { grid-template-columns: minmax(0, 1fr); gap: 56px; }
	.cx-site .cx-contact-hero .cx-main-copy { padding-top: 0; }
	.cx-site .cx-main-copy > .cx-title--h1,
	.cx-site .cx-demo-hero .cx-main-copy > .cx-title--h1,
	.cx-site .cx-head--page .cx-title--h1 { font-size: 52px; }
	.cx-site .cx-demo-hero .cx-main-copy { padding-top: 0; }
	.cx-site .cx-pricing-hero { padding-top: 150px; }

	/* Collage, contact photo and demo mock-ups: centred, scaled to fit */
	.cx-site .cx-about-collage { zoom: 1; width: 100%; max-width: 560px; height: auto; aspect-ratio: 560 / 640; margin-inline: auto; container-type: inline-size; }
	.cx-site .cx-about-collage .cx-photo,
	.cx-site .cx-about-collage .cx-orbit,
	.cx-site .cx-about-collage .cx-main-gpill { transform-origin: 0 0; }
	.cx-site .cx-about-collage__a { left: 0; top: 0; width: 46.4%; height: 59.4%; }
	.cx-site .cx-about-collage__b { left: 0; top: 62.5%; width: 46.4%; height: 37.5%; }
	.cx-site .cx-about-collage__c { left: 50%; top: 0; width: 50%; height: 46.9%; }
	.cx-site .cx-about-collage__d { left: 50%; top: 50%; width: 50%; height: 50%; }
	.cx-site .cx-about-collage__orbit { left: -4%; top: 0; width: 108%; height: 100%; }
	.cx-site .cx-about-collage__p1 { left: 4%; top: 86%; }
	.cx-site .cx-about-collage__p2 { left: auto; right: 2%; top: -3%; }
	.cx-site .cx-contact-visual { width: 100%; max-width: 520px; height: auto; aspect-ratio: 1; margin-inline: auto; }
	.cx-site .cx-contact-visual__orbit { left: -4%; top: 9.6%; width: 108%; height: 84.6%; }
	.cx-site .cx-main-reply { left: 16px; top: auto; bottom: 20px; }
	.cx-site .cx-story-vis { height: auto; }
	.cx-site .cx-story-vis__photo { height: auto; aspect-ratio: 4 / 3; }
	.cx-site .cx-main-ba { position: relative; top: auto; right: auto; width: auto; margin: -60px 16px 0 auto; max-width: 300px; }
	.cx-site .cx-demo-visual { zoom: 1; width: 600px; max-width: none; margin-inline: auto; }
	.cx-site .cx-demo-visual .cx-dash { zoom: 1; width: 560px; max-width: none; }
	.cx-site .cx-main-team { margin-inline: auto; }

	/* Pricing */
	.cx-site .cx-main-plans { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin-inline: auto; }
	.cx-site .cx-main-plan,
	.cx-site .cx-main-plan--featured { min-height: 0; padding: 36px 28px; }
	.cx-site .cx-main-plan__price,
	.cx-site .cx-main-plan__text { min-height: 0; }
	.cx-site .cx-main-plan__text { margin-top: 20px; }
	.cx-site .cx-main-plan__badge { top: 34px; right: 24px; }
	.cx-site .cx-main-founder { flex-direction: column; align-items: flex-start; padding: 32px 28px; }
	.cx-site .cx-main-founder .cx-btns { margin-left: 0; }
	.cx-site .cx-main-founder__title { font-size: 28px; }
	.cx-site .cx-pricing-plans,
	.cx-site .cx-pricing-compare { margin-bottom: var(--cx-gap); }
	.cx-site .cx-pricing-hero,
	.cx-site .cx-pricing-faq { margin-bottom: var(--cx-gap); }
	.cx-site .cx-pricing-hero { margin-bottom: 64px; }
	.cx-site .cx-about-hero,
	.cx-site .cx-about-story,
	.cx-site .cx-about-principles,
	.cx-site .cx-about-team,
	.cx-site .cx-contact-hero,
	.cx-site .cx-demo-hero,
	.cx-site .cx-demo-expect { margin-bottom: var(--cx-gap); }
}

@media (max-width: 600px) {
	.cx-site .cx-main-copy > .cx-title--h1,
	.cx-site .cx-demo-hero .cx-main-copy > .cx-title--h1,
	.cx-site .cx-head--page .cx-title--h1 { font-size: 46px; }
	.cx-site .cx-main-copy > .cx-lead,
	.cx-site .cx-head--page .cx-lead { font-size: 18px; }
	.cx-site .cx-about-collage .cx-main-gpill { transform: scale(0.8); }
	.cx-site .cx-about-collage__p1 { width: 250px; }
	.cx-site .cx-main-reply { transform: scale(0.9); transform-origin: left bottom; }

	.cx-site .cx-main-team__roles { grid-template-columns: minmax(0, 1fr); margin-inline: 20px; }
	.cx-site .cx-main-team__kicker { left: 20px; }
	.cx-site .cx-main-role { min-height: 0; padding: 16px; align-items: center; }
	.cx-site .cx-main-role__label { max-width: none; }

	.cx-site .cx-main-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); height: auto; padding: 20px 0; }
	.cx-site .cx-main-facts__item { padding: 0 12px 0 16px; gap: 8px; }
	.cx-site .cx-main-facts__v { font-size: 18px; }
	.cx-site .cx-demo-visual { zoom: 0.59; }
	.cx-site .cx-main-facts__l { font-size: 13px; }
	.cx-site .cx-main-dstep { padding: 20px; column-gap: 16px; }

	.cx-site .cx-main-formcard,
	.cx-site .cx-main-formcard--demo { padding: 32px 22px; border-radius: 28px; }
	.cx-site .cx-main-formcard__title,
	.cx-site .cx-main-formcard--demo .cx-main-formcard__title { font-size: 28px; }
	.cx-site .nf-form,
	.cx-site .cx-main-formcard--demo .nf-form { grid-template-columns: minmax(0, 1fr); row-gap: 20px; }
	.cx-site .nf-form__actions { flex-direction: column; align-items: stretch; text-align: center; }
	.cx-site .nf-form input[type="text"],
	.cx-site .nf-form input[type="email"],
	.cx-site .nf-form input[type="date"],
	.cx-site .nf-form select,
	.cx-site .nf-form textarea { font-size: 16px; } /* no zoom on iOS */
	.cx-site .cx-main-info { padding: 24px; column-gap: 18px; }
	.cx-site .cx-main-walk { min-height: 380px; padding: 24px; }
	.cx-site .cx-main-walk__title { font-size: 26px; }
}
