/**
 * Jeevi IQ Test — SIGNATURE skin, TEST flow.
 *
 * Port of the insightmetrics.org (jeevi-mbti-test v3.9.11) visual system onto
 * the iqmetrics.org IQ funnel, per im-ref/DESIGN-SPEC.md. Every token, shadow
 * string, gradient and keyframe below is copied from the live reference
 * stylesheet; only the copy and the domain chrome are IQ-specific.
 *
 * Screens: hero (.jiqs-card) → calibrating loader (.jiqs-prep) → question
 * cards (.jiqs-qcard) → evaluating loader (.jiqs-loading-card) → unlock
 * (.jiqs-unlock) → submit overlay (.jiqs-calc).
 *
 * Scoped under body.jiq-test-active .jiq-app with !important on the critical
 * component properties (nexros/Elementor cascade defeat, SPEC sections 9-10).
 * No @import, no CDN fonts — system sans stack ONLY (owner: no serif/editorial
 * faces anywhere on the test flow; see the DE-SERIF token note and the font
 * seal at the end of this file).
 *
 * @package Jeevi_IQ_Test
 */

/* ================================================================
   1. Tokens
   ================================================================ */
body.jiq-test-active .jiq-app.jiqs-app {
	/* Orange ladder — the brand spine. */
	--s-orange-300: #FDBA74;
	--s-orange-400: #FB923C;
	--s-orange-500: #F97316;
	--s-orange-600: #EA580C;
	--s-orange-700: #C2410C;
	--s-orange-800: #9A3412;
	--s-orange-050: #FFF7ED;
	--s-orange-075: #FFF3EA;
	--s-orange-100: #FFEDD5;
	--s-orange-150: #FED7AA;
	--s-orange-line: #FBE8D3;
	--s-orange-tint: #FFE4C7;

	--s-red-500: #EF4444;
	--s-red-600: #DC2626;
	--s-red-900: #7C2D12;
	--s-violet-500: #7C3AED;
	--s-violet-300: #C4B5FD;
	--s-violet-100: #EDE9FE;
	--s-violet-050: #F5F3FF;

	--s-ink: #111;
	--s-ink-900: #111827;
	--s-ink-800: #1F2937;
	--s-ink-navy: #1E1B3A;
	--s-ink-dossier: #0F0A06;
	--s-slate-900: #0F172A;
	--s-grey-700: #374151;
	--s-grey-600: #6B7280;
	--s-grey-400: #9CA3AF;
	--s-grey-300: #D1D5DB;
	--s-grey-200: #E5E7EB;
	--s-grey-150: #ECEEF1;
	--s-grey-100: #F3F4F6;
	--s-grey-050: #F1F1F3;
	--s-slate-200: #E2E8F0;
	--s-slate-400: #94A3B8;

	--s-green-500: #10B981;
	--s-green-600: #059669;
	--s-green-550: #22C55E;
	--s-green-700: #16A34A;
	--s-lime-600: #65A30D;
	--s-lime-700: #4D7C0F;
	--s-lime-100: #BEF264;
	--s-lime-050: #F7FEE7;

	--s-white: #FFFFFF;
	--s-paper: #FFFEFB;
	--s-cream: #FFFBF5;
	--s-cream-2: #FFF4E6;
	--s-cream-3: #FFEAD0;
	--s-page-1: #FFFAF5;
	--s-page-2: #FFF5EC;
	--s-step-card: #FFFCF8;

	--s-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Roboto, Arial, sans-serif;
	/*
	 * DE-SERIF (owner: "no claude or editorial font at all"). --s-serif used to
	 * be Georgia/Times; every rule that still says var(--s-serif) now resolves
	 * to the SaaS sans stack, which neutralises serif at ANY specificity —
	 * including the !important high-specificity component rules the font seal
	 * at the bottom of this file cannot outrank. Do not point this token at a
	 * serif face again.
	 */
	--s-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Roboto, Arial, sans-serif;
	--s-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

	--s-fs-headline: clamp(26px, 8.6vw, 44px);
	--s-fs-counter: clamp(24px, 7.6vw, 40px);
	--s-fs-question: clamp(19px, 5.4vw, 22px);
	--s-fs-modal-h: clamp(24px, 7vw, 34px);

	/* Sticky counter bar: 46px row + 1px border (52 + 1 at >=768). */
	--jiqs-head-h: 53px;

	/* ------------------------------------------------------------------
	 * VIEWPORT FIT (SPEC A) — the one-screen question column.
	 *
	 * --jiq-vh     raw usable viewport height. JS writes the real px from
	 *              `window.visualViewport?.height ?? window.innerHeight`,
	 *              which is the only number that survives the collapsing
	 *              URL bar on iOS Safari / Chrome Android.
	 * --jiq-chrome everything stacked ABOVE the question section inside that
	 *              viewport: WP admin bar + whatever the theme leaves above
	 *              .jiq-app at the scroll anchor + the app's own padding +
	 *              the sticky head. JS measures it in one shot from the
	 *              section's own box; the static default is the head height
	 *              so a JS-less render is still close.
	 * --jiq-tail   breathing room under the nav row.
	 *
	 * The three --jiq-fit declarations are a deliberate cascade: an engine
	 * that cannot parse `dvh` throws that line away at parse time and keeps
	 * the `vh` one, and `var(--jiq-vh, 100dvh)` uses the JS value when it is
	 * there and 100dvh when it is not. Never trust 100vh alone on mobile.
	 * ------------------------------------------------------------------ */
	/* JS-less fallback: sticky bar + the 52px navy brand bar + head margin. */
	--jiq-chrome: calc(var(--jiqs-head-h, 53px) + 64px);
	--jiq-tail: 10px;
	--jiq-fit: calc(100vh - var(--jiq-chrome) - var(--jiq-tail));
	--jiq-fit: calc(100dvh - var(--jiq-chrome) - var(--jiq-tail));
	--jiq-fit: calc(
		var(--jiq-vh, 100dvh) - var(--jiq-chrome) - var(--jiq-tail)
		- env(safe-area-inset-bottom, 0px)
	);
}

/* ================================================================
   2. Page + wrapper neutralisation (cascade defeat, no overflow)
   ================================================================ */
body.jiq-test-active {
	background: linear-gradient(180deg, #FFFAF5 0%, #FFF5EC 50%, #FFFAF5 100%) !important;
}
/*
 * THEME HEADER OFF — TEST PAGE ONLY. body.jiq-test-active exists only while
 * the [jeevi_iq_test] app is on the page, so the result/delivery pages keep
 * the theme header untouched. Selectors verified against the captured live
 * page (iqindia-2 theme + Header Footer Elementor template id 1468):
 *   body > #page.hfeed.site > header#masthead   — the whole site header,
 *     including the .hfe-nav-menu__toggle mobile hamburger inside it;
 *   article > header.entry-header               — the "IQ Test" page-title
 *     band (h1.entry-title) above the app.
 * The navy .jiqs-brandbar below replaces them during the test.
 * NEVER hide #wpadminbar.
 */
body.jiq-test-active #masthead,
body.jiq-test-active header#masthead,
body.jiq-test-active header.entry-header,
body.jiq-test-active .hfe-nav-menu__toggle {
	display: none !important;
}
/*
 * NAVY BRAND BAR — the page header during the test (approved design).
 * Static: it scrolls with the anchor and sits ABOVE the sticky counter bar.
 * The -10px top margin cancels the app's own 10px top padding so the bar
 * starts flush at the app's top edge (the one-screen mobile mode zeroes that
 * padding — section 16 resets the margin there).
 */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar {
	position: relative;
	z-index: 5;
	display: flex !important;
	align-items: center;
	gap: 14px;
	height: 62px;
	margin: -10px 0 0 !important;
	padding: 0 16px !important;
	background: #1E3A5C !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar-logo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	height: 100%;
	min-width: 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar-logo img {
	display: block;
	height: 32px !important;
	width: auto !important;
	max-width: 100% !important;
	object-fit: contain;
	object-position: left center;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar-spacer {
	flex: 1 1 auto;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar-secure {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1;
	color: #8FE6B0 !important;
	letter-spacing: 0.2px;
	word-spacing: normal;
	white-space: nowrap;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar-secure svg {
	display: block;
	flex: 0 0 auto;
}
@media (min-width: 700px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar { padding: 0 24px !important; height: 68px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar-logo img { height: 40px !important; }
}
@media (max-width: 374px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar { height: 56px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-brandbar-logo img { height: 27px !important; }
}
body.jiq-test-active .jiq-app.jiqs-app,
body.jiq-test-active .jiq-app.jiqs-app *,
body.jiq-test-active .jiq-app.jiqs-app *::before,
body.jiq-test-active .jiq-app.jiqs-app *::after {
	box-sizing: border-box !important;
}
body.jiq-test-active .jiq-app.jiqs-app {
	position: relative;
	font-family: var(--s-sans) !important;
	color: var(--s-ink-800) !important;
	background: transparent !important;
	margin: 0 !important;
	padding: 10px 0 24px !important;
	min-width: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	/*
	 * `overflow-x: hidden` would make this element a scroll container, which
	 * silently breaks `position: sticky` on .jiq-test-header. `clip` cuts the
	 * ambient blobs the same way WITHOUT creating one. The `hidden` line is
	 * the fallback for engines that don't know `clip` (Safari < 16); there the
	 * header simply scrolls, as it did before. Order matters — keep `clip` last.
	 */
	overflow-x: hidden !important;
	overflow-x: clip !important;
	overflow-y: visible !important;
	letter-spacing: 0.3px;
	word-spacing: 2px;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body.jiq-test-active .jiq-app.jiqs-app,
body.jiq-test-active .jiq-app.jiqs-app * {
	touch-action: manipulation;
}
/*
 * LIGHT ONLY. iqmetrics.org has no dark theme, and every surface below is a
 * hand-picked warm paper tone. Pin the UA colour scheme inside the app so a
 * visitor whose OS is in dark mode does not get inverted native controls
 * (select popups, autofill, spin buttons, scrollbars, form focus rings).
 */
body.jiq-test-active .jiq-app.jiqs-app,
body.jiq-test-active .jiq-app.jiqs-app input,
body.jiq-test-active .jiq-app.jiqs-app select,
body.jiq-test-active .jiq-app.jiqs-app textarea,
body.jiq-test-active .jiq-app.jiqs-app button,
body.jiq-test-active .jiq-app.jiqs-app option {
	color-scheme: light !important;
}
/*
 * Chrome/Safari autofill paints its own yellow/blue (or near-black in dark
 * mode) box over the field. The fields here are deliberately transparent on a
 * tinted card, so cancel the overlay instead of re-colouring it.
 */
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input:-webkit-autofill,
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input:-webkit-autofill:hover,
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input:-webkit-autofill:focus,
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input:-webkit-autofill:active {
	-webkit-text-fill-color: var(--s-ink-dossier) !important;
	-webkit-box-shadow: none !important;
	box-shadow: none !important;
	caret-color: var(--s-ink-dossier) !important;
	/* No paint-free way to clear the overlay: outrun it. */
	transition: background-color 100000s ease-in-out 0s !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-option,
body.jiq-test-active .jiq-app.jiqs-app .jiq-btn,
body.jiq-test-active .jiq-app.jiqs-app button {
	-webkit-tap-highlight-color: transparent;
	-webkit-user-select: none;
	user-select: none;
}
/*
 * Ambient blobs behind the question stage — no extra DOM.
 *
 * These are decorative, but they still sit in this element's SCROLLABLE
 * OVERFLOW region, and `overflow-y` above has to stay `visible` so the sticky
 * head keeps pinning (see the comment there). An unbounded blob therefore
 * makes the DOCUMENT taller than itself: ::before alone reaches top 80 +
 * height 320 = 400px, so on any viewport shorter than that — a landscape
 * phone, a short desktop window — the one-screen question view grew a
 * scrollbar it never earned (measured: 812x375 → document 400 vs viewport
 * 375). Capping each blob at the app's own box fixes it without touching
 * overflow. The percentage resolves because an absolutely positioned box
 * always has a definite containing-block height.
 */
body.jiq-test-active .jiq-app.jiqs-app::before,
body.jiq-test-active .jiq-app.jiqs-app::after {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: 0;
	border-radius: 50%;
	filter: blur(20px);
}
body.jiq-test-active .jiq-app.jiqs-app::before {
	width: 320px;
	height: 320px;
	max-height: calc(100% - 80px);
	right: -100px;
	top: 80px;
	background: radial-gradient(circle, rgba(253, 186, 116, 0.18), transparent 70%);
}
body.jiq-test-active .jiq-app.jiqs-app::after {
	width: 280px;
	height: 280px;
	max-height: calc(100% - 60px);
	left: -90px;
	bottom: 60px;
	background: radial-gradient(circle, rgba(196, 181, 253, 0.18), transparent 70%);
}
/*
 * Same reasoning as above: any ancestor with `overflow-x: hidden` becomes the
 * sticky header's scroll container and the header stops pinning. `clip` gives
 * the identical no-blowout guarantee with no scroll container.
 */
body.jiq-test-active #pxl-content-area,
body.jiq-test-active #pxl-content-main,
body.jiq-test-active .pxl-entry-content {
	min-width: 0 !important;
	max-width: 100% !important;
	overflow-x: hidden !important;
	overflow-x: clip !important;
	overflow-y: visible !important;
}
body.jiq-test-active .e-con,
body.jiq-test-active .e-con-inner,
body.jiq-test-active .elementor-section .elementor-container,
body.jiq-test-active .elementor-widget-container {
	max-width: 100% !important;
	--container-max-width: 100% !important;
}
html:has(body.jiq-test-active) {
	scroll-padding-top: var(--jiqs-head-h, 92px);
}
/*
 * iOS ZOOM-PAN GUARD (real-device defect 3): when Safari auto-zoomed into the
 * unlock form it panned the visual viewport right and the page stayed
 * "sidelined" with a permanent horizontal scroll. The root fix is the 16px
 * field font (section 10), but html/body must ALSO never expose horizontal
 * overflow for the pan to latch onto. `clip` ONLY — `hidden` here would turn
 * html/body into the sticky header's scroll container and unpin it (same
 * lesson as the .jiq-app rule above). Engines without `clip` support simply
 * drop the line: no guard, but no sticky regression either. Two separate
 * rules on purpose — the :has() selector would invalidate a combined list in
 * engines that don't know it.
 */
html:has(body.jiq-test-active) {
	overflow-x: clip;
}
body.jiq-test-active {
	overflow-x: clip;
	max-width: 100%;
}

/* Step machinery ------------------------------------------------ */
body.jiq-test-active .jiq-app.jiqs-app .jiq-step {
	display: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-step.is-active {
	display: block;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-screen {
	display: block;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-screen[hidden] {
	display: none !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence[hidden] {
	display: none !important;
}

/* ================================================================
   3. Keyframes (verbatim from the reference)
   ================================================================ */
@keyframes pa-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }

@keyframes prepParticle {
	0% { opacity: 0; transform: translateY(0) scale(0.6); }
	20% { opacity: 0.9; }
	50% { transform: translateY(-22px) scale(1); }
	80% { opacity: 0.7; }
	100% { opacity: 0; transform: translateY(-44px) scale(0.6); }
}
@keyframes prepBadgePulse {
	0% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.6); }
	70% { box-shadow: 0 0 0 10px rgba(249, 115, 22, 0); }
	100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); }
}
@keyframes prepOrbitSpin { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes prepOrbitSpinReverse { from { transform: rotate(0); } to { transform: rotate(-360deg); } }
@keyframes prepTileBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@keyframes prepTileShine { 0%, 60%, 100% { transform: translateX(-100%); } 80% { transform: translateX(100%); } }
@keyframes tdCycle { 0%, 42% { transform: translateY(0); } 58%, 100% { transform: translateY(-54px); } }
@keyframes prepScanbeam {
	0% { transform: translateY(-10px); opacity: 0; }
	20% { opacity: 1; }
	50% { transform: translateY(56px); opacity: 1; }
	80% { opacity: 0.6; }
	100% { transform: translateY(72px); opacity: 0; }
}
@keyframes prepFillShimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(200%); } }
@keyframes preparingFill { 0% { width: 0; } 30% { width: 35%; } 60% { width: 65%; } 85% { width: 90%; } 100% { width: 100%; } }
@keyframes prepDotPulse {
	0%, 100% { box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.15), 0 4px 10px -2px rgba(249, 115, 22, 0.4); }
	50% { box-shadow: 0 0 0 7px rgba(249, 115, 22, 0.08), 0 4px 14px -2px rgba(249, 115, 22, 0.5); }
}

@keyframes qv3PulseOrange { 0%, 100% { box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.18); } 50% { box-shadow: 0 0 0 5px rgba(249, 115, 22, 0.04); } }
@keyframes qv3PulseDot { 0%, 100% { box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.15); } 50% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0.04); } }
@keyframes qv3SparkPulse { 0%, 100% { transform: scale(1) rotate(0); } 50% { transform: scale(1.08) rotate(8deg); } }
@keyframes qv3SparkBurst {
	0% { opacity: 0; transform: translate(0, 0) scale(0.4); }
	30% { opacity: 1; }
	100% { opacity: 0; transform: translate(var(--jiqs-tx, 12px), var(--jiqs-ty, -16px)) scale(0.6); }
}
@keyframes qv3LockFloat { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-3px) rotate(2deg); } }

