/* ==========================================================================
   Quality Inspection for Machining and Gear Manufacturing (page 2644) —
   page layer on top of product.css + capability.css (+ machining.css h3 style
   is not loaded here, so .cgmc-h3 is re-declared). Loaded by
   cg_inspection_page_assets(). (quality.css is the Quality Policy page.)

   Elementor hooks:
   hero    .cgqi-hero, .cgqi-lead, .cgqi-report(__bar/__chart/__read),
           .cgqi-modes/.cgqi-mode, .cgqi-creds
   plan    .cgqi-funnel/.cgqi-inputs/.cgqi-input/.cgqi-output, .cgqi-vs(__card/__badge)
   types   .cgcg-explorer (capability.js) + .cgqi-glossary/.cgqi-term--{key}
   kit     .cgqi-itws/.cgqi-itw--{key}, .cgqi-racks/.cgqi-rack
   cases   .cgqi-questions/.cgqi-q, .cgqi-cases/.cgqi-case, .cgqi-demo
   ring    .cgqi-ring/.cgqi-ring__core/.cgqi-node, .cgqi-position
   Without quality.js (and in the Elementor editor) every block is plain,
   stacked, editable content.
   ========================================================================== */

body.cg-quality-page :is(.cgqi-mode, .cgqi-input, .cgqi-output, .cgqi-vs__card, .cgqi-term, .cgqi-itw, .cgqi-rack, .cgqi-case, .cgqi-node, .cgqi-ring__core, .cgqi-report) { gap: 0 !important; }
.cgmc-h3 .elementor-heading-title { font: 600 22px/1.25 var(--pd-head) !important; letter-spacing: -.01em !important; color: var(--pd-ink) !important; }
.cgpd-sec--navy .cgmc-h3 .elementor-heading-title { color: #fff !important; }
.cgqi-h3 { margin-top: 72px !important; }

/* ── HERO ────────────────────────────────────────────────────────────── */
body.cg-quality-page .elementor-element.cgqi-hero.e-con { min-height: 0; }
body.cg-quality-page .cgqi-hero > .cgh-hero__box { position: relative; z-index: 1; }
.cgqi-hero__copy > .elementor-widget { max-width: 640px; }
.cgqi-lead { margin-top: 26px !important; }
.cgqi-lead p { margin: 0; padding-left: 20px; border-left: 3px solid var(--pd-ice); font: 600 clamp(19px, 1.7vw, 23px)/1.42 var(--pd-head); color: #fff; }
.cgqi-hero .cgh-hero__text { font-size: 17px !important; }
.cgqi-hero .cgh-hero__text p + p { margin-top: 14px; }
.cgqi-hero .cgh-hero__text strong { color: #DCE7FF; font-weight: 600; }
/* Inspection report card */
.cgqi-report {
	position: relative;
	border: 1px solid rgba(157, 184, 255, .28);
	border-radius: 22px;
	background: rgba(7, 17, 31, .78) !important;
	-webkit-backdrop-filter: blur(10px);
	        backdrop-filter: blur(10px);
	box-shadow: 0 60px 100px -50px rgba(0, 0, 0, .95), 0 0 0 1px rgba(53, 99, 224, .15);
	overflow: hidden;
	animation: cgqiFloat 7s ease-in-out infinite;
}
@keyframes cgqiFloat { 50% { transform: translateY(-8px); } }
.cgqi-report::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: radial-gradient(400px circle at 80% 0%, rgba(53, 99, 224, .25), transparent 60%);
	pointer-events: none;
}
.cgqi-report__bar .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 13px 18px;
	border-bottom: 1px solid rgba(157, 184, 255, .16);
	background: rgba(16, 32, 56, .9);
	font: 600 10.5px/1 var(--pd-mono) !important;
	letter-spacing: .14em !important;
	color: var(--pd-ice) !important;
}
.cgqi-report__bar .elementor-heading-title::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #FF8A7A; box-shadow: 14px 0 0 #FFD27A, 28px 0 0 #7CE0B0; margin-right: 32px; flex: none; }
.cgqi-report__bar .elementor-heading-title::after { content: "LIVE"; margin-left: auto; padding: 4px 8px; border-radius: 6px; background: rgba(124, 224, 176, .14); color: #7CE0B0; letter-spacing: .16em; }
.cgqi-report__chart { margin: 0 !important; padding: 8px 12px 0; }
.cgqi-report__chart img { display: block; width: 100% !important; height: auto !important; }
.cgqi-report__read .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid rgba(157, 184, 255, .16); }
.cgqi-report__read .elementor-icon-list-item { margin: 0 !important; padding: 14px 12px !important; justify-content: center; border-right: 1px solid rgba(157, 184, 255, .12); }
.cgqi-report__read .elementor-icon-list-item:last-child { border-right: 0; }
.cgqi-report__read .elementor-icon-list-item::after { display: none !important; }
.cgqi-report__read .elementor-icon-list-icon { display: grid !important; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #7CE0B0; transition: background-color .35s ease, box-shadow .35s ease; }
.cgqi-report__read .elementor-icon-list-icon svg { width: 9px !important; height: 9px !important; fill: var(--pd-navy) !important; transition: opacity .3s ease; }
.cgqi-report__read .elementor-icon-list-text { padding-left: 8px !important; font: 600 11px/1 var(--pd-mono) !important; letter-spacing: .1em; text-transform: uppercase; color: #fff !important; transition: color .35s ease; }
.cgqi-report__read.is-ready .elementor-icon-list-item:not(.is-done) .elementor-icon-list-icon { background: transparent; box-shadow: inset 0 0 0 1.5px rgba(157, 184, 255, .4); }
.cgqi-report__read.is-ready .elementor-icon-list-item:not(.is-done) .elementor-icon-list-icon svg { opacity: 0; }
.cgqi-report__read.is-ready .elementor-icon-list-item:not(.is-done) .elementor-icon-list-text { color: #7F92AF !important; }
.cgqi-report__read .elementor-icon-list-item.is-done .elementor-icon-list-icon { box-shadow: 0 0 12px rgba(124, 224, 176, .7); }
/* Verify / Diagnose / Control */
.cgqi-modes { width: 100%; margin-top: 64px !important; }
.cgqi-modes__label .elementor-heading-title { font: 500 11.5px/1.3 var(--pd-mono) !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--pd-ice) !important; }
body.cg-quality-page .elementor-element.cgqi-modes__row { gap: 16px !important; margin-top: 18px; }
.cgqi-mode {
	flex: 1 1 0;
	position: relative;
	--padding-top: 28px !important; --padding-right: 28px !important; --padding-bottom: 26px !important; --padding-left: 28px !important;
	border: 1px solid rgba(157, 184, 255, .18);
	border-radius: 20px;
	background: radial-gradient(320px circle at var(--mx, -200px) var(--my, -200px), rgba(53, 99, 224, .3), transparent 60%), rgba(12, 26, 46, .62) !important;
	-webkit-backdrop-filter: blur(6px);
	        backdrop-filter: blur(6px);
	overflow: hidden;
	animation: cgcgUp .9s var(--pd-ease) both;
	transition: transform .5s var(--pd-ease), border-color .35s ease;
}
.cgqi-mode:nth-child(1) { animation-delay: .6s; } .cgqi-mode:nth-child(2) { animation-delay: .75s; } .cgqi-mode:nth-child(3) { animation-delay: .9s; }
.cgqi-mode:hover { transform: translateY(-5px); border-color: rgba(157, 184, 255, .45); }
.cgqi-mode::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important; right: 0 !important; top: 0 !important;
	width: auto !important; height: 2px !important;
	opacity: 1 !important;
	background: linear-gradient(90deg, transparent, var(--pd-ice), transparent) !important;
	animation: cgqiScan 4s linear infinite;
}
.cgqi-mode:nth-child(2)::before { animation-delay: -1.3s; } .cgqi-mode:nth-child(3)::before { animation-delay: -2.6s; }
@keyframes cgqiScan { from { transform: translateX(-100%); } to { transform: translateX(100%); } }
.cgqi-mode__icon { margin: 0 !important; }
.cgqi-mode__icon .elementor-icon { display: grid !important; place-items: center; width: 42px; height: 42px; padding: 0 !important; border-radius: 12px; font-size: 17px !important; background: rgba(157, 184, 255, .12) !important; color: var(--pd-ice) !important; transition: background-color .35s ease, color .35s ease; }
.cgqi-mode__icon svg { width: 17px; height: 17px; fill: currentColor !important; }
.cgqi-mode:hover .cgqi-mode__icon .elementor-icon { background: var(--pd-accent) !important; color: #fff !important; }
.cgqi-mode__title { margin-top: 18px !important; }
.cgqi-mode__title .elementor-heading-title {
	font: 700 26px/1 var(--pd-head) !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
	background: linear-gradient(92deg, #fff, var(--pd-ice));
	-webkit-background-clip: text;
	        background-clip: text;
	color: transparent !important;
}
.cgqi-mode__text { margin-top: 12px !important; }
.cgqi-mode__text p { margin: 0; font-size: 14.5px; line-height: 1.65; color: #B4C1D4; }
/* Experience strip */
.cgqi-creds { width: 100%; margin-top: 36px !important; padding-top: 24px; border-top: 1px solid rgba(157, 184, 255, .16); }
.cgqi-creds .elementor-icon-list-items { display: flex !important; flex-wrap: wrap; justify-content: space-between; gap: 12px 28px; }
.cgqi-creds .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.cgqi-creds .elementor-icon-list-item::after { display: none !important; }
.cgqi-creds .elementor-icon-list-icon svg { width: 6px !important; fill: #7CE0B0 !important; filter: drop-shadow(0 0 4px #7CE0B0); }
.cgqi-creds .elementor-icon-list-text { padding-left: 10px !important; font: 500 11.5px/1.3 var(--pd-mono) !important; letter-spacing: .08em; text-transform: uppercase; color: #B4C1D4 !important; }

/* ── 2. Plan diagram + comparison ────────────────────────────────────── */
body.cg-quality-page .elementor-element.cgqi-funnel { position: relative; gap: 150px !important; margin-top: 28px; align-items: center; }
.cgqi-links { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: visible; }
.cgqi-links__base { fill: none; stroke: #D5DDEA; stroke-width: 2; }
.cgqi-links__flow { fill: none; stroke: var(--pd-accent-2); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 10 16; animation: cgqiFlow 1.6s linear infinite; filter: drop-shadow(0 0 4px rgba(53, 99, 224, .6)); }
@keyframes cgqiFlow { to { stroke-dashoffset: -52; } }
.cgqi-links__dot { fill: #fff; stroke: var(--pd-accent-2); stroke-width: 2.5; }
.cgqi-links__dot--end { fill: var(--pd-accent-2); stroke: #fff; }
.cgqi-inputs { flex: 1 1 0; position: relative; z-index: 1; gap: 16px !important; }
.cgqi-input {
	display: grid !important;
	grid-template-columns: 50px minmax(0, 1fr);
	column-gap: 18px !important;
	--padding-top: 22px !important; --padding-right: 26px !important; --padding-bottom: 22px !important; --padding-left: 22px !important;
	border: 1px solid var(--pd-line);
	border-radius: 18px;
	background: radial-gradient(340px circle at var(--mx, -200px) var(--my, -200px), rgba(53, 99, 224, .09), transparent 60%), #fff !important;
	transition: border-color .35s ease, box-shadow .45s ease, opacity .8s ease, transform .9s var(--pd-ease) !important;
}
.cgqi-input:hover { border-color: rgba(53, 99, 224, .35); box-shadow: 0 26px 50px -36px rgba(12, 24, 37, .5); }
.cgqi-input__icon { grid-row: span 2; margin: 0 !important; }
.cgqi-input__icon .elementor-icon { display: grid !important; place-items: center; width: 50px; height: 50px; padding: 0 !important; border-radius: 14px; font-size: 19px !important; background: #EAF0FD !important; color: var(--pd-accent) !important; }
.cgqi-input__icon svg { width: 19px; height: 19px; fill: currentColor !important; }
.cgqi-input__title .elementor-heading-title { font: 600 18px/1.3 var(--pd-head) !important; color: var(--pd-ink) !important; }
.cgqi-input__text { grid-column: 2; margin-top: 6px !important; }
.cgqi-input__text p { margin: 0; font-size: 15px; line-height: 1.65; color: var(--pd-body); }
.cgqi-output {
	position: relative;
	z-index: 1;
	flex: 0 0 340px;
	align-items: center;
	text-align: center;
	--padding-top: 40px !important; --padding-right: 32px !important; --padding-bottom: 40px !important; --padding-left: 32px !important;
	border-radius: 26px;
	background: radial-gradient(300px circle at 50% 0%, rgba(53, 99, 224, .45), transparent 70%), var(--pd-grid), var(--pd-navy) !important;
	background-size: auto, 28px 28px, 28px 28px, auto !important;
	box-shadow: 0 50px 80px -44px rgba(7, 17, 31, .8);
}
.cgqi-output__icon { margin: 0 !important; }
.cgqi-output__icon .elementor-icon { display: grid !important; place-items: center; width: 68px; height: 68px; padding: 0 !important; border-radius: 50%; font-size: 24px !important; background: var(--pd-accent) !important; color: #fff !important; animation: cgqiPulse 2.4s ease-out infinite; }
.cgqi-output__icon svg { width: 24px; height: 24px; fill: currentColor !important; }
@keyframes cgqiPulse { 0% { box-shadow: 0 0 0 0 rgba(53, 99, 224, .6); } 100% { box-shadow: 0 0 0 22px rgba(53, 99, 224, 0); } }
.cgqi-output__tag { margin-top: 22px !important; }
.cgqi-output__tag .elementor-heading-title { font: 500 11px/1 var(--pd-mono) !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--pd-ice) !important; }
.cgqi-output__title { margin-top: 10px !important; }
.cgqi-output__title .elementor-heading-title { font: 600 24px/1.2 var(--pd-head) !important; color: #fff !important; }
.cgqi-output__text { margin-top: 10px !important; }
.cgqi-output__text p { margin: 0; font-size: 15px; line-height: 1.6; color: #B4C1D4; }
/* Dimensional vs gear */
body.cg-quality-page .elementor-element.cgqi-vs { position: relative; gap: 20px !important; margin-top: 28px; align-items: stretch; }
.cgqi-vs__card {
	flex: 1 1 0;
	--padding-top: 34px !important; --padding-right: 36px !important; --padding-bottom: 34px !important; --padding-left: 36px !important;
	border: 1px solid var(--pd-line);
	border-radius: 22px;
	background: linear-gradient(160deg, #F8FAFE, #fff) !important;
}
.cgqi-vs__card--gear { border-color: transparent; background: radial-gradient(420px 260px at 100% 0%, rgba(53, 99, 224, .35), transparent 70%), var(--pd-navy) !important; }
.cgqi-vs__tag .elementor-heading-title { font: 500 11px/1 var(--pd-mono) !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--pd-accent) !important; }
.cgqi-vs__card--gear .cgqi-vs__tag .elementor-heading-title { color: var(--pd-ice) !important; }
.cgqi-vs__title { margin-top: 12px !important; }
.cgqi-vs__title .elementor-heading-title { font: 600 24px/1.2 var(--pd-head) !important; color: var(--pd-ink) !important; }
.cgqi-vs__card--gear .cgqi-vs__title .elementor-heading-title { color: #fff !important; }
.cgqi-vs__text { margin-top: 12px !important; }
.cgqi-vs__text p { margin: 0; font-size: 15.5px; line-height: 1.7; color: var(--pd-body); }
.cgqi-vs__card--gear .cgqi-vs__text p { color: #B4C1D4; }
.cgqi-vs__chips { margin-top: 20px !important; }
.cgqi-vs__badge {
	position: absolute !important;
	left: 50%;
	top: 50%;
	z-index: 2;
	width: auto !important;
	margin: 0 !important;
	transform: translate(-50%, -50%);
}
.cgqi-vs__badge .elementor-heading-title {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 0 0 8px rgba(244, 246, 249, .9), 0 16px 30px -12px rgba(12, 24, 37, .5);
	font: 700 15px/1 var(--pd-mono) !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
	color: var(--pd-accent) !important;
}
.cgqi-foot { margin-top: 32px !important; }
.cgqi-foot .cgpd-note { flex: 1 1 auto; margin-top: 0 !important; }

/* ── 3. By component: explorer note + glossary ───────────────────────── */
.cgqi-note { margin-top: 28px !important; }
.cgqi-explorer .cgcg-rail__btn { padding: 11px 14px; }
.cgqi-explorer .cgcg-rail__icon { width: 34px; height: 34px; }
.cgqi-explorer .cgcg-rail__t { font-size: 14.5px; }
.cgqi-glossary { margin-top: 24px !important; }
body.cg-quality-page .elementor-element.cgqi-glossary { grid-template-rows: none !important; grid-auto-rows: auto !important; gap: 18px !important; }
.cgqi-term {
	position: relative;
	--padding-top: 96px !important; --padding-right: 24px !important; --padding-bottom: 24px !important; --padding-left: 24px !important;
	border: 1px solid var(--pd-line);
	border-radius: 18px;
	background: radial-gradient(300px circle at var(--mx, -200px) var(--my, -200px), rgba(53, 99, 224, .09), transparent 60%), #fff !important;
	overflow: hidden;
	transition: border-color .35s ease, box-shadow .45s ease, opacity .8s ease, transform .9s var(--pd-ease) !important;
}
.cgqi-term:hover { border-color: rgba(53, 99, 224, .35); box-shadow: 0 26px 50px -36px rgba(12, 24, 37, .5); }
/* Mini "chart" glyph per characteristic */
.cgqi-term::before {
	content: "" !important;
	position: absolute !important;
	left: 24px !important; right: 24px !important; top: 22px !important;
	width: auto !important; height: 54px !important;
	opacity: 1 !important;
	border-radius: 10px;
	background-color: #F3F6FC !important;
	background-repeat: repeat-x !important;
	background-position: 0 50% !important;
	background-size: 120px 54px !important;
	transition: background-position 1.6s linear;
}
.cgqi-term:hover::before { background-position: -120px 50% !important; }
.cgqi-term--profile::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 54'%3E%3Cpath d='M0 38 C20 36 30 18 50 16 S90 30 120 38' fill='none' stroke='%233563E0' stroke-width='2'/%3E%3Cpath d='M0 20H120M0 44H120' stroke='%237CE0B0' stroke-dasharray='4 4'/%3E%3C/svg%3E") !important; }
.cgqi-term--lead::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 54'%3E%3Cpath d='M0 40 L30 32 L60 24 L90 16 L120 8' fill='none' stroke='%233563E0' stroke-width='2'/%3E%3Cpath d='M0 46 L120 14M0 34 L120 2' stroke='%237CE0B0' stroke-dasharray='4 4'/%3E%3C/svg%3E") !important; }
.cgqi-term--composite::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 54'%3E%3Cpath d='M0 27 L6 22 L12 30 L18 20 L24 31 L30 24 L36 29 L42 18 L48 33 L54 25 L60 28 L66 21 L72 32 L78 23 L84 30 L90 19 L96 31 L102 24 L108 29 L114 22 L120 27' fill='none' stroke='%233563E0' stroke-width='1.8'/%3E%3C/svg%3E") !important; }
.cgqi-term--runout::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 54'%3E%3Cpath d='M0 27 C15 10 45 10 60 27 S105 44 120 27' fill='none' stroke='%233563E0' stroke-width='2'/%3E%3Cpath d='M0 27H120' stroke='%239AA6B8' stroke-dasharray='2 4'/%3E%3C/svg%3E") !important; }
.cgqi-term--backlash::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 54'%3E%3Cpath d='M4 50 L14 14 L28 14 L38 50 M64 50 L74 14 L88 14 L98 50' fill='none' stroke='%233563E0' stroke-width='2'/%3E%3Cpath d='M44 4 L54 40 L68 40' fill='none' stroke='%239AA6B8' stroke-width='2'/%3E%3Cpath d='M40 32 H50' stroke='%237CE0B0' stroke-width='2'/%3E%3C/svg%3E") !important; }
.cgqi-term--contact::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 54'%3E%3Crect x='14' y='8' width='92' height='38' rx='6' fill='none' stroke='%239AA6B8'/%3E%3Cellipse cx='60' cy='27' rx='26' ry='10' fill='%233563E0' fill-opacity='.35' stroke='%233563E0'/%3E%3C/svg%3E") !important; }
.cgqi-term--fit::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 54'%3E%3Cpath d='M10 12 H50 V42 H10 M110 12 H70 V42 H110' fill='none' stroke='%239AA6B8' stroke-width='2'/%3E%3Crect x='30' y='20' width='60' height='14' rx='3' fill='%233563E0' fill-opacity='.3' stroke='%233563E0'/%3E%3C/svg%3E") !important; }
.cgqi-term__title .elementor-heading-title { font: 600 17px/1.3 var(--pd-head) !important; color: var(--pd-ink) !important; }
.cgqi-term__text { margin-top: 8px !important; }
.cgqi-term__text p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--pd-body); }

/* ── 4. Equipment (navy): ITW "scopes" + instrument racks ───────────── */
body.cg-quality-page .elementor-element.cgqi-itws { grid-template-rows: none !important; grid-auto-rows: auto !important; gap: 20px !important; margin-top: 24px; }
.cgqi-itw {
	position: relative;
	--padding-top: 118px !important; --padding-right: 28px !important; --padding-bottom: 28px !important; --padding-left: 28px !important;
	border: 1px solid rgba(157, 184, 255, .22);
	border-radius: 22px;
	background: radial-gradient(360px circle at var(--mx, 100%) var(--my, 0%), rgba(53, 99, 224, .35), transparent 60%), linear-gradient(160deg, rgba(27, 63, 160, .4), rgba(12, 26, 46, .85)) !important;
	overflow: hidden;
	transition: transform .5s var(--pd-ease), border-color .35s ease, opacity .8s ease !important;
}
.cgqi-itw:hover { transform: translateY(-5px); border-color: rgba(157, 184, 255, .5); }
/* Live "oscilloscope" strip */
.cgqi-itw::before {
	content: "" !important;
	position: absolute !important;
	left: 20px !important; right: 20px !important; top: 20px !important;
	width: auto !important; height: 76px !important;
	opacity: 1 !important;
	border: 1px solid rgba(157, 184, 255, .2) !important;
	border-radius: 12px;
	background-color: rgba(7, 17, 31, .7) !important;
	background-repeat: repeat-x, repeat, repeat !important;
	background-size: 160px 76px, 16px 16px, 16px 16px !important;
	animation: cgqiScope 4s linear infinite;
}
@keyframes cgqiScope { to { background-position: -160px 0, 0 0, 0 0; } }
.cgqi-itw--profile::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 76'%3E%3Cpath d='M0 42 C20 40 34 30 50 34 S80 46 100 38 S140 30 160 42' fill='none' stroke='%239DB8FF' stroke-width='2'/%3E%3Cpath d='M0 24H160M0 56H160' stroke='%237CE0B0' stroke-opacity='.6' stroke-dasharray='4 5'/%3E%3C/svg%3E"), linear-gradient(rgba(157,184,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(157,184,255,.06) 1px, transparent 1px) !important; }
.cgqi-itw--lead::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 76'%3E%3Cpath d='M0 40 L20 37 L40 41 L60 36 L80 40 L100 35 L120 39 L140 36 L160 40' fill='none' stroke='%239DB8FF' stroke-width='2'/%3E%3Cpath d='M0 24H160M0 56H160' stroke='%237CE0B0' stroke-opacity='.6' stroke-dasharray='4 5'/%3E%3C/svg%3E"), linear-gradient(rgba(157,184,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(157,184,255,.06) 1px, transparent 1px) !important; }
.cgqi-itw--composite::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 76'%3E%3Cpath d='M0 38 L8 30 L16 44 L24 28 L32 46 L40 34 L48 42 L56 26 L64 48 L72 36 L80 40 L88 29 L96 45 L104 33 L112 43 L120 27 L128 47 L136 35 L144 41 L152 30 L160 38' fill='none' stroke='%239DB8FF' stroke-width='1.8'/%3E%3C/svg%3E"), linear-gradient(rgba(157,184,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(157,184,255,.06) 1px, transparent 1px) !important; }
.cgqi-itw__tag .elementor-heading-title { font: 500 10.5px/1 var(--pd-mono) !important; letter-spacing: .2em !important; text-transform: uppercase; color: #7CE0B0 !important; }
.cgqi-itw__title { margin-top: 10px !important; }
.cgqi-itw__title .elementor-heading-title { font: 600 22px/1.2 var(--pd-head) !important; color: #fff !important; }
.cgqi-itw__text { margin-top: 10px !important; }
.cgqi-itw__text p { margin: 0; font-size: 15px; line-height: 1.65; color: #B4C1D4; }
.cgqi-itw-note { margin-top: 20px !important; }
.cgqi-itw-note p { margin: 0; padding: 16px 20px; border-left: 3px solid #7CE0B0; border-radius: 0 12px 12px 0; background: rgba(124, 224, 176, .06); font-size: 15px; line-height: 1.65; color: #C9D5E6; }
.cgqi-itw-note strong { color: #fff; }
body.cg-quality-page .elementor-element.cgqi-racks { grid-template-rows: none !important; grid-auto-rows: auto !important; gap: 20px !important; margin-top: 40px; }
.cgqi-rack {
	--padding-top: 30px !important; --padding-right: 28px !important; --padding-bottom: 28px !important; --padding-left: 28px !important;
	border: 1px solid rgba(157, 184, 255, .16);
	border-radius: 22px;
	background: radial-gradient(360px circle at var(--mx, -200px) var(--my, -200px), rgba(53, 99, 224, .28), transparent 60%), rgba(12, 26, 46, .62) !important;
	transition: border-color .35s ease, opacity .8s ease, transform .9s var(--pd-ease) !important;
}
.cgqi-rack:hover { border-color: rgba(157, 184, 255, .4); }
.cgqi-rack__title .elementor-heading-title { font: 600 19px/1.3 var(--pd-head) !important; color: #fff !important; }
.cgqi-rack__text { margin-top: 10px !important; }
.cgqi-rack__text p { margin: 0; font-size: 14px; line-height: 1.6; color: #9FB0C8; }
.cgqi-rack__list { margin-top: 18px !important; }
.cgqi-rack__list .elementor-icon-list-items { display: grid !important; gap: 8px; }
.cgqi-rack__list .elementor-icon-list-item { margin: 0 !important; padding: 11px 12px !important; align-items: flex-start !important; border: 1px solid rgba(157, 184, 255, .14); border-radius: 10px; background: rgba(7, 17, 31, .5); transition: border-color .3s ease, background-color .3s ease; }
.cgqi-rack__list .elementor-icon-list-item:hover { border-color: rgba(157, 184, 255, .4); background: rgba(27, 63, 160, .3); }
.cgqi-rack__list .elementor-icon-list-item::after { display: none !important; }
.cgqi-rack__list .elementor-icon-list-icon { margin-top: 2px; }
.cgqi-rack__list .elementor-icon-list-icon svg { width: 12px !important; fill: var(--pd-ice) !important; }
.cgqi-rack__list .elementor-icon-list-text { padding-left: 10px !important; font: 500 12.5px/1.45 var(--pd-mono) !important; color: #DCE7FF !important; }
.cgqi-closing { margin-top: 36px !important; }
.cgqi-closing p { margin: 0; max-width: 820px; font: 500 18px/1.6 var(--pd-head); color: #C9D5E6; }
.cgqi-closing strong { color: #fff; }

/* ── 5. Troubleshooting: questions + case files ──────────────────────── */
.cgqi-questions { gap: 4px !important; }
.cgqi-q { position: relative; margin: 0 !important; }
.cgqi-q .elementor-heading-title { padding: 10px 0 10px 24px; font: 600 clamp(22px, 2.3vw, 32px)/1.22 var(--pd-head) !important; letter-spacing: -.02em !important; color: var(--pd-ink) !important; transition: color .5s ease; }
.cgqi-q .elementor-heading-title::before { content: ""; position: absolute; left: 0; top: 14px; bottom: 14px; width: 3px; border-radius: 3px; background: linear-gradient(180deg, var(--pd-accent), var(--pd-ice)); transform: scaleY(0); transition: transform .5s var(--pd-ease); }
.cgqi-questions.is-ready .cgqi-q .elementor-heading-title { color: #C3CCDA !important; cursor: default; }
.cgqi-questions.is-ready .cgqi-q.is-active .elementor-heading-title { color: var(--pd-ink) !important; }
.cgqi-questions.is-ready .cgqi-q.is-active .elementor-heading-title::before { transform: scaleY(1); }
body.cg-quality-page .elementor-element.cgqi-cases { grid-template-rows: none !important; grid-auto-rows: auto !important; gap: 24px !important; margin-top: 88px; }
.cgqi-case {
	position: relative;
	--padding-top: 34px !important; --padding-right: 30px !important; --padding-bottom: 30px !important; --padding-left: 30px !important;
	border: 1px solid var(--pd-line);
	border-radius: 0 22px 22px 22px;
	background: radial-gradient(380px circle at var(--mx, -200px) var(--my, -200px), rgba(53, 99, 224, .08), transparent 60%), #fff !important;
	overflow: visible !important;
	transition: transform .5s var(--pd-ease), border-color .35s ease, box-shadow .5s ease, opacity .8s ease !important;
}
.cgqi-case:hover { transform: translateY(-6px); border-color: rgba(53, 99, 224, .32); box-shadow: 0 36px 60px -40px rgba(12, 24, 37, .5); }
.cgqi-case__tab { position: absolute !important; left: -1px; top: -38px; width: auto !important; margin: 0 !important; }
.cgqi-case__tab .elementor-heading-title { display: block; padding: 12px 18px 12px; border-radius: 14px 14px 0 0; background: var(--pd-navy); font: 600 11px/1 var(--pd-mono) !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--pd-ice) !important; }
/* "Quality plan" stamp */
.cgqi-case::after {
	content: "QUALITY PLAN \2713";
	position: absolute;
	top: 22px;
	right: 20px;
	padding: 6px 10px;
	border: 2px solid rgba(53, 99, 224, .55);
	border-radius: 8px;
	font: 700 10px/1 var(--pd-mono);
	letter-spacing: .14em;
	color: var(--pd-accent-2);
	opacity: .55;
	transform: rotate(-8deg);
	transition: opacity .4s ease, transform .5s var(--pd-ease);
}
.cgqi-case:hover::after { opacity: 1; transform: rotate(-4deg) scale(1.06); }
.cgqi-case__title { padding-right: 110px; }
.cgqi-case__title .elementor-heading-title { font: 600 21px/1.25 var(--pd-head) !important; color: var(--pd-ink) !important; text-wrap: balance; }
.cgqi-case__dl { margin-top: 18px !important; }
.cgqi-case__dl dt { color: var(--pd-accent) !important; }
.cgqi-case__dl dd { color: var(--pd-body) !important; font-size: 15px !important; }
.cgqi-case__dl strong { color: var(--pd-ink); font-weight: 600; background: linear-gradient(transparent 58%, rgba(53, 99, 224, .16) 58%); }
.cgqi-case__focus { margin-top: 20px !important; padding-top: 18px; border-top: 1px dashed var(--pd-line); }
.cgqi-case__focus .elementor-heading-title { font: 500 10.5px/1 var(--pd-mono) !important; letter-spacing: .18em !important; text-transform: uppercase; color: var(--pd-body) !important; }
.cgqi-case__chips { margin-top: 10px !important; }
.cgqi-case__chips .elementor-icon-list-items { display: flex !important; flex-wrap: wrap; gap: 6px; }
.cgqi-case__chips .elementor-icon-list-item { margin: 0 !important; padding: 7px 11px !important; border-radius: 99px; background: #EEF3FD; }
.cgqi-case__chips .elementor-icon-list-item::after { display: none !important; }
.cgqi-case__chips .elementor-icon-list-icon svg { width: 10px !important; fill: var(--pd-accent) !important; }
.cgqi-case__chips .elementor-icon-list-text { padding-left: 6px !important; font-size: 13px !important; font-weight: 600; color: var(--pd-accent) !important; }
.cgqi-demo {
	margin-top: 32px !important;
	--padding-top: 36px !important; --padding-right: 44px !important; --padding-bottom: 36px !important; --padding-left: 44px !important;
	border-radius: 24px;
	background: radial-gradient(520px 300px at 0% 0%, rgba(53, 99, 224, .4), transparent 70%), var(--pd-grid), var(--pd-navy) !important;
	background-size: auto, 28px 28px, 28px 28px, auto !important;
	align-items: center;
}
.cgqi-demo__title { flex: 0 0 32%; }
.cgqi-demo__title .elementor-heading-title { font: 600 26px/1.2 var(--pd-head) !important; color: #fff !important; }
.cgqi-demo__text { flex: 1 1 auto; }
.cgqi-demo__text p { margin: 0; font-size: 17px; line-height: 1.7; color: #C9D5E6; }
.cgqi-demo__text strong { color: #fff; }

/* ── 6. Checkpoint ring ──────────────────────────────────────────────── */
body.cg-quality-page .elementor-element.cgqi-ring {
	position: relative;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px !important;
	margin-top: 56px;
}
.cgqi-ring__core {
	grid-column: 1 / -1;
	align-items: center;
	justify-content: center;
	text-align: center;
	--padding-top: 34px !important; --padding-right: 34px !important; --padding-bottom: 34px !important; --padding-left: 34px !important;
	border-radius: 26px;
	background: radial-gradient(circle at 50% 30%, rgba(53, 99, 224, .5), transparent 70%), var(--pd-navy) !important;
}
.cgqi-ring__tag .elementor-heading-title { font: 500 10.5px/1 var(--pd-mono) !important; letter-spacing: .2em !important; text-transform: uppercase; color: var(--pd-ice) !important; }
.cgqi-ring__title { margin-top: 10px !important; }
.cgqi-ring__title .elementor-heading-title { font: 600 22px/1.2 var(--pd-head) !important; color: #fff !important; }
.cgqi-ring__text { margin-top: 10px !important; }
.cgqi-ring__text p { margin: 0; font-size: 14px; line-height: 1.6; color: #B4C1D4; }
.cgqi-node {
	position: relative;
	--padding-top: 22px !important; --padding-right: 22px !important; --padding-bottom: 22px !important; --padding-left: 22px !important;
	border: 1px solid var(--pd-line);
	border-radius: 18px;
	background: radial-gradient(300px circle at var(--mx, -200px) var(--my, -200px), rgba(53, 99, 224, .09), transparent 60%), #fff !important;
	transition: border-color .45s ease, box-shadow .5s ease, transform .6s var(--pd-ease);
}
.cgqi-node__icon { margin: 0 !important; }
.cgqi-node__icon .elementor-icon { display: grid !important; place-items: center; width: 44px; height: 44px; padding: 0 !important; border-radius: 50%; font-size: 16px !important; background: #EAF0FD !important; color: var(--pd-accent) !important; transition: background-color .45s ease, color .45s ease; }
.cgqi-node__icon svg { width: 16px; height: 16px; fill: currentColor !important; }
.cgqi-node__title { margin-top: 14px !important; }
.cgqi-node__title .elementor-heading-title { font: 600 17px/1.3 var(--pd-head) !important; color: var(--pd-ink) !important; transition: color .45s ease; }
.cgqi-node__text { margin-top: 8px !important; }
.cgqi-node__text p { margin: 0; font-size: 14px; line-height: 1.62; color: var(--pd-body); }
.cgqi-node.is-active { border-color: rgba(53, 99, 224, .5); box-shadow: 0 30px 56px -34px rgba(12, 24, 37, .55), 0 0 0 4px rgba(53, 99, 224, .08); }
.cgqi-node.is-active .cgqi-node__icon .elementor-icon { background: var(--pd-accent) !important; color: #fff !important; }
.cgqi-node.is-active .cgqi-node__title .elementor-heading-title { color: var(--pd-accent) !important; }
/* Orbit layout (desktop, quality.js) */
body.cg-quality-page .elementor-element.cgqi-ring.is-orbit { display: block !important; height: 820px; }
.cgqi-orbit { display: none; }
.cgqi-ring.is-orbit .cgqi-orbit { display: block; position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.cgqi-orbit__path { fill: none; stroke: #C9D3E3; stroke-width: 2; stroke-dasharray: 6 8; }
.cgqi-orbit__dot { fill: var(--pd-accent-2); stroke: #fff; stroke-width: 3; filter: drop-shadow(0 0 8px rgba(53, 99, 224, .9)); }
.cgqi-ring.is-orbit .cgqi-node { position: absolute !important; width: 300px !important; transform: translate(-50%, -50%); z-index: 1; }
.cgqi-ring.is-orbit .cgqi-node.is-active { transform: translate(-50%, -50%) scale(1.04); z-index: 2; }
.cgqi-ring.is-orbit .cgqi-ring__core {
	position: absolute !important;
	left: 50%;
	top: 50%;
	width: 290px !important;
	height: 290px;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 16px rgba(53, 99, 224, .07), 0 0 0 32px rgba(53, 99, 224, .04), 0 40px 70px -30px rgba(7, 17, 31, .6);
	animation: cgqiCore 5s ease-in-out infinite;
}
@keyframes cgqiCore { 50% { box-shadow: 0 0 0 24px rgba(53, 99, 224, .09), 0 0 0 48px rgba(53, 99, 224, .04), 0 40px 70px -30px rgba(7, 17, 31, .6); } }
/* Positioning badges + related */
.cgqi-position {
	margin-top: 40px !important;
	--padding-top: 28px !important; --padding-right: 34px !important; --padding-bottom: 28px !important; --padding-left: 34px !important;
	border: 1px solid var(--pd-line);
	border-radius: 20px;
	background: #fff !important;
}
.cgqi-badges { flex: 1 1 auto; }
.cgqi-badges .elementor-icon-list-items { display: flex !important; flex-wrap: wrap; gap: 10px; }
.cgqi-badges .elementor-icon-list-item { margin: 0 !important; padding: 12px 16px !important; border: 1px solid rgba(53, 99, 224, .22); border-radius: 12px; background: linear-gradient(135deg, #EEF3FD, #fff); }
.cgqi-badges .elementor-icon-list-item::after { display: none !important; }
.cgqi-badges .elementor-icon-list-icon svg { width: 14px !important; fill: var(--pd-accent) !important; }
.cgqi-badges .elementor-icon-list-text { padding-left: 10px !important; font-size: 14.5px !important; font-weight: 600; color: var(--pd-ink) !important; }
.cgqi-related { margin-top: 44px !important; align-items: center; }
.cgqi-related .cgpd-link { margin-top: 0 !important; }

/* ── 7. Review card: tabs on navy ────────────────────────────────────── */
.cgqi-cta .cgpd-tabs { background: rgba(157, 184, 255, .08); border-color: rgba(157, 184, 255, .2); margin-top: 16px; }
.cgqi-cta .cgpd-tabs__btn { color: #B4C1D4; }
.cgqi-cta .cgpd-tabs__btn:hover { color: #fff; }
.cgqi-cta .cgpd-tabs__btn.is-active { background: var(--pd-accent); color: #fff; box-shadow: 0 8px 18px -10px rgba(53, 99, 224, .9); }
.cgqi-cta .cgpd-subhead .elementor-heading-title { color: #fff !important; }
.cgqi-send .cgpd-panel__title .elementor-heading-title { color: var(--pd-ice) !important; }

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
	.cgqi-hero__copy > .elementor-widget { max-width: none; }
	body.cg-quality-page .elementor-element.cgqi-funnel { gap: 20px !important; }
	.cgqi-output { flex: none; width: 100% !important; }
	.cgqi-vs__badge { position: relative !important; left: auto; top: auto; transform: none; align-self: center; margin: -8px 0 !important; }
	body.cg-quality-page .elementor-element.cgqi-ring { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cgqi-demo__title { flex: none; }
}
@media (max-width: 767px) {
	.cgqi-report__read .elementor-icon-list-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cgqi-report__read .elementor-icon-list-item:nth-child(2) { border-right: 0; }
	.cgqi-report__read .elementor-icon-list-item:nth-child(-n+2) { border-bottom: 1px solid rgba(157, 184, 255, .12); }
	.cgqi-modes { margin-top: 44px !important; }
	.cgqi-creds .elementor-icon-list-items { justify-content: flex-start; }
	.cgqi-h3 { margin-top: 56px !important; }
	.cgqi-input { grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px !important; --padding-left: 18px !important; --padding-right: 18px !important; }
	.cgqi-input__icon .elementor-icon { width: 44px; height: 44px; }
	.cgqi-vs__card { --padding-right: 22px !important; --padding-left: 22px !important; --padding-top: 28px !important; --padding-bottom: 28px !important; }
	body.cg-quality-page .elementor-element.cgqi-cases { margin-top: 72px; row-gap: 64px !important; }
	.cgqi-case { --padding-left: 22px !important; --padding-right: 22px !important; }
	.cgqi-demo, .cgqi-position { --padding-left: 22px !important; --padding-right: 22px !important; }
	body.cg-quality-page .elementor-element.cgqi-ring { grid-template-columns: minmax(0, 1fr); }
}
/* ── Layout fixes ────────────────────────────────────────────────────── */
body.cg-quality-page .elementor-element.cgqi-modes { flex-direction: column !important; align-items: stretch; }
body.cg-quality-page .elementor-element.cgqi-creds .elementor-icon-list-items { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px 28px; }
body.cg-quality-page .cgqi-creds .elementor-icon-list-item { align-items: flex-start !important; }
body.cg-quality-page .cgqi-creds .elementor-icon-list-icon { margin-top: 4px; }
body.cg-quality-page .cgqi-creds .elementor-icon-list-text { line-height: 1.5 !important; }
body.cg-quality-page .elementor-element.cgqi-input { column-gap: 18px !important; }
@media (min-width: 1025px) {
	body.cg-quality-page .elementor-element.cgqi-output { flex: 0 0 360px !important; width: 360px !important; max-width: 360px; }
}
/* Component explorer: 11 components -> compact tab grid above a full-width panel */
@media (min-width: 1025px) {
	body.cg-quality-page .elementor-element.cgqi-explorer.is-ready { grid-template-columns: minmax(0, 1fr); gap: 16px !important; }
	.cgqi-explorer .cgcg-rail { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
	.cgqi-explorer .cgcg-rail__btn { padding: 10px 12px; }
	.cgqi-explorer .cgcg-rail__btn::after { display: none; }
	.cgqi-explorer .cgcg-rail__btn .cgcg-rail__txt { padding-right: 0; }
	.cgqi-explorer .cgcg-stage > .cgcg-proc { --padding-top: 34px !important; --padding-bottom: 34px !important; }
	.cgqi-explorer .cgcg-proc__tags .elementor-icon-list-items { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
/* Glossary: a 7th card fills the last row */
@media (min-width: 1025px) {
	.cgqi-glossary > .cgqi-term:nth-child(4n+3):last-child { grid-column: span 2; }
}
/* Ring: more room between the checkpoints and the centre */
body.cg-quality-page .elementor-element.cgqi-ring.is-orbit { height: 900px; }
.cgqi-ring.is-orbit .cgqi-ring__core { width: 260px !important; height: 260px; --padding-left: 26px !important; --padding-right: 26px !important; }
.cgqi-ring.is-orbit .cgqi-ring__title .elementor-heading-title { font-size: 20px !important; }
@media (max-width: 1024px) {
	body.cg-quality-page .elementor-element.cgqi-creds .elementor-icon-list-items { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	body.cg-quality-page .elementor-element.cgqi-creds .elementor-icon-list-items { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	.cgqi-report, .cgqi-mode, .cgqi-mode::before, .cgqi-links__flow, .cgqi-output__icon .elementor-icon, .cgqi-itw::before, .cgqi-ring.is-orbit .cgqi-ring__core { animation: none !important; }
}