@keyframes abPulseDot {
	0% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.45); }
	70% { box-shadow: 0 0 0 9px rgba(249, 115, 22, 0); }
	100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); }
}
@keyframes abDrift {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33% { transform: translate(28px, -18px) scale(1.08); }
	66% { transform: translate(-22px, 14px) scale(0.94); }
}
@keyframes abRipple {
	0% { width: 60px; height: 60px; opacity: 0; border-width: 1.5px; }
	20% { opacity: 0.8; }
	100% { width: 280px; height: 280px; opacity: 0; border-width: 0.5px; }
}
@keyframes abCompassRotate { to { transform: rotate(360deg); } }
@keyframes abFloat {
	0%, 100% { transform: translateY(0) scale(1); opacity: 0; }
	20% { opacity: 1; }
	50% { transform: translateY(-22px) scale(1.2); opacity: 0.9; }
	80% { opacity: 0.7; }
}
@keyframes abChipBlink { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.85); } }
@keyframes abSlotGlare { 0% { left: -60%; } 60%, 100% { left: 130%; } }
@keyframes abLabelFade { 0%, 100% { opacity: 0.7; } 50% { opacity: 1; } }
@keyframes abDotTrail { 0%, 100% { opacity: 0.25; transform: scale(1); } 50% { opacity: 1; transform: scale(1.6); } }
@keyframes abFillSlide { to { background-position: -200% 0; } }
@keyframes abShimmer { to { left: 150%; } }
@keyframes abSpin { to { transform: rotate(360deg); } }

@keyframes ml-pulse {
	0% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0.55); }
	70% { box-shadow: 0 0 0 8px rgba(249, 115, 22, 0); }
	100% { box-shadow: 0 0 0 0 rgba(249, 115, 22, 0); }
}
@keyframes ml-rotate { from { transform: rotate(0); } to { transform: rotate(360deg); } }
@keyframes modal-appear { from { opacity: 0; transform: translateY(14px) scale(0.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes jiqs-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes jiqsCardIn {
	from { opacity: 0; transform: translateX(64px) scale(0.98); }
	to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes jiqsCardInBack {
	from { opacity: 0; transform: translateX(-64px) scale(0.98); }
	to { opacity: 1; transform: translateX(0) scale(1); }
}

/* ================================================================
   4. Hero / intro — .jiqs-card
   ================================================================ */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-intro {
	position: relative;
	z-index: 1;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-intro.is-active {
	display: flex !important;
	align-items: flex-start;
	justify-content: center;
	padding: 8px 20px 24px !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-card {
	width: 100%;
	max-width: 540px;
	background: #fff !important;
	border-radius: 28px !important;
	border: 0.5px solid rgba(0, 0, 0, 0.08) !important;
	overflow: hidden;
	position: relative;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: 0 40px 100px rgba(0, 0, 0, 0.08), 6px 0 24px -4px rgba(249, 115, 22, 0.18);
	animation: jiqs-fade-in 0.5s ease both;
}

/* Hero panel ---------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-hero {
	position: relative;
	overflow: hidden;
	padding: 36px 32px 28px;
	background: linear-gradient(135deg, #FFF9F3 0%, #FFF4EA 40%, #FED7AA 100%);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-hero-inner {
	position: relative;
	z-index: 1;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-blob {
	position: absolute;
	display: block;
	border-radius: 50%;
	pointer-events: none;
	filter: blur(20px);
	z-index: 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-blob-1 {
	top: -40px;
	right: -30px;
	width: 180px;
	height: 180px;
	background: radial-gradient(circle, #F97316 0%, transparent 65%);
	opacity: 0.2;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-blob-2 {
	bottom: -60px;
	left: -40px;
	width: 200px;
	height: 200px;
	background: radial-gradient(circle, #DC2626 0%, transparent 65%);
	opacity: 0.15;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-blob-3 {
	top: 40%;
	left: 60%;
	width: 140px;
	height: 140px;
	background: radial-gradient(circle, #7C3AED 0%, transparent 65%);
	opacity: 0.1;
	filter: blur(24px);
}

body.jiq-test-active .jiq-app.jiqs-app .jiqs-hero-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 22px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-trust-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.7);
	-webkit-backdrop-filter: blur(20px);
	backdrop-filter: blur(20px);
	border: 0.5px solid rgba(0, 0, 0, 0.06);
	padding: 6px 12px 6px 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 600;
	color: var(--s-ink) !important;
	line-height: 1;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-trust-badge strong {
	font-weight: 700;
	color: var(--s-ink) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-trust-dot {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #F97316, #DC2626);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-press {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	font-size: 10px;
	color: var(--s-orange-800);
	line-height: 1.2;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-press-label {
	font-weight: 700;
	letter-spacing: 0.5px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-press-pub {
	font-family: var(--s-sans);
	font-style: normal;
	font-weight: 600;
	color: var(--s-ink);
}

/* DE-SERIF: hero headline is SaaS sans 700; the gradient line stays gradient
 * but is 800 upright — no serif, no italic. */
body.jiq-test-active .jiq-app.jiqs-app h1.jiqs-headline {
	font-family: var(--s-sans) !important;
	font-size: var(--s-fs-headline) !important;
	font-weight: 700 !important;
	line-height: 0.98 !important;
	letter-spacing: -0.02em !important;
	color: var(--s-ink) !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
	text-align: left !important;
	text-transform: none !important;
	word-spacing: normal !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-headline-grad {
	font-style: normal;
	font-weight: 800;
	background: linear-gradient(135deg, #F97316 0%, #DC2626 50%, #7C3AED 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-subhead {
	font-size: 13px !important;
	line-height: 1.6 !important;
	color: var(--s-grey-600) !important;
	max-width: 420px;
	margin: 0 0 20px !important;
	padding: 0 !important;
	word-spacing: normal;
}

body.jiq-test-active .jiq-app.jiqs-app .jiqs-counter-row {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin-bottom: 4px;
	flex-wrap: wrap;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-counter {
	font-family: var(--s-sans);
	font-size: var(--s-fs-counter);
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: -0.02em;
	color: var(--s-ink);
	font-variant-numeric: tabular-nums;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-counter-label {
	font-size: 11px;
	font-weight: 500;
	line-height: 1;
	color: var(--s-orange-800);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-meta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	font-size: 10px;
	color: var(--s-green-500);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-meta-delta { font-weight: 600; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-meta-sep { color: var(--s-grey-400); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-meta-neutral { color: var(--s-grey-600); }

/* Stat strip ---------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	padding: 18px 32px;
	border-bottom: 0.5px solid var(--s-grey-100);
	background: #fff;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat {
	text-align: center;
	min-width: 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat + .jiqs-stat {
	border-left: 0.5px solid var(--s-grey-100);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat-num {
	display: block;
	font-family: var(--s-sans);
	font-size: 20px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.01em;
	color: var(--s-ink);
	margin-bottom: 4px;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat-num small { font-size: 12px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat-star {
	font-size: 12px;
	color: var(--s-orange-500);
	margin-left: 1px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat-label {
	display: block;
	font-size: 9px;
	font-weight: 500;
	letter-spacing: 0.8px;
	color: var(--s-grey-400);
	word-spacing: normal;
}

/* Badge row ----------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-badges {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 32px;
	border-bottom: 0.5px solid var(--s-grey-100);
	background: #fff;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 10px;
	font-weight: 500;
	color: var(--s-grey-700);
	line-height: 1.2;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-badge svg { flex-shrink: 0; }

/* CTA ----------------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-zone {
	padding: 18px 32px 22px;
	background: #fff;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-wrap { position: relative; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-halo {
	position: absolute;
	inset: 4px;
	display: block;
	background: linear-gradient(90deg, #F97316, #DC2626);
	border-radius: 14px;
	filter: blur(16px);
	opacity: 0.35;
	pointer-events: none;
	z-index: 0;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-cta {
	position: relative;
	z-index: 1;
	width: 100% !important;
	background: linear-gradient(90deg, #111 0%, #1a1a1a 100%) !important;
	color: #fff !important;
	border: none !important;
	padding: 16px !important;
	border-radius: 14px !important;
	font-family: var(--s-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 1.8px !important;
	text-transform: uppercase !important;
	line-height: 1.2 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 12px;
	cursor: pointer;
	min-height: 52px;
	margin: 0 !important;
	text-shadow: none !important;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	transition: transform 0.15s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-cta:hover { transform: translateY(-1px); }
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-cta:active { transform: translateY(0); }
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-cta:focus-visible {
	outline: none;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15), 0 0 0 3px rgba(249, 115, 22, 0.35) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-arrow {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #F97316, #DC2626);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 12px;
	min-height: 18px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-live,
body.jiq-test-active .jiq-app.jiqs-app .jiqs-joined {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 10px;
	color: var(--s-grey-600);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-live strong,
body.jiq-test-active .jiq-app.jiqs-app .jiqs-joined strong {
	color: var(--s-ink);
	font-weight: 700;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-live-dot {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--s-green-500);
	box-shadow: 0 0 6px var(--s-green-500);
	animation: pa-pulse 2s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-avatar-stack {
	display: inline-flex;
	align-items: center;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-av {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1.5px solid #fff;
	display: block;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-av + .jiqs-av { margin-left: -6px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-av-1 { background: linear-gradient(135deg, #FDBA74, #F97316); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-av-2 { background: linear-gradient(135deg, #C4B5FD, #7C3AED); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-av-3 { background: linear-gradient(135deg, #FCA5A5, #DC2626); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-av-4 { background: linear-gradient(135deg, #FDE68A, #F59E0B); }

/* ================================================================
   5. Calibrating loader — .jiqs-prep
   ================================================================ */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep {
	position: relative;
	z-index: 2;
	min-height: 78vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 20px;
	background: #fff;
	animation: jiqs-fade-in 0.35s ease both;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep[hidden] { display: none !important; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-stage {
	position: relative;
	width: 100%;
	max-width: 460px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-card {
	position: relative;
	z-index: 2;
	text-align: center;
	width: 100%;
	background: linear-gradient(180deg, #FFFFFF 0%, #FFFBF7 100%);
	border: 1px solid rgba(249, 115, 22, 0.12);
	border-radius: 24px;
	padding: 28px 32px 24px;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset,
		0 30px 60px -20px rgba(249, 115, 22, 0.22),
		0 18px 40px -18px rgba(15, 23, 42, 0.12),
		0 0 0 1px rgba(249, 115, 22, 0.04);
}

/* Particles */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span {
	position: absolute;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--s-orange-400);
	box-shadow: 0 0 8px rgba(249, 115, 22, 0.6);
	opacity: 0;
	animation: prepParticle 6s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span:nth-child(1) { left: 8%; top: 22%; animation-delay: 0s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span:nth-child(2) { left: 90%; top: 30%; width: 3px; height: 3px; animation-delay: 0.8s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span:nth-child(3) { left: 14%; top: 70%; animation-delay: 1.6s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span:nth-child(4) { left: 86%; top: 78%; width: 5px; height: 5px; animation-delay: 2.4s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span:nth-child(5) { left: 50%; top: 8%; width: 3px; height: 3px; animation-delay: 3.2s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span:nth-child(6) { left: 4%; top: 50%; animation-delay: 4s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span:nth-child(7) { left: 94%; top: 56%; width: 3px; height: 3px; animation-delay: 1.2s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span:nth-child(8) { left: 50%; top: 92%; animation-delay: 2.8s; }

/* Badge */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px 6px 10px;
	background: var(--s-orange-050);
	border: 1px solid rgba(249, 115, 22, 0.18);
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.06em;
	color: var(--s-orange-700);
	text-transform: uppercase;
	margin-bottom: 22px;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-badge-pulse {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--s-orange-500);
	animation: prepBadgePulse 1.6s ease-out infinite;
	flex-shrink: 0;
}

/* Orbit + decoder */
/*
 * The ring is a 250px circle; the wrap is wider so the 5 labelled tiles
 * ("ANALYTICAL" is ~55px at 9px) stay centred without being squeezed.
 * The SVG keeps its aspect ratio and centres itself inside the wider box.
 */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-orbit-wrap {
	position: relative;
	width: 100%;
	max-width: 340px;
	height: 250px;
	margin: 0 auto 18px;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-orbit {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-orbit svg {
	width: 100%;
	height: 100%;
	transform-origin: center;
	animation: prepOrbitSpin 8s linear infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-orbit-arc { animation: none; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-orbit-arc-inner {
	transform-origin: 120px 120px;
	animation: prepOrbitSpinReverse 5s linear infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-decoder {
	position: relative;
	display: flex;
	gap: 8px;
	justify-content: center;
	align-items: flex-start;
	z-index: 2;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	background: transparent;
	border: none;
	box-shadow: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot-window {
	position: relative;
	width: 42px;
	height: 54px;
	overflow: hidden;
	border-radius: 10px;
	background: linear-gradient(180deg, #FFF7ED 0%, #FFEDD5 100%);
	border: 1px solid rgba(249, 115, 22, 0.22);
	border-bottom: 3px solid var(--s-orange-500);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset,
		0 -10px 18px -8px rgba(249, 115, 22, 0.18) inset,
		0 6px 14px -4px rgba(249, 115, 22, 0.28),
		0 2px 4px rgba(15, 23, 42, 0.06);
	transform: translateY(0);
	animation: prepTileBob 2.4s ease-in-out infinite;
	display: block;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(3) .jiqs-slot-window { animation-delay: 0.1s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(4) .jiqs-slot-window { animation-delay: 0.2s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(5) .jiqs-slot-window { animation-delay: 0.3s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(6) .jiqs-slot-window { animation-delay: 0.4s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot-shine {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.55) 50%, transparent 70%);
	transform: translateX(-100%);
	animation: prepTileShine 2.8s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(3) .jiqs-slot-shine { animation-delay: 0.15s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(4) .jiqs-slot-shine { animation-delay: 0.3s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(5) .jiqs-slot-shine { animation-delay: 0.45s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(6) .jiqs-slot-shine { animation-delay: 0.6s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-strip {
	display: flex;
	flex-direction: column;
	animation: tdCycle 1.8s cubic-bezier(0.65, 0, 0.35, 1) infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(3) .jiqs-strip { animation-delay: 0.2s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(4) .jiqs-strip { animation-delay: 0.4s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(5) .jiqs-strip { animation-delay: 0.6s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot:nth-child(6) .jiqs-strip { animation-delay: 0.8s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-strip span {
	height: 54px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--s-sans);
	font-weight: 800;
	font-size: 26px;
	color: var(--s-orange-600);
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.6);
	letter-spacing: -0.02em;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot-label {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: var(--s-grey-400);
	text-transform: uppercase;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-scanbeam {
	position: absolute;
	left: -10px;
	right: -10px;
	height: 18px;
	top: 0;
	filter: blur(2px);
	border-radius: 4px;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, transparent 0%, rgba(249, 115, 22, 0.15) 40%, rgba(249, 115, 22, 0.55) 50%, rgba(249, 115, 22, 0.15) 60%, transparent 100%);
	animation: prepScanbeam 2.6s ease-in-out infinite;
}

/* Title + subtitle */
body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-prep-title {
	font-family: var(--s-sans) !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
	line-height: 1.2 !important;
	margin: 0 0 6px !important;
	padding: 0 !important;
	text-align: center !important;
	text-transform: none !important;
	background: linear-gradient(180deg, #1E293B 0%, #475569 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-sub {
	font-size: 13px !important;
	font-weight: 500;
	color: var(--s-slate-400) !important;
	margin: 0 0 22px !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-dot-sep {
	color: var(--s-orange-500);
	font-weight: 700;
	margin: 0 6px;
}

/* Tick bar */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-bar-wrap { margin-bottom: 22px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-bar {
	position: relative;
	width: 100%;
	height: 8px;
	border-radius: 999px;
	overflow: hidden;
	background: linear-gradient(180deg, #F1F5F9 0%, #F8FAFC 100%);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06) inset;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-fill {
	position: relative;
	height: 100%;
	width: 0;
	border-radius: 999px;
	overflow: hidden;
	background: linear-gradient(90deg, #EA580C 0%, #F97316 50%, #FB923C 100%);
	box-shadow: 0 0 12px rgba(249, 115, 22, 0.5), 0 1px 0 rgba(255, 255, 255, 0.4) inset;
	animation: preparingFill 8s cubic-bezier(0.65, 0, 0.35, 1) forwards;
	transition: width 0.3s linear;
}
/* JS drives the width once it takes over (reduced-motion safe). */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-fill.is-driven { animation: none !important; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-fill-shimmer {
	position: absolute;
	inset: 0;
	transform: translateX(-100%);
	background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.5) 50%, transparent 100%);
	animation: prepFillShimmer 1.2s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-ticks {
	position: absolute;
	inset: 0;
	display: flex;
	justify-content: space-between;
	padding: 0 25%;
	pointer-events: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-ticks i {
	width: 1px;
	height: 100%;
	background: rgba(15, 23, 42, 0.06);
}

/* Checklist */
body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-prep-steps {
	display: flex;
	flex-direction: column;
	gap: 4px;
	text-align: left;
	background: rgba(248, 250, 252, 0.6);
	border: 1px solid rgba(15, 23, 42, 0.04);
	border-radius: 14px;
	padding: 12px 14px !important;
	margin: 0 0 18px !important;
	list-style: none !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 13px;
	color: var(--s-slate-400);
	font-weight: 500;
	padding: 6px 0;
	margin: 0 !important;
	list-style: none !important;
	transition: all 0.4s cubic-bezier(0.65, 0, 0.35, 1);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step::before,
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step::marker { content: none; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step.is-active { color: var(--s-slate-900); font-weight: 600; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step.is-done { color: var(--s-green-600); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-dot {
	position: relative;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #fff;
	border: 1.5px solid var(--s-slate-200);
	color: var(--s-slate-400);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 11px;
	font-weight: 700;
	z-index: 1;
	transition: all 0.35s cubic-bezier(0.65, 0, 0.35, 1);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step.is-active .jiqs-prep-dot {
	background: linear-gradient(180deg, #FFFFFF 0%, #FFF7ED 100%);
	color: var(--s-orange-600);
	border-color: var(--s-orange-500);
	box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.15), 0 4px 10px -2px rgba(249, 115, 22, 0.4);
	animation: prepDotPulse 1.4s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step.is-done .jiqs-prep-dot {
	background: linear-gradient(180deg, #10B981 0%, #059669 100%);
	color: #fff;
	border-color: var(--s-green-600);
	box-shadow: 0 4px 10px -2px rgba(16, 185, 129, 0.4);
	animation: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-trail {
	position: absolute;
	left: 11px;
	top: 30px;
	width: 2px;
	height: 14px;
	background: var(--s-slate-200);
	border-radius: 2px;
	transition: background 0.4s ease;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step:last-child .jiqs-prep-trail { display: none; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step.is-done .jiqs-prep-trail {
	background: linear-gradient(180deg, #10B981 0%, #E2E8F0 100%);
}

/* Footer */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 11px !important;
	font-weight: 500;
	color: var(--s-slate-400) !important;
	padding-top: 14px;
	margin: 0 !important;
	border-top: 1px dashed rgba(15, 23, 42, 0.08);
	word-spacing: normal;
}

/* ================================================================
   6. Question screen — sticky counter bar (approved header design)
   ================================================================
   One row: [QUESTION 4 / 20] [spacer] [timer chip] [Review chip],
   plus a full-width progress line hugging the bar's bottom edge
   (.jiq-progress is absolute against the sticky header). The navy
   brand bar (section 2) is STATIC above this; the counter bar is the
   only sticky chrome, so header.offsetHeight -> --jiqs-head-h keeps
   describing exactly what pins over the question column. */
body.jiq-test-active .jiq-app.jiqs-app .jiq-test-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 100 !important;
	display: none;
	background: #FFFCF8 !important;
	border-bottom: 1px solid rgba(20, 35, 69, 0.08) !important;
	padding: 0 !important;
	margin: 0 0 12px !important;
	width: 100%;
}
@supports ((-webkit-backdrop-filter: blur(10px)) or (backdrop-filter: blur(10px))) {
	body.jiq-test-active .jiq-app.jiqs-app .jiq-test-header {
		background: rgba(255, 252, 248, 0.96) !important;
		-webkit-backdrop-filter: saturate(1.4) blur(10px);
		backdrop-filter: saturate(1.4) blur(10px);
	}
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-test-header.is-visible { display: block; }
body.jiq-test-active .jiq-app.jiqs-app .jiq-test-header-inner {
	max-width: none;
	margin: 0;
	padding: 0 16px;
	text-align: left;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-head-row {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 10px;
	height: 46px;
	min-width: 0;
}
/* Counter: QUESTION <cur> / <total>. The Q abbreviation swaps in <=374. */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-head-count {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	flex: 0 0 auto;
	min-width: 0;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-count-lbl {
	font-family: var(--s-sans) !important;
	font-size: 10.5px !important;
	font-weight: 700 !important;
	line-height: 1;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #b3b9c4 !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-count-abbr { display: none; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-count-cur {
	font-family: var(--s-sans) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	line-height: 1;
	letter-spacing: -0.01em !important;
	color: #1a1f2e !important;
	font-variant-numeric: tabular-nums;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-count-tot {
	font-family: var(--s-sans) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1;
	color: #b3b9c4 !important;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-head-spacer {
	flex: 1 1 auto;
	min-width: 6px;
}
/* Timer: borderless amber chip. */
body.jiq-test-active .jiq-app.jiqs-app .jiq-timer.jiqs-timer {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-family: var(--s-sans) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	color: #B45309 !important;
	background: #FDF0DC !important;
	border: 0 !important;
	padding: 7px 12px !important;
	border-radius: 999px !important;
	font-variant-numeric: tabular-nums;
	word-spacing: normal;
	transition: color 0.25s ease, background 0.25s ease;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-timer.jiqs-timer .jiq-timer-icon {
	display: block;
	width: 12px;
	height: 12px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-timer.jiqs-timer.is-urgent,
body.jiq-test-active .jiq-app.jiqs-app .jiq-timer.jiqs-timer.is-danger {
	color: #B91C1C !important;
	background: #FEE2E2 !important;
	animation: pa-pulse 1.2s ease-in-out infinite;
}
/* Review: white chip. Visual pill ~30px; the ::before overlay stretches the
 * hit area past 44px without bulking the 46px row. */
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-review-toggle {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: relative;
	background: #fff !important;
	border: 1px solid rgba(20, 35, 69, 0.10) !important;
	color: #5a6472 !important;
	font-family: var(--s-sans) !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	letter-spacing: 0.2px;
	text-transform: none !important;
	padding: 7px 12px !important;
	margin: 0 !important;
	border-radius: 999px !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	flex: 0 0 auto;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.05) !important;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.15s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-review-toggle::before {
	/* Insets are against the PADDING box (the 1px border eats 1px per edge)
	 * and the 3px progress line wins hit-testing at the bar's bottom edge,
	 * so -11px (not -9px) is what actually clears 44px effective. */
	content: "";
	position: absolute;
	left: -4px;
	right: -4px;
	top: -11px;
	bottom: -11px;
	border-radius: 999px;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-review-toggle:hover {
	color: var(--s-orange-500) !important;
	border-color: var(--s-orange-150) !important;
	background: var(--s-orange-050) !important;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-review-toggle:active { transform: scale(0.96); }
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-review-toggle:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.22) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-review-caret {
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 4px solid currentColor;
	transition: transform 0.2s ease;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-review-toggle.is-open .jiq-review-caret { transform: rotate(180deg); }

/* Progress: full-width 3px line hugging the bar's bottom edge. Absolute
 * against the sticky header (a positioned box), so it adds no row height
 * and header.offsetHeight stays the bar itself. Replaces the old inline
 * short track. */
body.jiq-test-active .jiq-app.jiqs-app .jiq-progress {
	position: absolute !important;
	left: 0 !important;
	right: 0 !important;
	bottom: -1px !important;
	z-index: 3;
	height: 3px !important;
	margin: 0 !important;
	width: auto;
	min-width: 0;
	background: rgba(20, 35, 69, 0.05) !important;
	border-radius: 0 !important;
	overflow: visible;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-progress-fill {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, #F79A3B 0%, #E4551F 100%) !important;
	border-radius: 0 999px 999px 0;
	box-shadow: 0 0 8px rgba(228, 85, 31, 0.45);
	transition: width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
}

/*
 * Review panel — ABSOLUTE, not in flow. Opening it must not change the sticky
 * head's height, otherwise --jiqs-head-h changes, the fitted question column
 * is re-measured and the whole screen jumps under the user's thumb.
 * position:sticky on the header makes it the containing block.
 */
body.jiq-test-active .jiq-app.jiqs-app .jiq-review-panel {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 2;
	background: rgba(255, 255, 255, 0.98);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-top: 0.5px solid rgba(253, 186, 116, 0.35);
	border-bottom: 0.5px solid rgba(253, 186, 116, 0.35);
	box-shadow: 0 18px 30px -18px rgba(31, 41, 55, 0.28);
	padding: 12px 16px 14px;
	max-height: min(46vh, 320px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: contain;
	margin-top: 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-review-panel[hidden] { display: none !important; }
body.jiq-test-active .jiq-app.jiqs-app .jiq-review-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(44px, 1fr));
	gap: 8px;
	max-width: 560px;
	margin: 0 auto;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-review-chip {
	-webkit-appearance: none !important;
	appearance: none !important;
	position: relative;
	min-width: 44px;
	min-height: 44px;
	padding: 4px !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1px;
	background: #fff !important;
	border: 1.5px solid var(--s-grey-050) !important;
	border-radius: 14px !important;
	color: var(--s-grey-400) !important;
	font-family: var(--s-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1;
	cursor: pointer;
	box-shadow: none !important;
	transition: all 0.25s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-review-chip.is-answered {
	background: var(--s-orange-050) !important;
	border-color: var(--s-orange-300) !important;
	color: var(--s-orange-700) !important;
	font-weight: 700 !important;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-review-chip.is-current {
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.18) !important;
	border-color: var(--s-orange-500) !important;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-review-chip:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.22) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-chip-letter {
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.4px;
	color: var(--s-orange-600);
	min-height: 9px;
}

/* ================================================================
   7. Question stage + card
   ================================================================ */
/*
 * VIEWPORT-FIT QUESTION COLUMN (SPEC A).
 *
 * The active question is a flex column exactly --jiq-fit tall, so the sticky
 * head (previous sibling), the card and the nav row together occupy one
 * screenful and the page never needs to scroll to answer.
 *
 *   --jiq-fit = --jiq-vh (JS: visualViewport.height ?? innerHeight)
 *             - --jiq-chrome (JS: measured px above this section, incl. the
 *                             WP admin bar, theme offset and the sticky head)
 *             - safe-area-inset-bottom - --jiq-tail
 *
 * Fallback chain lives in section 1: 100vh -> 100dvh -> the JS value, so a
 * JS-less visitor still gets a sane (if slightly tall) column.
 *
 * Only .jiq-q-stimulus and .jiq-options may flex; every other child is
 * flex:0 0 auto so the question text and nav can never be squeezed away.
 */
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection {
	position: relative;
	z-index: 1;
	max-width: 720px;
	margin: 0 auto !important;
	padding: 0 16px !important;
	background: transparent !important;
	scroll-margin-top: calc(var(--jiqs-head-h, 92px) + 12px);
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection.is-active {
	display: flex;
	flex-direction: column;
	min-height: 0;
	height: var(--jiq-fit);
	max-height: var(--jiq-fit);
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
	margin: 0;
	padding: 18px 22px 16px;
	background: #fff !important;
	border: 1px solid rgba(253, 186, 116, 0.28) !important;
	border-radius: 24px !important;
	cursor: default !important;
	filter: none !important;
	box-shadow: 0 18px 42px -18px rgba(249, 115, 22, 0.18), 0 6px 16px -8px rgba(31, 41, 55, 0.08);
	transition: box-shadow 0.5s ease;
	will-change: opacity, transform;
}
/* Fixed-size furniture — never absorbs or yields space. */
body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard > .jiqs-q-cat,
body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard > h2.jiq-q-text,
body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard > .jiqs-foot-hint {
	flex: 0 0 auto;
}
/*
 * The step machine toggles display:none, so a transition can never run on
 * reveal — the entrance is an ANIMATION (it fires on display:none -> block)
 * with fill:both, which also means the card is visible even if JS never adds
 * a direction class. .is-back is set when the user navigates backwards.
 */
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active .jiq-q-card.jiqs-qcard {
	animation: jiqsCardIn 0.78s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active.is-back .jiq-q-card.jiqs-qcard {
	animation-name: jiqsCardInBack;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active .jiq-q-card.jiqs-qcard:hover {
	box-shadow: 0 22px 50px -18px rgba(249, 115, 22, 0.22), 0 8px 18px -8px rgba(31, 41, 55, 0.1);
}

/* COMPACT TITLE BLOCK (approved design): category chip ABOVE the title. */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-q-cat {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	align-self: center;
	margin: 0 auto 8px !important;
	padding: 4px 10px !important;
	font-family: var(--s-sans) !important;
	font-size: 9.5px !important;
	font-weight: 700 !important;
	line-height: 1;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	color: #A16A2E !important;
	background: #FBF3E7 !important;
	border: 0 !important;
	border-radius: 999px !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-q-cat::before {
	content: "";
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #F0821E;
	flex: 0 0 auto;
}
/* DE-SERIF: question title carries hierarchy through weight + tight tracking,
 * not a serif face. Compact by design: the counter bar + category chip carry
 * the context, the title only asks the question. */
body.jiq-test-active .jiq-app.jiqs-app h2.jiq-q-text {
	font-family: var(--s-sans) !important;
	font-size: 16.5px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: -0.01em !important;
	color: #1a1f2e !important;
	text-align: center !important;
	text-transform: none !important;
	margin: 0 auto !important;
	max-width: 340px;
	padding: 0 !important;
	word-spacing: normal;
}
/*
 * STIMULUS — the flexible one (SPEC B: nothing may ever be cut).
 *
 * The figure absorbs every spare pixel in the column (flex:1 1 auto) and is
 * allowed to shrink to nothing (min-height:0) before anything else gives.
 * The art inside is object-fit:contain with NO border-radius: the real puzzle
 * PNGs are full-bleed 1000x880 with the navy frame touching all four edges,
 * so a radius on the <img> literally clips the artwork's corners. The radius
 * belongs to the padded figure, never to the picture.
 */
body.jiq-test-active .jiq-app.jiqs-app .jiq-q-stimulus {
	flex: 1 1 auto;
	min-height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	/*
	 * fit-content, not 100%: when the column is height-limited the art is
	 * narrower than the card, and a full-width figure would frame it with a
	 * band of dead paper on each side. The figure hugs the picture instead.
	 */
	width: fit-content;
	/* Approved hierarchy: stimulus starts 8px below the title block. */
	margin: 8px auto 12px !important;
	padding: 10px !important;
	max-width: min(78%, 480px);
	overflow: visible;
	background: linear-gradient(180deg, #FFFFFF 0%, #FFFBF7 100%);
	border: 1px solid rgba(249, 115, 22, 0.12);
	border-radius: 18px;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.8) inset,
		0 12px 28px -18px rgba(249, 115, 22, 0.22),
		0 8px 20px -18px rgba(15, 23, 42, 0.12);
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-q-stimulus img {
	display: block;
	/*
	 * height drives, width follows the art's own ratio — so the <img> box IS
	 * the picture and the figure can hug it. object-fit:contain still guards
	 * the case where max-width clamps the box narrower than the ratio wants.
	 */
	width: auto !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	min-width: 0;
	min-height: 0;
	object-fit: contain !important;
	object-position: center !important;
	border-radius: 0 !important;
	background: transparent;
	margin: 0;
}

/* ================================================================
   8. Option tiles (A–F)
   ================================================================ */
/*
 * PREMIUM A-F TILES (SPEC C).
 *
 * Sizing: the TILE carries aspect-ratio 1 and height 100%, which gives the
 * grid two behaviours from one declaration —
 *   free height  -> `height:100%` resolves to auto, aspect-ratio wins, the
 *                   tile is a square derived from the available width;
 *   capped height-> the 1fr rows shrink, `height:100%` wins, the tile becomes
 *                   a shorter rectangle and the art (object-fit:contain) just
 *                   letterboxes. Still nothing cropped.
 * That keeps the grid's flex-basis content-derived and predictable, which
 * `aspect-ratio` on the grid itself does NOT (a column flex item resolves its
 * basis from content, so the ratio was being ignored and the rows collapsed).
 *
 * Chrome: hairline border + soft two-stage elevation, the letter demoted to a
 * small corner badge so the puzzle art — not the typography — is the subject.
 */
/*
 * flex:0 0 auto — the tiles hold their square and the STIMULUS absorbs both
 * the slack and the shortage. The options are the interactive half of the
 * screen; squashing them to buy the puzzle 40px of height is the wrong trade,
 * and the puzzle loses nothing by shrinking (object-fit:contain keeps all of
 * it visible). Short viewports re-enable shrink at the bottom of section 16.
 */
body.jiq-test-active .jiq-app.jiqs-app .jiq-options {
	flex: 0 0 auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	grid-auto-rows: minmax(0, 1fr);
	gap: 10px;
	margin: 0 auto !important;
	width: 100%;
	max-width: 420px;
	min-height: 0;
	padding: 0 !important;
	overflow: visible;
	list-style: none;
}
/* More than six choices: fall back to intrinsic rows, never a squashed grid. */
body.jiq-test-active .jiq-app.jiqs-app .jiq-options:has(> :nth-child(7)) {
	grid-template-rows: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly {
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: none;
	grid-auto-rows: auto;
	gap: 8px;
	max-width: 520px;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile {
	position: relative;
	width: 100%;
	height: 100%;
	aspect-ratio: 1;
	min-width: 0;
	min-height: 44px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 9px !important;
	margin: 0 !important;
	overflow: visible;
	background: #fff !important;
	border: 1px solid #F0E6DA !important;
	border-radius: 16px !important;
	box-shadow: 0 1px 2px rgba(31, 41, 55, 0.05),
		0 6px 14px -10px rgba(31, 41, 55, 0.16) !important;
	color: var(--s-orange-500) !important;
	font-family: var(--s-sans) !important;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
	text-transform: none !important;
	transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1),
		box-shadow 0.28s ease, border-color 0.28s ease, background 0.28s ease;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly button.jiq-option.jiqs-tile {
	flex-direction: row;
	justify-content: flex-start;
	height: auto;
	aspect-ratio: auto;
	min-height: 52px;
	gap: 12px;
	padding: 13px 40px 13px 16px !important;
	text-align: left;
}
/* Art holder — fills the tile, never clips. */
body.jiq-test-active .jiq-app.jiqs-app .jiq-option-media {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 auto;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	background: transparent;
	border-radius: 0;
	padding: 0;
	overflow: visible;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-option-media img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	min-width: 0;
	min-height: 0;
	/*
	 * The option PNGs are full-bleed 250x250 — the navy frame runs edge to
	 * edge. Any border-radius here shaves the corners off the artwork, which
	 * is exactly the "images are cropped" report. Keep it at 0 forever.
	 */
	border-radius: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	transition: transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}
/* Letter = refined corner badge, not a big serif letter fighting the art. */
body.jiq-test-active .jiq-app.jiqs-app .jiq-option-letter {
	position: absolute;
	top: 5px;
	left: 5px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 19px;
	height: 19px;
	padding: 0;
	border-radius: 7px;
	background: var(--s-orange-050) !important;
	border: 1px solid rgba(194, 65, 12, 0.14);
	font-family: var(--s-sans) !important;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.2px;
	color: var(--s-orange-700) !important;
	transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
	word-spacing: normal;
}
/*
 * TEXT-ONLY answers reuse .jiq-option-letter, but there it holds the answer
 * TEXT, not an A-F letter (templates/test.php falls back to a letter only when
 * the admin left the label empty). So it must go back to being ordinary
 * in-flow text — squeezing a sentence into a 19px corner badge would make
 * text questions unreadable.
 */
body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly .jiq-option-letter {
	position: static;
	width: auto;
	height: auto;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	display: block;
	flex: 1 1 auto;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.1px;
	text-align: left;
	white-space: normal;
	color: var(--s-ink-900) !important;
	transform: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly button.jiq-option.jiqs-tile.is-selected .jiq-option-letter {
	background: transparent !important;
	color: var(--s-orange-800) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly .jiq-option-check {
	top: 50%;
	right: 12px;
	margin-top: -9.5px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-option-check {
	position: absolute;
	top: 5px;
	right: 5px;
	z-index: 2;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--s-orange-500);
	color: #fff;
	box-shadow: 0 2px 6px -1px rgba(194, 65, 12, 0.45);
	opacity: 0;
	transform: scale(0.5);
	transition: opacity 0.2s ease, transform 0.28s cubic-bezier(0.34, 1.56, 0.64, 1);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-tile-halo {
	position: absolute;
	inset: -22px;
	border-radius: 50%;
	background: radial-gradient(circle, currentColor 0%, currentColor 14%, transparent 62%);
	opacity: 0;
	transform: scale(0.6);
	filter: blur(10px);
	z-index: -1;
	pointer-events: none;
	transition: opacity 0.5s ease, transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}
/*
 * The old underline bar hung 12px BELOW the tile. In a height-fitted grid
 * that either overflows the column or gets clipped by the row box, and the
 * new selected state already reads unmistakably (ring + tint + check).
 * The element stays in the DOM (aria-hidden decoration) but is not painted.
 */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-tile-bar {
	display: none !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-tile-spark {
	position: absolute;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
	opacity: 0;
	pointer-events: none;
	z-index: 2;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-tile-spark-1 { top: 8%; left: 12%; --jiqs-tx: -16px; --jiqs-ty: -18px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-tile-spark-2 { top: 14%; right: 10%; --jiqs-tx: 18px; --jiqs-ty: -14px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-tile-spark-3 { bottom: 22%; left: 50%; --jiqs-tx: 0; --jiqs-ty: 14px; }

@media (hover: hover) and (pointer: fine) {
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active button.jiq-option.jiqs-tile:hover {
		transform: translateY(-2px);
		border-color: var(--s-orange-300) !important;
		background: #FFFDFB !important;
		box-shadow: 0 2px 4px rgba(31, 41, 55, 0.06),
			0 14px 26px -14px rgba(194, 65, 12, 0.4) !important;
	}
	/*
	 * :not(.is-textonly) — in a text question .jiq-option-letter is the answer
	 * text itself, and this rule's specificity would otherwise beat the
	 * text-only reset above and paint a badge behind the sentence.
	 */
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options:not(.is-textonly) .jiq-question.is-active button.jiq-option.jiqs-tile:hover .jiq-option-letter,
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active .jiq-options:not(.is-textonly) button.jiq-option.jiqs-tile:hover .jiq-option-letter {
		background: var(--s-orange-100) !important;
		border-color: rgba(194, 65, 12, 0.26);
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active button.jiq-option.jiqs-tile:hover .jiq-option-media img {
		transform: scale(1.03);
	}
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile:active {
	transform: scale(0.97);
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile:focus-visible {
	outline: none;
	border-color: var(--s-orange-400) !important;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.28),
		0 6px 14px -10px rgba(31, 41, 55, 0.2) !important;
}
/*
 * SELECTED — accent ring + warm fill + check. Never a solid currentColor
 * background: that flooded the tile with orange and buried the artwork the
 * visitor is being asked to compare.
 */
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected {
	transform: translateY(-2px);
	background: #FFF9F2 !important;
	border-color: var(--s-orange-500) !important;
	box-shadow: 0 0 0 2px var(--s-orange-500),
		0 14px 30px -14px rgba(194, 65, 12, 0.55) !important;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected:focus-visible {
	box-shadow: 0 0 0 2px var(--s-orange-500),
		0 0 0 5px rgba(249, 115, 22, 0.26),
		0 14px 30px -14px rgba(194, 65, 12, 0.55) !important;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiq-option-letter {
	background: var(--s-orange-500) !important;
	border-color: var(--s-orange-600);
	color: #fff !important;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiq-option-check {
	opacity: 1;
	transform: scale(1);
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiqs-tile-halo {
	opacity: 0.3;
	transform: scale(1);
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiqs-tile-bar {
	transform: translateX(-50%) scaleX(1);
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiqs-tile-spark {
	animation: qv3SparkBurst 0.7s ease-out forwards;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiqs-tile-spark-1 { animation-delay: 0.05s; }
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiqs-tile-spark-2 { animation-delay: 0.1s; }
body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiqs-tile-spark-3 { animation-delay: 0.15s; }

/* Foot hint ------------------------------------------------------ */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-hint {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	margin: 12px auto 0;
	color: var(--s-grey-400);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-line {
	width: 28px;
	height: 2px;
	background: var(--s-grey-200);
	border-radius: 2px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-text {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.2px;
	color: #9aa1ad;
	transition: color 0.3s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-text.is-ready {
	color: var(--s-green-700);
	font-weight: 600;
}

/* Nav row -------------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-qnav {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	max-width: 520px;
	margin: 0 auto;
	padding: 10px 2px 0;
}
/* Elevated white chips — crafted, but quieter than the option tiles.
   Arrows carry the brand orange; Skip reads a touch stronger (navy). */
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn-ghost {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: #FFFFFF !important;
	border: 1px solid #EBE2D6 !important;
	color: #57534E !important;
	font-family: var(--s-sans) !important;
	font-size: 12.5px !important;
	font-weight: 700 !important;
	letter-spacing: 0.3px;
	text-transform: none !important;
	padding: 11px 18px !important;
	min-height: 44px;
	border-radius: 999px !important;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0 !important;
	box-shadow: 0 1px 2px rgba(28, 25, 23, 0.05), 0 5px 14px -7px rgba(28, 25, 23, 0.12) !important;
	transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn-ghost span {
	color: #F0821E !important;
	font-size: 13px;
	line-height: 1;
	transition: transform 0.2s ease;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn.jiq-next {
	color: #1E3A5C !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn-ghost:hover {
	color: var(--s-orange-600) !important;
	border-color: var(--s-orange-150) !important;
	background: var(--s-orange-050) !important;
	box-shadow: 0 1px 2px rgba(28, 25, 23, 0.05), 0 8px 18px -8px rgba(234, 88, 12, 0.25) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn.jiq-next:hover span { transform: translateX(2px); }
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn.jiq-prev:hover span { transform: translateX(-2px); }
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn-ghost:active { transform: scale(0.96); }
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn-ghost:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.22) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn-ghost[disabled] {
	opacity: 0.35;
	pointer-events: none;
	background: transparent !important;
	box-shadow: none !important;
}

/* Confidentiality card ------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence {
	position: relative;
	z-index: 1;
	max-width: 720px;
	margin: 14px auto 10px;
	padding: 12px 18px;
	background: linear-gradient(135deg, #EDE9FE 0%, #F5F3FF 50%, #FFF5F0 100%);
	border: 1px solid rgba(167, 139, 250, 0.24);
	border-radius: 16px;
	display: flex;
	align-items: center;
	gap: 14px;
	overflow: hidden;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 12% 50%, rgba(196, 181, 253, 0.2), transparent 35%),
		radial-gradient(circle at 90% 50%, rgba(253, 186, 116, 0.15), transparent 40%);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-shield {
	position: relative;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(124, 58, 237, 0.18);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-text {
	position: relative;
	flex: 1;
	min-width: 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-text strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--s-ink-navy);
	margin-bottom: 4px;
	letter-spacing: -0.1px;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-text span {
	display: block;
	font-size: 12.5px;
	color: var(--s-grey-600);
	line-height: 1.4;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-lock {
	position: relative;
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-lock svg {
	width: 100%;
	height: 100%;
	filter: drop-shadow(0 6px 12px rgba(124, 58, 237, 0.25));
	animation: qv3LockFloat 4s ease-in-out infinite;
}

/* ================================================================
   9. Post-test loader — "Calculating Your IQ Score" (.jiqs-eval)
   ================================================================ */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval {
	position: relative;
	z-index: 2;
	padding: 0 12px;
	animation: jiqs-fade-in 0.35s ease both;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval[hidden] { display: none !important; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-loading-card {
	position: relative;
	background: #FFFFFF;
	border: 1px solid var(--s-orange-line);
	border-radius: 24px;
	padding: 18px 18px 16px;
	max-width: 460px;
	margin: 36px auto;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(120, 53, 15, 0.04),
		0 10px 30px -8px rgba(249, 115, 22, 0.16),
		0 30px 70px -25px rgba(194, 65, 12, 0.2);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-loading-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 10%;
	right: 10%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(249, 115, 22, 0.55), transparent);
}

/* Status bar ----------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
	padding: 0 4px;
	font-family: var(--s-sans);
	font-size: 11px;
	font-weight: 600;
	color: #92400E;
	letter-spacing: 0.02em;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-status-left {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--s-orange-500);
	flex-shrink: 0;
	animation: abPulseDot 1.8s ease-out infinite;
}
/* DE-SERIF: status strip is upright sans — weight, not italics, carries it. */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-status em { font-style: normal; font-weight: 700; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-sep { opacity: 0.45; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-active {
	color: var(--s-orange-700);
	font-weight: 600;
	font-style: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-status-right {
	font-style: normal;
	opacity: 0.7;
	white-space: nowrap;
}

/* Stage ---------------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-stage {
	position: relative;
	height: 250px;
	border: 1px solid var(--s-orange-line);
	border-radius: 18px;
	margin-bottom: 22px;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(170deg, #FFFBF5 0%, #FFF4E6 60%, #FFEAD0 100%);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-blob {
	position: absolute;
	display: block;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	filter: blur(48px);
	opacity: 0.7;
	pointer-events: none;
	animation: abDrift 14s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-blob-1 {
	top: -40px;
	left: -40px;
	background: radial-gradient(circle, rgba(251, 146, 60, 0.85), transparent 70%);
	animation-delay: 0s;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-blob-2 {
	top: -20px;
	right: -50px;
	background: radial-gradient(circle, rgba(253, 164, 175, 0.75), transparent 70%);
	animation-delay: -3.5s;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-blob-3 {
	bottom: -50px;
	left: 20%;
	background: radial-gradient(circle, rgba(251, 191, 36, 0.7), transparent 70%);
	animation-delay: -7s;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-blob-4 {
	bottom: -30px;
	right: -20px;
	background: radial-gradient(circle, rgba(254, 215, 170, 0.85), transparent 70%);
	animation-delay: -10.5s;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-ripple {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	border: 1.2px solid rgba(249, 115, 22, 0.45);
	border-radius: 50%;
	opacity: 0;
	pointer-events: none;
	animation: abRipple 4s ease-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-ripple-2 { animation-delay: 1.3s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-ripple-3 { animation-delay: 2.6s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-compass {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 240px;
	height: 240px;
	margin: -120px 0 0 -120px;
	max-width: none;
	opacity: 0.45;
	pointer-events: none;
	animation: abCompassRotate 60s linear infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-particle {
	position: absolute;
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(249, 115, 22, 0.85), rgba(249, 115, 22, 0.1) 70%);
	opacity: 0;
	pointer-events: none;
	animation: abFloat 6.5s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-particle-1 { left: 12%; top: 28%; animation-delay: 0s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-particle-2 { left: 84%; top: 30%; width: 5px; height: 5px; animation-delay: 1.2s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-particle-3 { left: 22%; top: 76%; width: 7px; height: 7px; animation-delay: 2.4s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-particle-4 { left: 78%; top: 74%; width: 5px; height: 5px; animation-delay: 3.6s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-particle-5 { left: 50%; top: 14%; width: 4px; height: 4px; animation-delay: 4.8s; }

body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-chip {
	position: absolute;
	top: 22px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 5px 12px;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(249, 115, 22, 0.25);
	border-radius: 999px;
	font-family: var(--s-sans);
	font-style: normal;
	font-size: 11px;
	font-weight: 600;
	color: var(--s-orange-700);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	white-space: nowrap;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-chip-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--s-orange-500);
	flex-shrink: 0;
	animation: abChipBlink 2s ease-in-out infinite;
}

/* Domain slots --------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-row {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -46%);
	z-index: 3;
	display: flex;
	align-items: flex-start;
	gap: 8px;
	max-width: 100%;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-window {
	position: relative;
	width: 54px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.65);
	border: 1.5px solid rgba(249, 115, 22, 0.35);
	border-radius: 14px;
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	box-shadow: 0 8px 22px -8px rgba(194, 65, 12, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.85);
	transition: border-color 0.4s ease, background 0.4s ease;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-window::before {
	content: "";
	position: absolute;
	inset: 4px;
	border-radius: 10px;
	background: linear-gradient(180deg, rgba(254, 215, 170, 0.35), transparent 60%);
	pointer-events: none;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-glare {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60%;
	width: 60%;
	background: linear-gradient(110deg, transparent, rgba(255, 255, 255, 0.55), transparent);
	transform: skewX(-20deg);
	pointer-events: none;
	animation: abSlotGlare 3.4s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot:nth-child(2) .jiqs-eval-glare { animation-delay: 0.22s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot:nth-child(3) .jiqs-eval-glare { animation-delay: 0.44s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot:nth-child(4) .jiqs-eval-glare { animation-delay: 0.66s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot:nth-child(5) .jiqs-eval-glare { animation-delay: 0.88s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-letter {
	position: relative;
	z-index: 1;
	font-family: var(--s-sans);
	font-weight: 800;
	font-size: 32px;
	line-height: 1;
	color: rgba(194, 65, 12, 0.18);
	transition: color 0.4s ease, opacity 0.4s ease, transform 0.4s ease, font-size 0.4s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-letter.is-active {
	color: var(--s-orange-700);
	opacity: 1;
	transform: translateY(0);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-letter.is-exiting {
	opacity: 0;
	transform: translateY(-15px);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot.is-locked .jiqs-eval-window {
	border-color: rgba(249, 115, 22, 0.85);
	background: rgba(255, 247, 237, 0.95);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot.is-locked .jiqs-eval-letter {
	color: var(--s-red-900);
	font-size: 34px;
	opacity: 1;
	transform: translateY(0);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-cap {
	font-family: var(--s-mono);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: #B45309;
	opacity: 0.75;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-label {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 24px;
	z-index: 3;
	text-align: center;
	font-family: var(--s-sans);
	font-style: normal;
	font-size: 13px;
	font-weight: 600;
	color: #92400E;
	animation: abLabelFade 3s ease-in-out infinite;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-label::before,
body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-label::after {
	content: "\00B7";
	margin: 0 10px;
	color: var(--s-orange-500);
	font-weight: 700;
	font-style: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 9px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--s-orange-500);
	opacity: 0.3;
	animation: abDotTrail 1.4s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i:nth-child(2) { animation-delay: 0.15s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i:nth-child(3) { animation-delay: 0.3s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i:nth-child(4) { animation-delay: 0.45s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i:nth-child(5) { animation-delay: 0.6s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i:nth-child(6) { animation-delay: 0.75s; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i:nth-child(7) { animation-delay: 0.9s; }

/* Title block ---------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-title-block {
	text-align: center;
	margin-bottom: 4px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-eyebrow {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0 0 7px !important;
	padding: 0 !important;
	font-family: var(--s-sans) !important;
	font-style: normal;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em;
	color: var(--s-orange-700) !important;
	text-transform: uppercase !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-eyebrow i {
	width: 22px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--s-orange-500));
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-eyebrow i:last-child {
	background: linear-gradient(90deg, var(--s-orange-500), transparent);
}
body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-lc-title {
	margin: 0 0 6px !important;
	padding: 0 !important;
	font-family: var(--s-sans) !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em !important;
	color: #1C1917 !important;
	text-align: center !important;
	text-transform: none !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-sub {
	margin: 0 auto !important;
	padding: 0 !important;
	max-width: 340px;
	font-size: 13.5px !important;
	line-height: 1.55 !important;
	color: #57534E !important;
	text-align: center;
	word-spacing: normal;
}

/* Progress ------------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-progress {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 18px 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-track {
	position: relative;
	flex: 1;
	height: 6px;
	background: var(--s-orange-line);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: inset 0 1px 2px rgba(120, 53, 15, 0.1);
	min-width: 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-fill {
	position: relative;
	display: block;
	height: 100%;
	width: 0;
	border-radius: 8px;
	overflow: hidden;
	background: linear-gradient(90deg, #F97316 0%, #FB923C 35%, #FDA4AF 70%, #F97316 100%);
	background-size: 200% 100%;
	animation: abFillSlide 3s linear infinite;
	box-shadow: 0 0 12px rgba(249, 115, 22, 0.4);
	transition: width 0.3s ease;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-shimmer {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -50%;
	width: 50%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.55), transparent);
	animation: abShimmer 1.8s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-pct {
	font-family: var(--s-sans);
	font-weight: 700;
	font-size: 17px;
	color: var(--s-orange-700);
	min-width: 42px;
	text-align: right;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
	word-spacing: normal;
}

/* Staged cards --------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-steps {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-steps::before {
	content: "";
	position: absolute;
	left: 28px;
	top: 24px;
	bottom: 24px;
	width: 1px;
	background: repeating-linear-gradient(to bottom, rgba(180, 83, 9, 0.16) 0 3px, transparent 3px 6px);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	padding: 12px 14px;
	list-style: none !important;
	background: var(--s-step-card);
	border: 1px solid var(--s-orange-line);
	border-radius: 14px;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step::before { content: none; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-active {
	background: linear-gradient(135deg, #FFF7ED, #FFFBF5);
	border-color: var(--s-orange-300);
	box-shadow: 0 6px 18px -6px rgba(249, 115, 22, 0.3);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-complete {
	background: linear-gradient(135deg, #F7FEE7, #FBFFEF);
	border-color: var(--s-lime-100);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-icon {
	position: relative;
	flex-shrink: 0;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1.5px solid var(--s-orange-150);
	color: #B45309;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-active .jiqs-lc-icon {
	background: var(--s-orange-500);
	border-color: var(--s-orange-500);
	color: #fff;
	box-shadow: 0 0 0 5px rgba(249, 115, 22, 0.15);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-active .jiqs-lc-icon::before {
	content: "";
	position: absolute;
	inset: -5px;
	border-radius: 50%;
	border: 1.5px solid var(--s-orange-500);
	border-top-color: transparent;
	border-right-color: transparent;
	animation: abSpin 1.2s linear infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-complete .jiqs-lc-icon {
	background: var(--s-lime-600);
	border-color: var(--s-lime-600);
	color: #fff;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-body {
	flex: 1;
	min-width: 0;
	display: block;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-title {
	display: block;
	font-family: var(--s-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.01em;
	color: #1C1917;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-status {
	display: block;
	margin-top: 2px;
	font-family: var(--s-sans);
	font-style: normal;
	font-size: 12px;
	font-weight: 500;
	color: #A8A29E;
	transition: color 0.3s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-active .jiqs-lc-step-status { color: var(--s-orange-700); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-complete .jiqs-lc-step-status { color: var(--s-lime-700); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-num {
	flex-shrink: 0;
	font-family: var(--s-mono);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: #D6D3D1;
	padding: 3px 6px;
	border: 1px solid #F1E9DD;
	border-radius: 6px;
	transition: all 0.4s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-active .jiqs-lc-step-num {
	color: var(--s-orange-700);
	border-color: var(--s-orange-150);
	background: var(--s-orange-050);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-complete .jiqs-lc-step-num {
	color: var(--s-lime-700);
	border-color: #D9F99D;
	background: var(--s-lime-050);
}

/* Footer --------------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px dashed var(--s-orange-line);
	font-family: var(--s-sans);
	font-style: normal;
	font-size: 11px;
	font-weight: 500;
	color: #B45309;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-footer-left {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

/* ================================================================
   10. Unlock / contact step — .jiqs-unlock
   ================================================================ */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-contact {
	position: relative;
	z-index: 2;
	padding: 0 12px 8px !important;
	margin: 0 !important;
	background: transparent !important;
	/* Zoom-pan guard: nothing on the unlock step may create horizontal
	 * overflow (clip, not hidden — see the html/body rule in section 2). */
	overflow-x: clip;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-contact.is-active { display: block !important; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock {
	position: relative;
	width: 100%;
	max-width: 880px;
	margin: 20px auto 8px !important;
	background: #0A0604;
	border-radius: 24px;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.05fr 1fr;
	isolation: isolate;
	box-shadow: 0 50px 120px -30px rgba(0, 0, 0, 0.65),
		0 0 0 1px rgba(253, 186, 116, 0.08),
		inset 0 1px 0 rgba(255, 255, 255, 0.04);
	animation: modal-appear 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock,
body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock *,
body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock *::before,
body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock *::after {
	box-sizing: border-box !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock-noise {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 5;
	opacity: 0.035;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}

/* LEFT — locked report ------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-panel {
	position: relative;
	padding: 36px 34px 28px;
	min-height: 540px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background:
		radial-gradient(ellipse 80% 60% at 70% 0%, rgba(249, 115, 22, 0.32) 0%, transparent 55%),
		radial-gradient(ellipse 60% 50% at 0% 100%, rgba(124, 45, 18, 0.28) 0%, transparent 60%),
		linear-gradient(180deg, #0E0805 0%, #050302 100%);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner {
	position: absolute;
	width: 22px;
	height: 22px;
	border-color: rgba(253, 186, 116, 0.55);
	border-style: solid;
	border-width: 0;
	z-index: 3;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner-tl { top: 16px; left: 16px; border-top-width: 1px; border-left-width: 1px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner-tr { top: 16px; right: 16px; border-top-width: 1px; border-right-width: 1px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner-bl { bottom: 16px; left: 16px; border-bottom-width: 1px; border-left-width: 1px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner-br { bottom: 16px; right: 16px; border-bottom-width: 1px; border-right-width: 1px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-header {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	flex-wrap: wrap;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 2.2px;
	text-transform: uppercase;
	color: var(--s-orange-300);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-pulse {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--s-orange-500);
	flex-shrink: 0;
	animation: ml-pulse 2s ease-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-id {
	font-family: var(--s-mono);
	font-size: 10px;
	letter-spacing: 1.5px;
	color: rgba(253, 186, 116, 0.7);
	padding: 4px 9px;
	border: 1px solid rgba(253, 186, 116, 0.25);
	border-radius: 4px;
	background: rgba(253, 186, 116, 0.04);
	white-space: nowrap;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 22px 0 14px;
	height: 200px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-ring {
	position: absolute;
	inset: 0;
	margin: auto;
	width: 220px;
	height: 220px;
	max-width: 100%;
	animation: ml-rotate 60s linear infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal {
	position: relative;
	z-index: 1;
	width: 180px;
	height: 180px;
	max-width: 70%;
	filter: blur(1.2px);
	opacity: 0.92;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-badge {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 4;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(8, 5, 3, 0.78);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(253, 186, 116, 0.45);
	border-radius: 999px;
	padding: 9px 18px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
	white-space: nowrap;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-badge span {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 2.2px;
	color: var(--s-orange-300);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-meta {
	position: relative;
	z-index: 3;
	text-align: center;
	margin-bottom: 18px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-title {
	display: block;
	font-family: var(--s-sans);
	font-weight: 700;
	font-size: 26px;
	color: #fff;
	filter: blur(5px);
	opacity: 0.55;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-sub {
	display: block;
	margin-top: 4px;
	font-size: 11px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--s-orange-300);
	filter: blur(4px);
	opacity: 0.55;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-bars {
	position: relative;
	z-index: 3;
	display: grid;
	gap: 8px;
	filter: blur(3.5px);
	opacity: 0.55;
	margin-bottom: auto;
	padding-bottom: 12px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-bar {
	display: grid;
	grid-template-columns: 64px 1fr 24px;
	align-items: center;
	gap: 10px;
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(253, 186, 116, 0.08);
	border-radius: 8px;
	padding: 8px 11px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-bar-label {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 1.2px;
	color: var(--s-orange-300);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-bar-track {
	height: 3px;
	background: rgba(255, 255, 255, 0.06);
	border-radius: 2px;
	overflow: hidden;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-bar-fill {
	display: block;
	height: 100%;
	border-radius: 2px;
	background: linear-gradient(90deg, #F97316, #FDBA74);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-bar-val {
	font-family: var(--s-mono);
	font-size: 10px;
	color: var(--s-orange-300);
	text-align: right;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-footer {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	align-items: center;
	gap: 8px;
	padding-top: 16px;
	border-top: 1px solid rgba(253, 186, 116, 0.12);
	text-align: center;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-cell { display: block; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-cell-label {
	display: block;
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 1.4px;
	color: rgba(253, 186, 116, 0.55);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-cell-val {
	display: block;
	margin-top: 3px;
	font-family: var(--s-mono);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.5px;
	color: var(--s-orange-300);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-div {
	width: 1px;
	height: 18px;
	background: rgba(253, 186, 116, 0.15);
}

/* RIGHT — form panel --------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-panel {
	position: relative;
	background: var(--s-paper);
	padding: 36px 36px 28px;
	overflow: hidden;
	background-image:
		radial-gradient(ellipse at 100% 0%, rgba(249, 115, 22, 0.04) 0%, transparent 50%),
		linear-gradient(180deg, #FFFEFB 0%, #FFF8F0 100%);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-step-label {
	display: inline-flex;
	align-items: center;
	font-family: var(--s-mono);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-num { font-size: 14px; font-weight: 700; color: var(--s-orange-600); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-slash { font-size: 14px; color: var(--s-grey-300); margin: 0 1px; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-total { font-size: 14px; font-weight: 500; color: var(--s-grey-400); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-divider {
	width: 18px;
	height: 1px;
	background: var(--s-grey-200);
	margin: 0 8px;
	transform: translateY(-3px);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-text {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 1.6px;
	color: var(--s-grey-600);
}
/* DE-SERIF: unlock headline is bold SaaS sans; the "ready" accent word is a
 * solid brand orange — no italic serif, no gradient clip. */
body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-form-title {
	margin: 0 0 12px !important;
	padding: 0 !important;
	font-family: var(--s-sans) !important;
	font-size: clamp(24px, 6vw, 34px) !important;
	font-weight: 700 !important;
	line-height: 1.08 !important;
	letter-spacing: -0.02em !important;
	color: var(--s-ink-dossier) !important;
	text-align: left !important;
	text-transform: none !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-title em {
	font-style: normal;
	font-weight: 700;
	background: none;
	-webkit-background-clip: initial;
	background-clip: initial;
	-webkit-text-fill-color: #E4551F;
	color: #E4551F;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-sub {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	font-size: 12.5px !important;
	color: var(--s-grey-600) !important;
	margin: 0 0 22px !important;
	padding: 5px 11px !important;
	background: #FFF8F0;
	border: 1px solid var(--s-orange-150);
	border-radius: 999px;
	line-height: 1 !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-sub svg { color: var(--s-orange-600); flex-shrink: 0; }

/* Fields --------------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-field-row {
	display: grid;
	gap: 12px;
	margin-bottom: 12px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-row-two { grid-template-columns: 1fr 1fr; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-row-split {
	grid-template-columns: 0.7fr 1.3fr;
	margin-bottom: 22px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-row-two > *,
body.jiq-test-active .jiq-app.jiqs-app .jiqs-row-split > * { min-width: 0 !important; }
body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field {
	position: relative;
	display: block !important;
	background: #FFF8F0 !important;
	border: 1px solid var(--s-orange-tint) !important;
	border-radius: 12px !important;
	padding: 10px 14px 12px !important;
	min-height: 60px;
	box-shadow: none !important;
	margin: 0 !important;
	cursor: text;
	transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}
body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field:hover {
	border-color: var(--s-orange-150) !important;
	background: #FFFAF3 !important;
}
body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field:focus-within {
	border-color: var(--s-orange-300) !important;
	background: #FFFFFF !important;
	box-shadow: 0 0 0 4px rgba(249, 115, 22, 0.08), 0 4px 12px -2px rgba(249, 115, 22, 0.12) !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-field-label {
	display: block !important;
	margin: 0 0 4px !important;
	font-family: var(--s-mono) !important;
	font-size: 9.5px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px !important;
	color: var(--s-orange-700) !important;
	text-transform: uppercase;
	word-spacing: normal;
	transition: color 0.25s ease;
}
body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field:focus-within .jiqs-field-label { color: var(--s-orange-600) !important; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-underline {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 6px;
	height: 1px;
	background: linear-gradient(90deg, #F97316, #DC2626);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
}
body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field:focus-within .jiqs-underline { transform: scaleX(1); }
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input,
body.jiq-test-active .jiq-app.jiqs-app select.jiqs-input,
body.jiq-test-active .jiq-app.jiqs-app select.jiqs-dial,
body.jiq-test-active .jiq-app.jiqs-app select.jiqs-select {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	border: 0 none !important;
	background: transparent !important;
	font-family: var(--s-sans) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: var(--s-ink-dossier) !important;
	outline: 0 none !important;
	padding: 0 !important;
	margin: 0 !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	min-height: 22px;
	height: auto !important;
	border-radius: 0 !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	letter-spacing: 0.2px;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input::placeholder { color: #D8B79A !important; font-weight: 400; opacity: 1; }
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input[type="number"] { -moz-appearance: textfield; }
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input::-webkit-outer-spin-button,
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
/*
 * iOS AUTO-ZOOM GUARD (real-device defect): Safari zooms — and then leaves the
 * page panned sideways — whenever a focused input/select/textarea computes
 * under 16px. EVERY focusable field in this app must be >=16px; visual size is
 * tuned with padding/width, never font-size. Do not "compact" these again.
 */
body.jiq-test-active .jiq-app.jiqs-app select.jiqs-select,
body.jiq-test-active .jiq-app.jiqs-app select.jiqs-dial {
	cursor: pointer;
	font-size: 16px !important;
	font-weight: 600 !important;
	padding-right: 18px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23EA580C'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 2px center !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-phone-wrap {
	display: flex !important;
	gap: 0 !important;
	align-items: center;
	border: none !important;
	background: transparent !important;
	padding: 0 !important;
	position: relative;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-phone-wrap::after {
	content: "";
	position: absolute;
	left: 86px;
	top: 4px;
	bottom: 4px;
	width: 1px;
	background: var(--s-orange-150);
}
/* 84px (was 76) — the flag + code needs the extra room at the 16px zoom-safe
 * font size; the phone input is flex:1 and absorbs the difference. */
body.jiq-test-active .jiq-app.jiqs-app select.jiqs-dial {
	width: 84px !important;
	min-width: 84px !important;
	max-width: 84px !important;
	flex: 0 0 84px;
	padding: 0 18px 0 0 !important;
	margin-right: 12px !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	background-position: right 4px center !important;
}
body.jiq-test-active .jiq-app.jiqs-app input.jiqs-phone {
	flex: 1 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	padding: 0 0 0 4px !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-error {
	display: block;
	margin: -6px 0 12px;
	padding-left: 14px;
	font-size: 11px;
	font-weight: 500;
	color: var(--s-red-600);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-error[hidden] { display: none !important; }
body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field:has(.is-invalid),
body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field.is-invalid {
	border-color: rgba(220, 38, 38, 0.5) !important;
	background: #FFF7F6 !important;
}

/* Notices -------------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app .jiq-notice {
	margin: 0 0 14px;
	padding: 11px 14px;
	border-radius: 12px;
	font-size: 12.5px;
	line-height: 1.45;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-notice[hidden] { display: none !important; }
body.jiq-test-active .jiq-app.jiqs-app .jiq-notice-timeup {
	background: var(--s-orange-050);
	border: 1px solid var(--s-orange-150);
	color: var(--s-orange-700);
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-notice-error {
	background: #FEE2E2;
	border: 1px solid rgba(220, 38, 38, 0.25);
	color: #991B1B;
}

/* Submit button -------------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn {
	position: relative;
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	background: linear-gradient(135deg, #F97316 0%, #EA580C 50%, #DC2626 100%) !important;
	color: #fff !important;
	border: none !important;
	padding: 17px !important;
	border-radius: 14px !important;
	font-family: var(--s-sans) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 1.4px;
	text-transform: none !important;
	cursor: pointer;
	overflow: hidden;
	margin: 8px 0 0 !important;
	min-height: 56px;
	isolation: isolate;
	transition: transform 0.18s ease, box-shadow 0.25s ease;
	-webkit-appearance: none !important;
	appearance: none !important;
	box-shadow: 0 8px 20px -4px rgba(220, 38, 38, 0.45),
		0 2px 4px rgba(220, 38, 38, 0.2),
		inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-btn-content {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-btn-arrow { transition: transform 0.25s ease; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-btn-shine {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, 0.35) 50%, transparent 70%);
	transform: translateX(-100%);
	transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px -6px rgba(220, 38, 38, 0.55),
		0 4px 8px rgba(220, 38, 38, 0.25),
		inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn:hover .jiqs-btn-shine { transform: translateX(100%); }
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn:hover .jiqs-btn-arrow { transform: translateX(3px); }
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn:active { transform: translateY(0); }
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn:focus-visible {
	outline: none;
	box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.35), 0 8px 20px -4px rgba(220, 38, 38, 0.45) !important;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn[disabled],
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn.is-loading {
	opacity: 0.75;
	pointer-events: none;
}

/* Trust strip + social ------------------------------------------- */
body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-trust {
	list-style: none !important;
	margin: 14px 0 0 !important;
	padding: 10px 4px !important;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
	border-top: 1px dashed var(--s-orange-150);
	border-bottom: 1px dashed var(--s-orange-150);
}
body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-trust li {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.2px;
	color: var(--s-grey-600);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-trust li::before { content: none; }
body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-trust li svg { color: var(--s-orange-600); flex-shrink: 0; }
body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-trust li.jiqs-trust-dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--s-orange-150);
	padding: 0 !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-social {
	margin-top: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	flex-wrap: wrap;
	font-size: 12px;
	color: var(--s-grey-600);
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-social-avatars { display: inline-flex; align-items: center; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-social-av {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid var(--s-paper);
	margin-left: -7px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-social-av-1 { margin-left: 0; background: linear-gradient(135deg, #F59E0B, #D97706); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-social-av-2 { background: linear-gradient(135deg, #EF4444, #B91C1C); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-social-av-3 { background: linear-gradient(135deg, #8B5CF6, #6D28D9); }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-social-text strong { color: var(--s-ink-dossier); font-weight: 700; }
body.jiq-test-active .jiq-app.jiqs-app .jiqs-live-chip {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 1.2px;
	color: var(--s-red-600);
	padding: 2px 6px;
	background: #FEE2E2;
	border-radius: 4px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-live-chip-dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--s-red-600);
	animation: ml-pulse 1.4s ease-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-note {
	margin: 14px 0 0 !important;
	font-size: 11px !important;
	line-height: 1.5 !important;
	color: var(--s-grey-400) !important;
	text-align: center;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-back-link {
	display: block;
	margin: 10px auto 0 !important;
	padding: 12px 14px !important;
	min-height: 44px;
	line-height: 20px !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	font-family: var(--s-sans) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	color: var(--s-grey-600) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	-webkit-appearance: none !important;
	appearance: none !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app button.jiqs-back-link:hover { color: var(--s-orange-600) !important; }

/* ================================================================
   11. Submit overlay — .jiqs-calc
   ================================================================ */
body.jiq-calc-open { overflow: hidden !important; }
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background:
		radial-gradient(ellipse at 30% 20%, rgba(124, 45, 18, 0.35), transparent 55%),
		radial-gradient(ellipse at 80% 80%, rgba(0, 0, 0, 0.55), transparent 55%),
		rgba(8, 5, 3, 0.72);
	-webkit-backdrop-filter: blur(8px) saturate(120%);
	backdrop-filter: blur(8px) saturate(120%);
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-overlay.is-open {
	display: flex;
	animation: jiqs-fade-in 0.3s ease both;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-calc-card {
	position: relative;
	width: 100%;
	max-width: 336px;
	background: #FFFDFA;
	border: 1px solid rgba(28, 25, 23, 0.06);
	border-radius: 22px;
	padding: 24px 24px 12px;
	text-align: center;
	box-shadow: 0 40px 100px -24px rgba(0, 0, 0, 0.6), 0 2px 8px rgba(0, 0, 0, 0.08);
	animation: modal-appear 0.4s cubic-bezier(0.22, 1, 0.36, 1) both;
}
/* Progress ring — conic arc driven by --jiq-pct (set from JS each tick) */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ring {
	width: 96px;
	height: 96px;
	margin: 12px auto 14px;
	border-radius: 50%;
	background: conic-gradient(#F79A3B 0%, #E4551F calc(var(--jiq-pct, 0) * 1%), #F1EAE0 0%);
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: inset 0 1px 3px rgba(120, 53, 15, 0.08);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-ring-in {
	width: 78px;
	height: 78px;
	border-radius: 50%;
	background: #FFFDFA;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 4px rgba(28, 25, 23, 0.07);
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-counter {
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
	gap: 1px;
	font-family: var(--s-sans);
	font-weight: 800;
	font-size: 23px;
	line-height: 1;
	letter-spacing: -0.02em;
	color: #1C1917;
	font-variant-numeric: tabular-nums;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-pct-sign {
	font-size: 12px;
	font-weight: 700;
	color: #A8A29E;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-title {
	margin: 0 0 14px !important;
	font-family: var(--s-sans) !important;
	font-size: 15.5px !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	color: #1C1917 !important;
	text-transform: none !important;
	word-spacing: normal;
}
/* Legacy linear bar — JS still writes its width; ring replaces it visually */
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-bar { display: none; }
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 2px 2px 0 !important;
	display: block;
	text-align: left;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 !important;
	padding: 0 2px;
	min-height: 38px;
	list-style: none !important;
	background: transparent;
	border: 0;
	border-bottom: 1px solid #F3EDE4;
	border-radius: 0;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.01em;
	color: #A8A29E;
	opacity: 0.45;
	transform: none;
	transition: opacity 0.35s ease, color 0.35s ease;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-row:last-child { border-bottom: 0; }
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-row::before { content: none; }
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-row.is-in {
	opacity: 1;
	color: #57534E;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-row.is-done { color: #1C1917; }
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-check {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: transparent;
	border: 1.5px solid #E5DFD5;
	color: #fff;
	opacity: 1;
	transform: none;
	transition: background 0.25s ease, border-color 0.25s ease;
	flex-shrink: 0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-check svg { opacity: 0; transform: scale(0.5); transition: opacity 0.2s ease, transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
/* Row in progress — the ring pulses faintly on the pending check */
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-row.is-in:not(.is-done) .jiq-calc-check {
	border-color: #F0A868;
	animation: jiqs-check-pulse 1.1s ease-in-out infinite;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-row.is-done .jiq-calc-check {
	background: #12B76A;
	border-color: #12B76A;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-row.is-done .jiq-calc-check svg { opacity: 1; transform: scale(1); }
@keyframes jiqs-check-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(240, 130, 30, 0.25); }
	50% { box-shadow: 0 0 0 4px rgba(240, 130, 30, 0.08); }
}

/* ================================================================
   12. Static panels (no questions / noscript)
   ================================================================ */
body.jiq-test-active .jiq-app.jiqs-app .jiq-panel {
	max-width: 540px;
	margin: 40px auto;
	padding: 26px 28px;
	background: #fff;
	border: 1px solid rgba(253, 186, 116, 0.28);
	border-radius: 24px;
	text-align: center;
	box-shadow: 0 18px 42px -18px rgba(249, 115, 22, 0.18);
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-panel-title {
	margin: 0 0 8px !important;
	font-family: var(--s-sans) !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	color: var(--s-ink-900) !important;
	text-transform: none !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiq-panel p {
	margin: 0 !important;
	font-size: 13.5px !important;
	line-height: 1.6 !important;
	color: var(--s-grey-600) !important;
}

/* ================================================================
   13. Responsive — 980 / 820 / 768 / 640 / 480 / 380 / 360
   ================================================================ */

/* --- Question screen: desktop option grid ----------------------- */
/* ================================================================
   13a. Desktop / tablet question screen
   ================================================================ */
@media (min-width: 768px) {
	body.jiq-test-active .jiq-app.jiqs-app { --jiqs-head-h: 53px; --jiq-tail: 18px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-test-header-inner { padding: 0 22px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-head-row { height: 52px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection.is-active {
		/* Roomier than a phone, but still never taller than the viewport. */
		min-height: 460px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard {
		justify-content: center;
		padding: 22px 28px 20px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-stimulus {
		max-width: min(78%, 480px);
		max-height: min(44vh, 420px);
		padding: 14px !important;
		margin-bottom: 18px !important;
	}
	/* Approved desktop hierarchy: ONE row of six capped 96px tiles. */
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options {
		grid-template-columns: repeat(6, minmax(0, 96px));
		grid-template-rows: minmax(0, 1fr);
		justify-content: center;
		gap: 9px;
		max-width: none;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options:has(> :nth-child(7)) {
		grid-template-rows: none;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly {
		grid-template-columns: 1fr;
		justify-content: stretch;
		max-width: 520px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-option-letter {
		top: 5px;
		left: 5px;
		width: 18px;
		height: 18px;
		border-radius: 50%;
		font-size: 10px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-option-check {
		top: 5px;
		right: 5px;
		width: 18px;
		height: 18px;
	}
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile {
		padding: 6px !important;
		border-radius: 12px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-qnav {
		max-width: 640px;
		padding: 14px 2px 0;
	}
}

/* --- >=1024: same six-across row, roomier column ------------------ */
@media (min-width: 1024px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection { max-width: 860px; }
}

/* --- ≤820: unlock collapses ------------------------------------- */
@media (max-width: 820px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock {
		grid-template-columns: 1fr !important;
		max-width: 460px !important;
		width: calc(100vw - 24px) !important;
		border-radius: 22px !important;
		margin: 14px auto 8px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-panel {
		min-height: auto !important;
		padding: 16px 20px 14px !important;
		display: grid !important;
		grid-template-columns: 78px 1fr auto !important;
		grid-template-rows: auto auto !important;
		align-items: center !important;
		gap: 4px 14px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner-tl { top: 10px; left: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner-tr { top: 10px; right: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner-bl,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-corner-br { display: none; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-header {
		grid-column: 1 / -1;
		margin-bottom: 4px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-eyebrow { font-size: 9px; letter-spacing: 1.8px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-id { font-size: 9px; padding: 3px 7px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-stage {
		grid-column: 1;
		grid-row: 2;
		margin: 0;
		height: 78px;
		width: 78px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-ring { width: 86px; height: 86px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal { width: 64px; height: 64px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-badge { padding: 3px 8px; gap: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-badge span { font-size: 8px; letter-spacing: 1.3px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-badge svg { width: 9px; height: 9px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-meta {
		grid-column: 2;
		grid-row: 2;
		text-align: left;
		margin: 0;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-title { font-size: 17px; filter: blur(3.5px); opacity: 0.6; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-sub {
		font-size: 9.5px;
		filter: blur(2.5px);
		opacity: 0.6;
		margin-top: 3px;
		letter-spacing: 1.4px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-bars { display: none !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-footer {
		grid-column: 3;
		grid-row: 2;
		grid-template-columns: auto;
		padding-top: 0;
		border-top: none;
		gap: 2px;
		text-align: right;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-div,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-cell + .jiqs-lock-div + .jiqs-lock-cell { display: none; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-cell-label { font-size: 8px; letter-spacing: 1.2px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-cell-val { font-size: 14px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-panel { padding: 24px 22px 22px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-head { margin-bottom: 14px; }
	body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-form-title { font-size: 28px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-sub {
		font-size: 12px !important;
		padding: 4px 10px !important;
		margin-bottom: 16px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-num,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-slash,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-total { font-size: 13px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-text { font-size: 9.5px; letter-spacing: 1.4px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-msl-divider { width: 14px; margin: 0 6px; }
	body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field { padding: 9px 13px 11px !important; min-height: 54px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-field-label { margin-bottom: 2px !important; font-size: 9px !important; letter-spacing: 1.2px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-field-row { gap: 10px; margin-bottom: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-row-split { margin-bottom: 16px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-underline { left: 13px; right: 13px; bottom: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-phone-wrap::after { left: 86px; }
	body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn {
		padding: 15px !important;
		min-height: 52px;
		font-size: 13px !important;
		margin-top: 6px !important;
		letter-spacing: 1.2px;
	}
	body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-trust { gap: 8px; padding: 9px 0 !important; }
	body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-trust li { font-size: 10.5px; }
}

/* --- ≤768: prep + post-test loader ------------------------------ */
@media (max-width: 768px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep { min-height: 70vh; padding: 16px 14px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-stage { max-width: 100%; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-card {
		padding: 18px 16px 14px;
		border-radius: 18px;
		max-width: 340px;
		margin: 0 auto;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-badge {
		font-size: 9.5px;
		padding: 4px 9px 4px 8px;
		margin-bottom: 12px;
		gap: 6px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-badge-pulse { width: 6px; height: 6px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-orbit-wrap {
		width: 100%;
		max-width: 300px;
		height: 190px;
		margin-bottom: 8px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-decoder { gap: 8px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot { gap: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot-window { width: 34px; height: 44px; border-radius: 8px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-strip span { height: 44px; font-size: 19px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-strip { animation-name: tdCycleSm; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot-label { font-size: 8px; }
	body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-prep-title { font-size: 18px !important; margin-bottom: 4px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-sub { font-size: 11.5px !important; margin-bottom: 14px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-bar-wrap { margin-bottom: 14px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-bar { height: 7px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-steps { padding: 8px 10px; gap: 2px; margin-bottom: 12px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-step { font-size: 12px; padding: 4px 0; gap: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-dot { width: 21px; height: 21px; font-size: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-trail { left: 9.5px; top: 26px; height: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-footer { font-size: 10px; padding-top: 10px; gap: 5px; }

	body.jiq-test-active .jiq-app.jiqs-app .jiqs-loading-card {
		margin: 6px 12px 14px;
		padding: 10px 12px;
		border-radius: 18px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-status { font-size: 9.5px; margin-bottom: 7px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-stage { height: 180px; border-radius: 14px; margin-bottom: 14px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-compass { width: 170px; height: 170px; margin: -85px 0 0 -85px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-blob { width: 170px; height: 170px; filter: blur(36px); }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-chip { top: 12px; font-size: 9px; padding: 3px 9px; gap: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-row { gap: 7px; transform: translate(-50%, -44%); }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot { gap: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-window { width: 44px; height: 52px; border-radius: 11px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-letter { font-size: 24px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot.is-locked .jiqs-eval-letter { font-size: 26px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-cap { font-size: 7px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-label { font-size: 11.5px; bottom: 16px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-label::before,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-label::after { margin: 0 8px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter { bottom: 6px; gap: 4px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i { width: 3px; height: 3px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-title-block { margin-bottom: 12px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-eyebrow { font-size: 9.5px !important; margin-bottom: 5px !important; }
	body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-lc-title { font-size: 19px !important; margin-bottom: 4px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-sub { font-size: 12px !important; max-width: 280px; line-height: 1.5 !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-progress { gap: 10px; margin: 12px 0; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-track { height: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-pct { font-size: 12px; min-width: 34px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-steps { gap: 6px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-steps::before { left: 24px; top: 18px; bottom: 18px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step { padding: 9px 11px; gap: 11px; border-radius: 12px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-icon { width: 26px; height: 26px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-icon svg { width: 12px; height: 12px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-title { font-size: 13px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-status { font-size: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-num { font-size: 9px; padding: 2px 5px; border-radius: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-footer { font-size: 10.5px; margin-top: 10px; padding-top: 8px; }
}

/* --- ≤640: hero + question -------------------------------------- */
@media (max-width: 640px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-intro.is-active { padding: 12px 16px 20px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-card { border-radius: 24px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-hero { padding: 28px 24px 24px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-stats { padding: 16px 24px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-badges { padding: 12px 24px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-zone { padding: 16px 24px 20px !important; }

	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active .jiq-q-card.jiqs-qcard { animation-name: jiqsCardInSm; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active.is-back .jiq-q-card.jiqs-qcard { animation-name: jiqsCardInBackSm; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-text { line-height: 1.4 !important; padding: 0 4px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-tile-halo { inset: -18px; filter: blur(8px); }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence { margin: 20px 12px 10px; padding: 14px 16px; gap: 12px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-shield { width: 38px; height: 38px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-shield svg { width: 19px; height: 19px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-text strong { font-size: 13px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-text span { font-size: 11.5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-lock { width: 54px; height: 54px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-text { font-size: 12px; }
}

/* --- ≤480: hero compaction -------------------------------------- */
@media (max-width: 480px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-intro.is-active {
		padding: 10px calc(12px + env(safe-area-inset-left)) 12px calc(12px + env(safe-area-inset-right)) !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-card {
		border-radius: 22px !important;
		border: 0.5px solid rgba(0, 0, 0, 0.06) !important;
		max-width: 100%;
		box-shadow: 0 20px 60px rgba(0, 0, 0, 0.06), 5px 0 20px -3px rgba(249, 115, 22, 0.16);
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-hero { padding: 22px 20px 18px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-hero-top { margin-bottom: 14px; row-gap: 8px; }
	/*
	 * The IIF certification line is the hero's authority signal — mobile is
	 * where most of this traffic lands, so keep it instead of dropping it.
	 * .jiqs-hero-top is flex-wrap:wrap, so a full-width press row simply falls
	 * onto its own line under the trust badge and still fits on one line at
	 * 320px (the whole string is ~210px at this size).
	 */
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-press {
		display: flex;
		flex: 0 0 100%;
		width: 100%;
		justify-content: flex-start;
		font-size: 9px;
		gap: 5px;
	}
	body.jiq-test-active .jiq-app.jiqs-app h1.jiqs-headline { letter-spacing: -0.8px !important; line-height: 0.95 !important; margin-bottom: 8px !important; }
	body.jiq-test-active .jiq-app.jiqs-app h1.jiqs-headline br { display: none; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-headline-grad::before { content: " "; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-subhead { font-size: 12px !important; line-height: 1.5 !important; margin-bottom: 14px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-counter-label { font-size: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-meta-extra { display: none; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-meta-row { font-size: 9px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-stats { padding: 12px 20px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat-num { font-size: 17px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat-label { font-size: 7px !important; letter-spacing: 0.5px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-badges {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
		padding: 10px 20px !important;
		gap: 6px 12px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-badge { font-size: 9px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-badge svg { width: 11px; height: 11px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-zone { padding: 14px 20px 18px !important; }
	body.jiq-test-active .jiq-app.jiqs-app button.jiqs-cta {
		padding: 14px !important;
		font-size: 11px !important;
		min-height: 48px;
		letter-spacing: 1.5px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-arrow { width: 30px; height: 30px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-halo { filter: blur(12px); opacity: 0.3; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-footer { margin-top: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-live,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-joined { font-size: 9px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-contact { padding: 0 8px 8px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval { padding: 0 6px; }
}

/* --- ≤380: unlock micro ----------------------------------------- */
@media (max-width: 380px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock {
		width: calc(100vw - 16px) !important;
		border-radius: 20px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-panel {
		padding: 14px 16px 12px !important;
		grid-template-columns: 64px 1fr auto !important;
		column-gap: 12px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-stage { height: 64px; width: 64px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-ring { width: 72px; height: 72px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal { width: 54px; height: 54px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-badge { padding: 2px 6px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-badge span { font-size: 7.5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-title { font-size: 15px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-sub { font-size: 8.5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-cell-val { font-size: 12px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-panel { padding: 20px 18px; }
	body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-form-title { font-size: 24px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-sub { font-size: 11.5px !important; margin-bottom: 12px !important; }
	body.jiq-test-active .jiq-app.jiqs-app label.jiqs-field { padding: 8px 11px 10px !important; min-height: 50px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-field-label { font-size: 8.5px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-field-row { gap: 8px; margin-bottom: 8px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-row-split { grid-template-columns: 0.65fr 1.35fr; margin-bottom: 14px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-underline { left: 11px; right: 11px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-phone-wrap::after { left: 82px; }
	/* Narrower, but NEVER under 16px font — that re-triggers the iOS zoom. */
	body.jiq-test-active .jiq-app.jiqs-app select.jiqs-dial {
		width: 80px !important;
		min-width: 80px !important;
		max-width: 80px !important;
		flex: 0 0 80px;
		margin-right: 10px !important;
		font-size: 16px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app button.jiqs-unlock-btn { padding: 13px !important; min-height: 48px; font-size: 12.5px !important; }
	body.jiq-test-active .jiq-app.jiqs-app ul.jiqs-trust li { font-size: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-social { font-size: 11px; }
}

/* --- ≤375: post-test loader micro ------------------------------- */
@media (max-width: 375px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-loading-card { padding: 8px 10px; margin: 4px 8px 10px; border-radius: 16px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-status { font-size: 9px; margin-bottom: 6px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-status-right { display: none; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-stage { height: 160px; border-radius: 12px; margin-bottom: 12px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-compass { width: 150px; height: 150px; margin: -75px 0 0 -75px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-blob { width: 150px; height: 150px; filter: blur(32px); }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-chip { top: 10px; font-size: 8.5px; padding: 2.5px 8px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-row { gap: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot { gap: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-window { width: 38px; height: 46px; border-radius: 9px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-letter { font-size: 20px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-slot.is-locked .jiqs-eval-letter { font-size: 22px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-cap { font-size: 6.5px; letter-spacing: 0.1em; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-label { font-size: 11px; bottom: 13px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter { bottom: 5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-title-block { margin-bottom: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-lc-title { font-size: 17px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-sub { font-size: 11.5px !important; max-width: 250px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-progress { margin: 10px 0; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step { padding: 8px 10px; gap: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-icon { width: 24px; height: 24px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-icon svg { width: 11px; height: 11px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-title { font-size: 12.5px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step-num { display: none; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-steps::before { left: 22px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-footer { font-size: 9.5px; margin-top: 8px; padding-top: 7px; }
}

/* --- ≤360: last-mile -------------------------------------------- */
@media (max-width: 360px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-intro.is-active { padding: 8px 8px 8px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-card { border-radius: 18px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-hero { padding: 18px 16px 14px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-hero-top { margin-bottom: 10px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-trust-badge { padding: 4px 10px 4px 6px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-trust-text { font-size: 9px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-trust-dot { width: 16px; height: 16px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-subhead { font-size: 11px !important; margin-bottom: 10px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-counter-label { font-size: 9px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-stats { padding: 10px 16px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-stat-num { font-size: 15px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-badges { padding: 8px 16px !important; gap: 4px 10px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-badge { font-size: 8px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-zone { padding: 12px 16px 14px !important; }
	body.jiq-test-active .jiq-app.jiqs-app button.jiqs-cta { padding: 12px !important; min-height: 44px; font-size: 10px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-arrow { width: 28px; height: 28px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-cta-footer { flex-direction: column; gap: 6px; margin-top: 8px; }
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile { border-radius: 13px !important; }
}

/* --- Landscape phone -------------------------------------------- */
@media (max-height: 520px) and (orientation: landscape) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep { min-height: auto; padding: 20px 16px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock {
		grid-template-columns: 1fr 1fr !important;
		max-width: 800px !important;
		width: auto !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-panel {
		min-height: auto;
		padding: 20px;
		display: flex !important;
		grid-template-columns: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-stage { height: 130px; width: auto; margin: 12px 0; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-ring { width: 150px; height: 150px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal { width: 120px; height: 120px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-title { font-size: 18px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-bars { display: none !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-footer {
		grid-column: auto;
		grid-row: auto;
		grid-template-columns: 1fr auto 1fr auto 1fr;
		padding-top: 16px;
		border-top: 1px solid rgba(253, 186, 116, 0.12);
		text-align: center;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-div { display: block; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-panel { padding: 22px; }
	body.jiq-test-active .jiq-app.jiqs-app h2.jiqs-form-title { font-size: 24px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-form-sub { margin-bottom: 12px !important; }
}

/* Mobile tile-cycle keyframe (tile height 44px at ≤768). */
@keyframes tdCycleSm { 0%, 42% { transform: translateY(0); } 58%, 100% { transform: translateY(-44px); } }
@keyframes jiqsCardInSm {
	from { opacity: 0; transform: translateX(42px) scale(0.98); }
	to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes jiqsCardInBackSm {
	from { opacity: 0; transform: translateX(-42px) scale(0.98); }
	to { opacity: 1; transform: translateX(0) scale(1); }
}

/* ================================================================
   14. prefers-reduced-motion
   ================================================================ */
@media (prefers-reduced-motion: reduce) {
	body.jiq-test-active .jiq-app.jiqs-app *,
	body.jiq-test-active .jiq-app.jiqs-app *::before,
	body.jiq-test-active .jiq-app.jiqs-app *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard,
	body.jiq-test-active .jiq-app.jiqs-app .jiq-option,
	body.jiq-test-active .jiq-app.jiqs-app .jiq-progress-fill {
		transition: opacity 0.15s linear !important;
		transform: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active .jiq-q-card.jiqs-qcard,
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.is-active.is-back .jiq-q-card.jiqs-qcard {
		animation: jiqs-fade-in 0.15s linear both !important;
		transform: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected { transform: none !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-blob,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-particles span,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot-window,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-slot-shine,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-strip,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-scanbeam,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-orbit svg,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-orbit-arc-inner,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-fill,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-prep-fill-shimmer,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-blob,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-ripple,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-compass,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-ab-particle,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-glare,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-meter i,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-fill,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-shimmer,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lc-step.is-active .jiqs-lc-icon::before,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-calc-card,
	body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-bar-fill,
	body.jiq-test-active .jiq-app.jiqs-app .jiq-calc-check,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-seal-ring,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-lock-pulse,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-live-dot,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-live-chip-dot,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-tile-spark,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence-lock svg,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-unlock {
		animation: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-eval-glare { display: none !important; }
}

/* ================================================================
   15. Cascade defeat — last word on theme/Elementor resets
   ================================================================ */
body.jiq-test-active .jiq-app.jiqs-app button,
body.jiq-test-active .jiq-app.jiqs-app input,
body.jiq-test-active .jiq-app.jiqs-app select {
	font-family: var(--s-sans);
	text-transform: none;
}
body.jiq-test-active .jiq-app.jiqs-app ul,
body.jiq-test-active .jiq-app.jiqs-app ol {
	list-style: none;
	margin: 0;
	padding: 0;
}
body.jiq-test-active .jiq-app.jiqs-app img,
body.jiq-test-active .jiq-app.jiqs-app svg {
	max-width: 100%;
}
body.jiq-test-active .jiq-app.jiqs-app [hidden] { display: none !important; }

/* ================================================================
   16. ONE-SCREEN MOBILE QUESTION VIEW
   ================================================================

   Everything needed to answer ONE question fits the viewport at 375x812,
   390x844, 414x896 and 360x740 with no page scroll; at 320x568 the stimulus
   gives up more of its height rather than a scrollbar appearing.

   This section is LAST on purpose. Several earlier blocks (the >=768 desktop
   block, the <=640/<=480/<=360 blocks) target the same elements through the
   same `body.jiq-test-active .jiq-app.jiqs-app X` prefix, so equal specificity
   here still wins on source order — and where an earlier rule used
   !important, the rule below matches it.

   The query also catches SHORT-AND-WIDE: a 375x812 phone turned sideways is
   812x375, which is far too wide for a max-width:767px rule but needs the
   compact treatment even more than portrait does.
   ================================================================ */
@media (max-width: 767px), (max-width: 1023px) and (max-height: 620px) {

	/* --- Sticky counter bar (approved design, mobile budget) -----
	   [QUESTION 4 / 20] [spacer] [⏱ 29:37] [Review ▾] + the 3px
	   full-width progress line on the bar's bottom edge. All of the
	   styling now lives in section 6 (it is identical on desktop);
	   this block only pins the chrome BUDGET: 46px row + 1px border
	   = --jiqs-head-h 47, and a JS-less --jiq-chrome fallback that
	   also counts the 52px navy brand bar + the 8px head margin.  */
	body.jiq-test-active .jiq-app.jiqs-app {
		--jiqs-head-h: 47px;
		--jiq-tail: 8px;
		--jiq-chrome: calc(var(--jiqs-head-h, 47px) + 60px);
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-test-header {
		margin: 0 0 8px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-test-header-inner {
		padding: 0 14px;
	}

	/* --- Column plumbing ---------------------------------------- */
	body.jiq-test-active .jiq-app.jiqs-app.jiqs-onescreen {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	/* One-screen mode zeroes the app's top padding, so the brand bar no
	 * longer needs its -10px compensation (it would tuck under the edge). */
	body.jiq-test-active .jiq-app.jiqs-app.jiqs-onescreen .jiqs-brandbar {
		margin-top: 0 !important;
	}
	/*
	 * The confidentiality card sits after the question in the document, so on
	 * a phone it would be the one thing forcing a scrollbar. It stays in the
	 * markup (and on tablet/desktop); here it simply is not rendered.
	 */
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-confidence {
		display: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection {
		padding: 0 12px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard {
		justify-content: center;
		padding: 14px 14px 12px !important;
		border-radius: 20px !important;
	}
	/* Approved compact title block: chip + 16.5px title (340px measure). */
	body.jiq-test-active .jiq-app.jiqs-app h2.jiq-q-text {
		font-size: 16.5px !important;
		line-height: 1.4 !important;
		margin: 0 auto !important;
		max-width: 340px;
		padding: 0 !important;
	}
	/* --- MOBILE HIERARCHY (approved): STIMULUS IS THE HERO ----------
	   The puzzle art gets the width (min(96vw, 470px)) and every spare
	   pixel of height (it is the only flexible child), while the option
	   tiles are hard-capped at 98x98 so the answer block stays ~2 rows
	   — visually subordinate to the puzzle.                          */
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-stimulus {
		max-width: min(96vw, 470px);
		min-height: 72px;
		max-height: min(340px, 40vh);
		padding: 8px !important;
		margin: 6px auto 10px !important;
		border-radius: 14px;
	}
	/*
	 * EXACTLY 3 columns, each column never wider than 98px, grid centred.
	 * minmax(0, 98px) + the tile's own max-width/max-height double-cap
	 * means no combination of aspect-ratio/height:100% can grow a tile
	 * past 98px: 3x98 + 2x9 gap = 312px, inside every card interior from
	 * 360px-wide phones up.
	 */
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options {
		grid-template-columns: repeat(3, minmax(0, 98px));
		justify-content: center;
		gap: 9px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly {
		grid-template-columns: minmax(0, 1fr);
		justify-content: stretch;
	}
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile {
		padding: 6px !important;
		border-radius: 12px !important;
		max-width: 98px;
		max-height: 98px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly button.jiq-option.jiqs-tile {
		max-width: none;
		max-height: none;
	}
	/* Letter badge: small 18px circle, out of the art's way. */
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options:not(.is-textonly) .jiq-option-letter {
		width: 18px;
		height: 18px;
		border-radius: 50%;
		font-size: 10px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-hint {
		margin: 8px auto 0;
		gap: 0;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-line { display: none; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-text { font-size: 11px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-qnav {
		max-width: none;
		padding: 12px 0 0 !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn-ghost {
		font-size: 12px !important;
		padding: 10px 14px !important;
		min-height: 44px;
	}
}

/* --- Short desktop windows (1024x600, 1366x640, a half-height
       browser on any laptop) -------------------------------------
   The "select an option" hint is decoration a 600px-tall window
   cannot afford; without this the six tiles collapse onto their
   44px floor. The counter bar still says where the user is.      */
@media (min-width: 768px) and (max-height: 720px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-hint {
		display: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard { padding: 16px 24px 16px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-stimulus { margin-bottom: 12px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-qnav { padding-top: 10px; }
}
@media (min-width: 768px) and (max-height: 620px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-q-cat { display: none !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection.is-active { min-height: 0; }
}

/* --- <=374: counter label shrinks to its "Q" abbreviation -------- */
@media (max-width: 374px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-count-word { display: none; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-count-abbr { display: inline; }
}

/* --- <=360: Review collapses to its caret. 375px is the single most
       common phone width, so the word survives there; only 360/320
       class devices trade it for room. The aria-label on the button
       keeps the accessible name either way, and the ::before overlay
       still clears the 44px target.                                 --- */
@media (max-width: 360px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-review-label { display: none !important; }
	body.jiq-test-active .jiq-app.jiqs-app button.jiqs-review-toggle {
		padding: 7px 10px !important;
		gap: 0;
	}
	body.jiq-test-active .jiq-app.jiqs-app button.jiqs-review-toggle::before {
		left: -8px;
		right: -8px;
	}
}

/* --- <=360: last-mile trims ------------------------------------- */
@media (max-width: 360px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection { padding: 0 10px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard { padding: 12px 12px 10px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options { gap: 7px; }
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile { padding: 6px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-option-letter {
		width: 17px;
		height: 17px;
		border-radius: 50%;
		font-size: 9px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-option-check { width: 17px; height: 17px; }
}

/* --- Short viewports: drop the copy, keep the puzzle -------------
   320x568 and every phone in a browser with both bars showing land
   here. The category chip and the "select an option" hint are the
   two elements the layout can lose without losing meaning.        */
@media (max-width: 767px) and (max-height: 680px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-q-cat,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-hint {
		display: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-stimulus {
		max-height: min(300px, 42vh);
		margin-bottom: 8px !important;
	}
}
@media (max-height: 640px) {
	/*
	 * Escape valve. Below this the stimulus alone cannot absorb the shortage,
	 * so the tiles are allowed to give up their square and become shorter
	 * rectangles — the art letterboxes, it is never cut, and no scrollbar
	 * appears. This is the 320x568 / short-landscape path.
	 */
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options { flex: 0 1 auto; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-stimulus { min-height: 56px; }
	/*
	 * ...but only IMAGE answers can absorb that squeeze, because their tiles
	 * letterbox. A TEXT answer list cannot: six stacked tiles have a hard
	 * min-height and their copy has an intrinsic height, so once the grid is
	 * allowed to shrink below its content the text spills straight out of the
	 * fitted column and grows the document — the one thing this section exists
	 * to prevent (measured before this rule: 320x568 text answers → document
	 * 588 vs viewport 568). Contain it: the list scrolls inside itself, the
	 * head and nav stay pinned, and the page still does not scroll.
	 *
	 * Deliberately scoped to .is-textonly. Applying it to every grid would
	 * clip the selected tile's halo on the image questions (which are all 20
	 * of the real ones) even when nothing is overflowing, because `overflow`
	 * clips whether or not a scrollbar is showing. The halo is clipped only in
	 * the text case, only while the answers genuinely cannot fit.
	 */
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options.is-textonly {
		min-height: 0;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}
@media (max-width: 767px) and (max-height: 600px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard { padding: 10px 12px 10px !important; }
	body.jiq-test-active .jiq-app.jiqs-app h2.jiq-q-text { font-size: 13.5px !important; margin-bottom: 3px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-btn-ghost {
		font-size: 11.5px !important;
		padding: 9px 12px !important;
	}
}

/* --- Landscape phone: stimulus and options side by side ----------
   A 375x812 phone turned sideways is 812x375 — a stacked column
   cannot fit there at any font size, so the card becomes two
   columns instead of introducing a scroll.                        */
@media (orientation: landscape) and (max-height: 560px) and (max-width: 1023px) {
	/*
	 * The >=768 block gives the column a 460px floor for a comfortable desktop
	 * card. min-height beats max-height in CSS, so on an 812x375 phone that
	 * floor would win outright and push the nav 137px below the fold. Release
	 * it here — --jiq-fit is the only authority on this screen.
	 */
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection.is-active {
		min-height: 0;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-card.jiqs-qcard {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
		grid-template-rows: auto minmax(0, 1fr);
		align-items: center;
		gap: 0 14px;
		padding: 10px 14px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-q-cat,
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-foot-hint {
		display: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app h2.jiq-q-text {
		grid-column: 1 / -1;
		grid-row: 1;
		font-size: 14px !important;
		margin: 0 0 6px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-q-stimulus {
		grid-column: 1;
		grid-row: 2;
		height: 100%;
		max-width: none;
		max-height: none;
		min-height: 0;
		margin: 0 !important;
		padding: 6px !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-options {
		grid-column: 2;
		grid-row: 2;
		align-self: center;
		max-width: none;
		gap: 7px;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-question.jiqs-qsection .jiq-qnav {
		padding: 6px 0 0 !important;
	}
}

/* --- Reduced motion: no lift, no burst, still unmistakable ------- */
@media (prefers-reduced-motion: reduce) {
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile,
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected,
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile:hover,
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile:active {
		transform: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile .jiq-option-media img {
		transform: none !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app button.jiq-option.jiqs-tile.is-selected .jiqs-tile-halo {
		opacity: 0 !important;
	}
	body.jiq-test-active .jiq-app.jiqs-app .jiq-option-check {
		transition: none !important;
	}
}

/* ================================================================
   17. FONT SEAL — the last word on typography (defect: serif leaks)
   ================================================================
   Same pattern as the tail of jiq-signature-result.css: the nexros/
   iqindia theme injects the 'Enriqueta' serif on p/td/span at high
   specificity, and this skin itself used serif display faces. Every
   text node inside the test flow uses the approved SaaS sans stack —
   no serif, no editorial face, no exceptions. Two layers of defence:
   (1) the --s-serif token at the top of this file now RESOLVES to
       this same sans stack, which converts every legacy
       var(--s-serif) rule at any specificity, and
   (2) this blanket seal catches theme-injected families on elements
       the skin never explicitly styles.
   Keep this block LAST in the file. */
body.jiq-test-active .jiq-app,
body.jiq-test-active .jiq-app p,
body.jiq-test-active .jiq-app span,
body.jiq-test-active .jiq-app div,
body.jiq-test-active .jiq-app h1,
body.jiq-test-active .jiq-app h2,
body.jiq-test-active .jiq-app h3,
body.jiq-test-active .jiq-app h4,
body.jiq-test-active .jiq-app h5,
body.jiq-test-active .jiq-app h6,
body.jiq-test-active .jiq-app button,
body.jiq-test-active .jiq-app a,
body.jiq-test-active .jiq-app label,
body.jiq-test-active .jiq-app input,
body.jiq-test-active .jiq-app select,
body.jiq-test-active .jiq-app option,
body.jiq-test-active .jiq-app td,
body.jiq-test-active .jiq-app li,
body.jiq-test-active .jiq-app small,
body.jiq-test-active .jiq-app strong,
body.jiq-test-active .jiq-app b,
body.jiq-test-active .jiq-app em,
body.jiq-test-active .jiq-app i,
body.jiq-test-active .jiq-app legend,
body.jiq-test-active .jiq-app figcaption,
body.jiq-test-active .jiq-app.jiqs-app,
body.jiq-test-active .jiq-app.jiqs-app em,
body.jiq-test-active .jiq-app.jiqs-app i {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Roboto, Arial, sans-serif !important;
}

/* ================================================================
   18. Signature site footer — .jiqs-sitefoot (approved 2026-07-26)
   Replaces the theme footer on the test page only. One centered
   axis: lockup → voice line → proof row → privacy → legal.
   No nav links / socials by design (no funnel exits mid-test).
   ================================================================ */
body.jiq-test-active #colophon,
body.jiq-test-active footer#colophon,
body.jiq-test-active .footer-width-fixer {
	display: none !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot {
	position: relative;
	margin: 30px 0 0 !important;
	background:
		radial-gradient(ellipse 60% 150px at 50% 0%, rgba(255, 255, 255, 0.045), transparent),
		#1E3A5C !important;
	text-align: center !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, #F79A3B, #E4551F 55%, #F79A3B);
	box-shadow: 0 1px 10px rgba(244, 130, 32, 0.4);
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-in {
	max-width: 760px !important;
	margin: 0 auto !important;
	padding: 34px 22px 24px !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-logo {
	display: flex;
	justify-content: center;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-logo img {
	display: block;
	height: 32px !important;
	width: auto !important;
	max-width: 100% !important;
	margin: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-tag {
	margin: 16px 0 0 !important;
	font-size: 15.5px !important;
	font-weight: 650 !important;
	letter-spacing: -0.01em !important;
	color: rgba(255, 255, 255, 0.92) !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-proof {
	margin: 22px 0 0 !important;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	row-gap: 10px;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2px;
	color: rgba(255, 255, 255, 0.72) !important;
	white-space: nowrap;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-item svg {
	display: block;
	flex: 0 0 auto;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-item b {
	color: #fff !important;
	font-weight: 750 !important;
}
/* Live counter dot — "happening right now". */
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-live {
	position: relative;
	width: 8px;
	height: 8px;
	flex: 0 0 auto;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-live::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: #8FE6B0;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-live::after {
	content: "";
	position: absolute;
	inset: -4px;
	border-radius: 50%;
	border: 1px solid rgba(143, 230, 176, 0.55);
	animation: jiqs-sitefoot-pulse 2s ease-out infinite;
}
@keyframes jiqs-sitefoot-pulse {
	0% { transform: scale(0.55); opacity: 1; }
	70%, 100% { transform: scale(1.25); opacity: 0; }
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-div {
	width: 1px;
	height: 14px;
	background: rgba(255, 255, 255, 0.10);
	margin: 0 14px;
	flex: 0 0 auto;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-privacy {
	margin: 15px 0 0 !important;
	font-size: 12px !important;
	letter-spacing: 0.2px;
	color: rgba(255, 255, 255, 0.40) !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-legal {
	margin: 24px 0 0 !important;
	border-top: 1px solid rgba(255, 255, 255, 0.10);
	padding: 15px 0 0 !important;
	font-size: 11px !important;
	line-height: 1.75 !important;
	letter-spacing: 0.25px;
	color: rgba(255, 255, 255, 0.40) !important;
	word-spacing: normal;
}
body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-legal b {
	font-weight: 650 !important;
	color: rgba(255, 255, 255, 0.52) !important;
}
@media (max-width: 640px) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot { margin-top: 24px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-in { padding: 30px 18px 22px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-logo img { height: 27px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-tag { font-size: 14.5px !important; margin-top: 14px !important; }
	/* Phones: proof row becomes a centered stack with short hairlines. */
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-proof { margin-top: 18px !important; flex-direction: column; row-gap: 0; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-item { gap: 7px; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-div { width: 22px; height: 1px; margin: 10px 0; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-privacy { font-size: 11.5px !important; margin-top: 16px !important; }
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-legal { margin-top: 20px !important; }
}
@media (prefers-reduced-motion: reduce) {
	body.jiq-test-active .jiq-app.jiqs-app .jiqs-sitefoot-live::after { animation: none !important; }
}

/* ==========================================================================
   24. Text-MCQ options + mid-test milestone cards
   Text questions (logical / numerical / verbal) render as full-width rows
   instead of artwork tiles; milestone cards appear between questions to
   keep momentum. House palette only — navy, orange, bone.
   ========================================================================== */

body.jiq-test-active .jiq-options.is-textonly {
	display: flex !important;
	flex-direction: column !important;
	gap: 10px !important;
	width: 100% !important;
	max-width: 640px !important;
	margin: 4px auto 0 !important;
}

body.jiq-test-active .jiq-option.jiq-option-textonly {
	display: flex !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 14px !important;
	width: 100% !important;
	min-height: 58px !important;
	padding: 14px 18px !important;
	text-align: left !important;
	border-radius: 12px !important;
	border: 1.5px solid #E2DCD2 !important;
	background: #FFFFFF !important;
}

body.jiq-test-active .jiq-option.jiq-option-textonly .jiq-option-letter {
	position: static !important;
	flex: 0 0 auto !important;
	width: 30px !important;
	height: 30px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 8px !important;
	background: #FFF3E9 !important;
	color: #E4551F !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

body.jiq-test-active .jiq-option-textonly .jiq-option-copy {
	flex: 1 1 auto;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #12203C;
	letter-spacing: -0.005em;
}

body.jiq-test-active .jiq-option.jiq-option-textonly.is-selected {
	border-color: #F0821E !important;
	background: #FFF9F3 !important;
	box-shadow: 0 6px 18px -10px rgba(228, 85, 31, .55) !important;
}

body.jiq-test-active .jiq-option.jiq-option-textonly.is-selected .jiq-option-letter {
	background: #F0821E !important;
	color: #FFFFFF !important;
}

/* Text-only questions get a slightly larger prompt (no artwork to carry it). */
body.jiq-test-active .jiq-q-card:not(:has(.jiq-q-stimulus)) .jiq-q-text {
	font-size: clamp(19px, 2.4vw, 25px);
	line-height: 1.35;
	max-width: 660px;
	margin-left: auto;
	margin-right: auto;
}

/* ---- Milestone card ---- */
.jiqs-ms[hidden] { display: none !important; }

.jiqs-ms {
	position: fixed;
	inset: 0;
	z-index: 99998;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(12, 25, 51, .55);
	backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity .22s ease;
}

.jiqs-ms.is-on { opacity: 1; }

.jiqs-ms-card {
	width: 100%;
	max-width: 520px;
	background: #FFFFFF;
	border: 1px solid #E2DCD2;
	border-radius: 18px;
	padding: 34px 30px 28px;
	text-align: center;
	box-shadow: 0 26px 60px -18px rgba(10, 20, 40, .45);
	transform: translateY(10px) scale(.985);
	transition: transform .26s cubic-bezier(.2, .8, .3, 1);
}

.jiqs-ms.is-on .jiqs-ms-card { transform: translateY(0) scale(1); }

.jiqs-ms-icon {
	display: flex; /* block-level so the eyebrow chip drops to its own line */
	align-items: center;
	justify-content: center;
	width: 66px;
	height: 66px;
	margin: 0 auto 16px;
	border-radius: 50%;
	background: #FFF3E9;
	color: #F0821E;
}

.jiqs-ms-title {
	margin: 0 0 10px;
	font-size: clamp(20px, 2.8vw, 26px);
	font-weight: 800;
	line-height: 1.28;
	color: #12203C;
	letter-spacing: -0.01em;
}

.jiqs-ms-num { color: #E4551F; }

.jiqs-ms-sub {
	margin: 0 auto 22px;
	font-size: 15px;
	line-height: 1.6;
	color: #5C6579;
	max-width: 27em; /* balanced centered measure — long subs were wrapping ragged */
}

.jiqs-ms-title { text-wrap: balance; }

/* Eyebrow chip (e.g. "Did you know?") */
.jiqs-ms-eyebrow {
	display: inline-block;
	margin: 0 0 12px;
	padding: 6px 15px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	background: #FFF3E9;
	color: #E4551F;
	border: 1px solid #F8D9BC;
}
.jiqs-ms-eyebrow[hidden] { display: none; }

/* ---- Featured milestone (navy/gold spotlight — the career card) ---- */
.jiqs-ms-card.jiqs-ms-featured {
	position: relative;
	overflow: hidden;
	background: linear-gradient(165deg, #16406E 0%, #0D3158 55%, #0A2440 100%);
	border: 1px solid rgba(245, 166, 35, .45);
	box-shadow: 0 30px 70px -18px rgba(5, 17, 33, .75), 0 0 0 6px rgba(245, 166, 35, .12);
}
.jiqs-ms-card.jiqs-ms-featured::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, #FFC24B, #F0821E, #E4551F);
}
.jiqs-ms-card.jiqs-ms-featured::after { /* soft gold aura */
	content: "";
	position: absolute;
	width: 320px; height: 200px;
	right: -18%; top: -22%;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(245, 166, 35, .28), transparent);
	filter: blur(26px);
	pointer-events: none;
}
.jiqs-ms-card.jiqs-ms-featured > * { position: relative; z-index: 1; }
.jiqs-ms-featured .jiqs-ms-icon {
	background: linear-gradient(135deg, #F79B3C, #E4551F);
	color: #FFFFFF;
	box-shadow: 0 14px 28px -8px rgba(228, 85, 31, .65), inset 0 2px 0 rgba(255, 255, 255, .35);
}
.jiqs-ms-featured .jiqs-ms-eyebrow {
	background: rgba(245, 166, 35, .16);
	color: #F5A623;
	border-color: rgba(245, 166, 35, .4);
}
.jiqs-ms-featured .jiqs-ms-title { color: #FFFFFF; }
.jiqs-ms-featured .jiqs-ms-sub { color: #B9CDE3; }

/* Secondary action under the milestone CTA (bonus-time decline). */
.jiqs-ms-alt {
	display: block;
	margin: 14px auto 0;
	background: none;
	border: 0;
	cursor: pointer;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	color: #8A93A6;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.jiqs-ms-alt[hidden] { display: none; }
.jiqs-ms-featured .jiqs-ms-alt { color: #8CA3BF; }
.jiqs-ms-alt:hover { color: #E4551F; }
.jiqs-ms-featured .jiqs-ms-alt:hover { color: #F5A623; }

.jiqs-ms-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	max-width: 320px;
	min-height: 52px;
}

@media (max-width: 480px) {
	.jiqs-ms-card { padding: 28px 20px 22px; border-radius: 16px; }
	.jiqs-ms-icon { width: 58px; height: 58px; }
	body.jiq-test-active .jiq-option-textonly .jiq-option-copy { font-size: 15px; }
}

/* Milestone CTA — match the funnel's primary gold button. */
.jiqs-ms-btn,
.jiqs-ms .jiqs-ms-btn {
	background: linear-gradient(135deg, #F79B3C 0%, #F0821E 46%, #E4551F 100%) !important;
	color: #FFFFFF !important;
	border: 0 !important;
	border-radius: 12px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
	cursor: pointer !important;
	box-shadow: 0 12px 26px -12px rgba(228, 85, 31, .75) !important;
	transition: transform .16s ease, box-shadow .16s ease !important;
}

.jiqs-ms-btn:hover { transform: translateY(-1px); box-shadow: 0 16px 30px -12px rgba(228, 85, 31, .85) !important; }
.jiqs-ms-btn:active { transform: translateY(0); }
.jiqs-ms-btn svg { stroke: #FFFFFF !important; }

/* Milestone card sits on <body> (outside .jiq-app), so it must declare the
   system sans stack itself — otherwise it inherits the theme's serif. */
.jiqs-ms,
.jiqs-ms *,
.jiqs-ms .jiqs-ms-title,
.jiqs-ms .jiqs-ms-sub,
.jiqs-ms .jiqs-ms-btn {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Roboto, Arial, sans-serif !important;
	font-style: normal !important;
}

.jiqs-ms .jiqs-ms-title { font-weight: 800 !important; }
.jiqs-ms .jiqs-ms-sub   { font-weight: 400 !important; }

/* ==========================================================================
   25. Unlock form — Age+Gender pair, full-width WhatsApp number, trust note
   ========================================================================== */

/* Phone always owns a full row: the dial-code select plus the number never
   fit alongside another field on a phone screen (the number got clipped). */
body.jiq-test-active .jiqs-field-row.jiqs-row-phone {
	display: block !important;
	width: 100% !important;
}

body.jiq-test-active .jiqs-field-row.jiqs-row-phone .jiqs-field-phone {
	width: 100% !important;
	max-width: 100% !important;
}

body.jiq-test-active .jiqs-field-phone .jiqs-phone-wrap {
	display: flex !important;
	align-items: stretch !important;
	gap: 8px !important;
	width: 100% !important;
	min-width: 0 !important;
}

body.jiq-test-active .jiqs-field-phone .jiqs-dial {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 104px !important;
	max-width: 132px !important;
}

body.jiq-test-active .jiqs-field-phone .jiqs-phone {
	flex: 1 1 auto !important;
	width: 100% !important;
	min-width: 0 !important;   /* lets the input shrink instead of overflowing */
}

/* Age + Gender share one row and split it evenly. */
body.jiq-test-active .jiqs-field-row.jiqs-row-split {
	display: flex !important;
	gap: 12px !important;
	width: 100% !important;
}

body.jiq-test-active .jiqs-field-row.jiqs-row-split > .jiqs-field {
	flex: 1 1 0 !important;
	min-width: 0 !important;
}

/* WhatsApp assurance note. */
.jiqs-wa-note {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 10px 0 4px;
	padding: 11px 13px;
	border: 1px solid #CDEBD6;
	border-radius: 10px;
	background: #F3FBF5;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Inter", "Helvetica Neue", Roboto, Arial, sans-serif;
	font-size: 12.5px;
	line-height: 1.55;
	color: #3D5348;
	text-align: left;
}

.jiqs-wa-note svg { flex: 0 0 auto; margin-top: 1px; color: #1FA855; }
.jiqs-wa-note strong { color: #14351F; font-weight: 700; }

@media (max-width: 420px) {
	body.jiq-test-active .jiqs-field-phone .jiqs-dial { min-width: 94px !important; }
	.jiqs-wa-note { font-size: 12px; padding: 10px 11px; }
}
