/* Quantum Agency Core — module styles. Uses theme tokens with fallbacks. */
.qac-sim, .qac-roi, .qac-audit, .qac-portal, .qac-ba, .qac-cases, .qac-reviews, .qac-services, .qac-portal-login {
  --q-bg: var(--tqd-bg-surface, #0A0C14); --q-el: var(--tqd-bg-elevated, #111422);
  --q-b: var(--tqd-border-subtle, rgba(255,255,255,.07)); --q-bh: var(--tqd-border-highlight, rgba(255,255,255,.16));
  --q-t2: var(--tqd-text-secondary, #94A3B8); --q-t3: var(--tqd-text-muted, #64748B);
  --q-mint: #00F5A0; --q-cyan: #00D2FF; --q-cobalt: #3A47D5; --q-violet: #7928CA; --q-mag: #FF00CC;
  --q-mono: var(--tqd-font-mono, 'JetBrains Mono', monospace);
  --q-ease: cubic-bezier(.2,.8,.2,1);
}
[data-qac] [hidden] { display: none !important; }
.qac-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; }
.qac-disclaimer { font-size: .74rem; color: var(--q-t3); margin: 14px 0 0; }
.qac-consent { font-size: .74rem; color: var(--q-t3); margin: 4px 0 14px; }
.qac-consent a { color: var(--q-t2); text-decoration: underline; }

/* ---------- shared form + pills ---------- */
.qac-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.qac-pill {
  border: 1px solid var(--q-bh); background: rgba(255,255,255,.03); color: #cbd5e1; border-radius: 999px;
  padding: 9px 15px; font-size: .86rem; font-weight: 500; line-height: 1.25; text-align: left;
  transition: border-color .25s, background-color .25s, color .25s, box-shadow .25s;
}
.qac-pill:hover { border-color: rgba(255,255,255,.32); color: #fff; }
.qac-pill.is-active { color: #fff; border-color: transparent; background: linear-gradient(#0b0d16, #0b0d16) padding-box, linear-gradient(90deg, var(--q-mint), var(--q-cyan), var(--q-violet), var(--q-mag)) border-box; border: 1px solid transparent; box-shadow: 0 0 22px -6px rgba(0,210,255,.6); }
.qac-form label { display: grid; gap: 6px; }
.qac-form label > span { font-size: .78rem; color: var(--q-t2); font-weight: 500; }
.qac-form input:not([type=checkbox]):not([type=range]), .qac-form select, .qac-form textarea {
  width: 100%; border-radius: 12px; border: 1px solid var(--q-bh); background: rgba(0,0,0,.55); color: #fff;
  padding: 13px 14px; font-size: .95rem; transition: border-color .2s, box-shadow .2s; outline: none;
}
.qac-form input:focus, .qac-form select:focus, .qac-form textarea:focus { border-color: var(--q-cyan); box-shadow: 0 0 0 3px rgba(0,210,255,.18); }
.qac-form input.is-invalid { border-color: #f87171; box-shadow: 0 0 0 3px rgba(248,113,113,.18); }
.qac-form select option { background: #0A0C14; }
.qac-form__row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 12px; }
.qac-form__title { font-family: var(--tqd-font-display, sans-serif); font-weight: 700; font-size: 1.05rem; margin: 0 0 14px; }
.qac-form__msg { font-size: .88rem; margin-top: 10px; min-height: 1.2em; }
.qac-form__msg.is-ok { color: var(--q-mint); }
.qac-form__msg.is-err { color: #f87171; }
.qac-form button[disabled] { opacity: .6; pointer-events: none; }
.qac-legend-inline { display: inline-flex; align-items: center; gap: 6px; font-size: .72rem; color: var(--q-t2); font-family: var(--q-mono); font-weight: 500; letter-spacing: 0; text-transform: none; }
.qac-legend-inline i { width: 14px; height: 3px; border-radius: 3px; background: #475569; display: inline-block; margin-left: 8px; }
.qac-legend-inline i.is-tqd { background: linear-gradient(90deg, var(--q-mint), var(--q-mag)); }
.qac-badge { display: inline-block; font-family: var(--q-mono); font-size: .66rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; padding: 5px 10px; border-radius: 999px; background: rgba(0,210,255,.1); color: var(--q-cyan); border: 1px solid rgba(0,210,255,.25); }
.qac-badge.is-metric { background: rgba(0,245,160,.1); color: var(--q-mint); border-color: rgba(0,245,160,.25); }
.qac-draft { position: absolute; top: 0; right: 0; z-index: 3; font-family: var(--q-mono); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; padding: 6px 12px; background: #f59e0b; color: #000; border-bottom-left-radius: 12px; font-weight: 700; }

/* ---------- MODULE 2: SIMULATOR ---------- */
.qac-sim { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 18px; }
.qac-sim__panel { position: relative; border-radius: 24px; background: var(--q-bg); border: 1px solid var(--q-b); padding: 22px; min-width: 0; }
.qac-sim__chrome { display: flex; align-items: center; gap: 6px; margin: -4px 0 20px; font-family: var(--q-mono); font-size: .7rem; color: var(--q-t3); }
.qac-sim__chrome i { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.12); }
.qac-sim__chrome span { margin-left: 10px; }
.qac-field { border: 0; padding: 0; margin: 0 0 20px; }
.qac-field legend { font-family: var(--tqd-font-display, sans-serif); font-weight: 700; margin-bottom: 12px; display: flex; align-items: center; gap: 10px; padding: 0; }
.qac-step { font-family: var(--q-mono); font-size: .68rem; color: #000; background: linear-gradient(135deg, var(--q-mint), var(--q-cyan)); border-radius: 6px; padding: 3px 6px; }
.qac-sim__run { width: 100%; margin: 4px 0 18px; }
.qac-sim__run.is-running .qac-sim__run-label::after { content: "…"; }
.qac-terminal { font-family: var(--q-mono); font-size: .76rem; line-height: 1.7; background: #000; border: 1px solid var(--q-b); border-radius: 14px; padding: 14px 16px; height: 214px; overflow-y: auto; color: #cbd5e1; scrollbar-width: thin; }
.qac-terminal__line { white-space: pre-wrap; word-break: break-word; }
.qac-terminal__line.is-dim { color: var(--q-t3); }
.qac-terminal__line.is-ok { color: var(--q-mint); }
.qac-terminal__line.is-info { color: var(--q-cyan); }
.qac-terminal__line.is-warn { color: #fbbf24; }
.qac-terminal__line.is-mag { color: #ff6be1; }
.qac-terminal__cursor { display: inline-block; width: 7px; height: 14px; background: var(--q-cyan); vertical-align: -2px; animation: qac-blink 1s steps(2) infinite; }
@keyframes qac-blink { 50% { opacity: 0; } }
.qac-sim__output { display: flex; flex-direction: column; overflow: hidden; }
.qac-sim__empty { flex: 1; display: grid; place-items: center; text-align: center; color: var(--q-t3); min-height: 420px; }
.qac-sim__empty p { margin: 18px 0 0; font-size: .9rem; }
.qac-orbit { position: relative; width: 120px; height: 120px; margin: 0 auto; }
.qac-orbit span { position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(0,210,255,.3); animation: qac-orbit 6s linear infinite; }
.qac-orbit span::after { content: ""; position: absolute; top: -4px; left: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--q-cyan); box-shadow: 0 0 12px var(--q-cyan); }
.qac-orbit span:nth-child(2) { inset: 18px; border-color: rgba(121,40,202,.4); animation-duration: 4s; animation-direction: reverse; }
.qac-orbit span:nth-child(2)::after { background: var(--q-mag); box-shadow: 0 0 12px var(--q-mag); }
.qac-orbit span:nth-child(3) { inset: 38px; border-color: rgba(0,245,160,.4); animation-duration: 3s; }
.qac-orbit span:nth-child(3)::after { background: var(--q-mint); box-shadow: 0 0 12px var(--q-mint); }
@keyframes qac-orbit { to { transform: rotate(360deg); } }
.qac-sim__results { animation: qac-in .6s var(--q-ease); }
@keyframes qac-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
.qac-sim__headline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 14px; }
.qac-sim__headline > div { border-radius: 14px; background: var(--q-el); padding: 14px; border: 1px solid var(--q-b); }
.qac-sim__headline small { display: block; font-size: .68rem; color: var(--q-t2); text-transform: uppercase; letter-spacing: .06em; font-family: var(--q-mono); }
.qac-sim__headline b { display: block; font-family: var(--q-mono); font-size: clamp(1.25rem, 2.2vw, 1.7rem); margin-top: 4px; letter-spacing: -.02em; }
.qac-sim__lift { color: var(--q-mint); } .qac-sim__roas { color: var(--q-cyan); } .qac-sim__cpa { color: #ff6be1; }
.qac-sim__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qac-sim__card { border-radius: 14px; background: rgba(0,0,0,.5); border: 1px solid var(--q-b); padding: 14px; min-width: 0; }
.qac-sim__card--wide { grid-column: 1 / -1; }
.qac-sim__card h4 { font-size: .74rem; font-family: var(--q-mono); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--q-t2); margin: 0 0 12px; display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.qac-funnel { display: grid; gap: 7px; }
.qac-funnel__row { display: grid; grid-template-columns: 78px 1fr 64px; gap: 8px; align-items: center; font-size: .74rem; }
.qac-funnel__row span { color: var(--q-t2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qac-funnel__row b { font-family: var(--q-mono); font-size: .74rem; text-align: right; }
.qac-funnel__bar { height: 18px; border-radius: 5px; background: rgba(255,255,255,.05); position: relative; overflow: hidden; }
.qac-funnel__bar i { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: inherit; background: linear-gradient(90deg, var(--q-cyan), var(--q-violet)); transition: width 1.1s var(--q-ease); }
.qac-funnel__bar i.is-base { background: rgba(255,255,255,.14); }
.qac-donut-wrap { display: flex; gap: 14px; align-items: center; }
.qac-donut { width: 112px; height: 112px; flex-shrink: 0; transform: rotate(-90deg); }
.qac-donut circle { fill: none; stroke-width: 14; transition: stroke-dasharray 1.1s var(--q-ease), stroke-dashoffset 1.1s var(--q-ease); }
.qac-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; font-size: .74rem; min-width: 0; }
.qac-legend li { display: flex; align-items: center; gap: 7px; color: #cbd5e1; }
.qac-legend li i { width: 8px; height: 8px; border-radius: 2px; flex-shrink: 0; }
.qac-legend li b { margin-left: auto; font-family: var(--q-mono); padding-left: 6px; }
.qac-traj { width: 100%; height: 170px; overflow: visible; }
.qac-traj .grid { stroke: rgba(255,255,255,.05); }
.qac-traj .base { fill: none; stroke: #475569; stroke-width: 2; stroke-dasharray: 5 6; vector-effect: non-scaling-stroke; }
.qac-traj .tqd { fill: none; stroke: url(#qacTraj); stroke-width: 3; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 8px rgba(0,210,255,.6)); }
.qac-traj .lbl { fill: var(--q-t2); font-family: var(--q-mono); font-size: 11px; }
.qac-sim__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.qac-sim__form { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--q-b); }

/* ---------- MODULE 3: BEFORE / AFTER ---------- */
.qac-ba { position: relative; border-radius: 26px; overflow: hidden; border: 1px solid var(--q-bh); user-select: none; -webkit-user-select: none; touch-action: pan-y; background: #000; cursor: ew-resize; }
.qac-ba__side { position: absolute; inset: 0; padding: clamp(18px, 3.4vw, 44px); display: flex; flex-direction: column; }
.qac-ba__after { position: relative; min-height: 470px; background: radial-gradient(60% 70% at 80% 10%, rgba(121,40,202,.35), transparent 70%), radial-gradient(50% 60% at 10% 90%, rgba(0,245,160,.18), transparent 70%), #04050a; }
.qac-ba__before { background: #d9d9d4; color: #333; clip-path: inset(0 calc(100% - var(--pos)) 0 0); filter: saturate(.4); }
.qac-ba__label { align-self: flex-start; font-family: var(--q-mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; padding: 6px 12px; border-radius: 999px; margin-bottom: 16px; font-weight: 700; }
.qac-ba__label.is-before { background: #b5b5ae; color: #333; }
.qac-ba__label.is-after { align-self: flex-end; background: linear-gradient(90deg, var(--q-mint), var(--q-cyan), var(--q-violet), var(--q-mag)); color: #000; }
.qac-ba__ui { flex: 1; display: flex; flex-direction: column; gap: clamp(10px, 1.6vw, 18px); max-width: 920px; width: 100%; margin: 0 auto; }
.qac-ba__nav { display: flex; justify-content: space-between; align-items: center; font-size: .82rem; font-weight: 700; }
.qac-ba__after .qac-ba__nav { color: #fff; }
.qac-ba__cta { padding: 7px 14px; border-radius: 999px; font-size: .74rem; }
.qac-ba__after .qac-ba__cta { background: linear-gradient(135deg, var(--q-cyan), var(--q-violet), var(--q-mag)); color: #fff; }
.qac-ba__before .qac-ba__cta { background: #9a9a94; color: #eee; border-radius: 3px; }
.qac-ba__hero { display: grid; grid-template-columns: 1.2fr 1fr; grid-template-rows: auto auto; gap: 10px 20px; align-items: center; }
.qac-ba__h { height: clamp(14px, 2vw, 22px); border-radius: 6px; grid-column: 1; }
.qac-ba__h.is-short { width: 70%; }
.qac-ba__after .qac-ba__h { background: linear-gradient(90deg, #fff, rgba(255,255,255,.5)); }
.qac-ba__after .qac-ba__h.is-short { background: linear-gradient(90deg, var(--q-mint), var(--q-cyan), var(--q-mag)); }
.qac-ba__before .qac-ba__h { background: #a9a9a3; border-radius: 2px; }
.qac-ba__video { grid-column: 2; grid-row: 1 / 3; aspect-ratio: 16 / 10; border-radius: 14px; display: flex; align-items: flex-end; padding: 10px; font-family: var(--q-mono); font-size: .66rem; }
.qac-ba__after .qac-ba__video { background: linear-gradient(135deg, rgba(0,210,255,.4), rgba(121,40,202,.5), rgba(255,0,204,.45)); border: 1px solid rgba(255,255,255,.2); color: #fff; }
.qac-ba__video.is-dead { background: repeating-linear-gradient(45deg, #c6c6c0 0 10px, #bdbdb6 10px 20px); border-radius: 2px; color: #666; align-items: center; justify-content: center; text-align: center; }
.qac-ba__metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.qac-ba__metrics > div { border-radius: 14px; padding: clamp(10px, 1.4vw, 16px); }
.qac-ba__after .qac-ba__metrics > div { background: rgba(10,12,20,.75); border: 1px solid rgba(255,255,255,.1); }
.qac-ba__before .qac-ba__metrics > div { background: #c9c9c3; border-radius: 3px; }
.qac-ba__metrics b { display: block; font-family: var(--q-mono); font-size: clamp(1rem, 2.4vw, 1.75rem); letter-spacing: -.03em; line-height: 1.1; }
.qac-ba__metrics small { font-size: clamp(.6rem, 1vw, .74rem); opacity: .75; }
.qac-ba__metrics .is-good { color: var(--q-mint); text-shadow: 0 0 18px rgba(0,245,160,.5); }
.qac-ba__metrics .is-bad { color: #b42318; }
.qac-ba__funnel { display: grid; gap: 6px; margin-top: auto; }
.qac-ba__funnel span { width: var(--w); min-width: fit-content; font-size: clamp(.6rem, 1vw, .72rem); padding: 5px 10px; border-radius: 6px; white-space: nowrap; font-family: var(--q-mono); }
.qac-ba__funnel.is-after span { background: linear-gradient(90deg, rgba(0,245,160,.35), rgba(0,210,255,.25)); color: #fff; }
.qac-ba__funnel.is-after span:nth-child(3) { background: linear-gradient(90deg, rgba(121,40,202,.5), rgba(255,0,204,.3)); }
.qac-ba__funnel.is-before span { background: #b9b9b2; color: #555; border-radius: 2px; }
.qac-ba__funnel.is-before span:nth-child(3) { background: #e8b4ae; color: #8a1c12; }
.qac-ba__handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: linear-gradient(180deg, #00F5A0 0%, #00D2FF 28%, #3A47D5 52%, #7928CA 74%, #FF00CC 100%); box-shadow: 0 0 22px rgba(0,210,255,.8), 0 0 50px rgba(255,0,204,.4); z-index: 5; outline: none; }
.qac-ba__knob { position: absolute; top: 50%; left: 50%; width: 54px; height: 54px; transform: translate(-50%, -50%); border-radius: 50%; background: #000; border: 2px solid transparent; background: linear-gradient(#05060a, #05060a) padding-box, linear-gradient(135deg, #00F5A0, #00D2FF, #7928CA, #FF00CC) border-box; display: grid; place-items: center; color: #fff; font-weight: 700; font-size: 1rem; letter-spacing: 2px; box-shadow: 0 0 30px rgba(0,210,255,.5); transition: transform .25s var(--q-ease); }
.qac-ba.is-dragging .qac-ba__knob, .qac-ba__handle:focus-visible .qac-ba__knob { transform: translate(-50%, -50%) scale(1.12); }
.qac-ba.is-intro .qac-ba__before { transition: clip-path 1.2s var(--q-ease); }
.qac-ba.is-intro .qac-ba__handle { transition: left 1.2s var(--q-ease); }

/* ---------- MODULE 4: ROI ---------- */
.qac-roi { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 18px; align-items: start; }
.qac-roi__inputs { display: grid; gap: 22px; }
.qac-range__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 12px; }
.qac-range__top label { font-size: .9rem; color: #e2e8f0; font-weight: 500; }
.qac-range__top output { font-size: 1.05rem; font-weight: 700; color: #fff; white-space: nowrap; }
.qac-range input[type=range] { --fill: 50%; -webkit-appearance: none; appearance: none; width: 100%; height: 8px; border-radius: 8px; outline: none; cursor: pointer;
  background: linear-gradient(90deg, #00F5A0, #00D2FF calc(var(--fill) * .5), #7928CA var(--fill), rgba(255,255,255,.08) var(--fill)); }
.qac-range input[type=range]::-webkit-slider-thumb { -webkit-appearance: none; width: 24px; height: 24px; border-radius: 50%; background: #fff; border: 4px solid #0A0C14; box-shadow: 0 0 0 2px #00D2FF, 0 0 20px rgba(0,210,255,.8); transition: transform .2s; }
.qac-range input[type=range]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: #fff; border: 4px solid #0A0C14; box-shadow: 0 0 0 2px #00D2FF, 0 0 20px rgba(0,210,255,.8); }
.qac-range input[type=range]:active::-webkit-slider-thumb { transform: scale(1.15); }
.qac-range input[type=range]:focus-visible { box-shadow: 0 0 0 3px rgba(0,210,255,.3); }
.qac-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; padding: 5px; border-radius: 16px; background: rgba(0,0,0,.55); border: 1px solid var(--q-b); }
.qac-seg button { border: 0; background: none; color: var(--q-t2); padding: 11px 8px; border-radius: 12px; font-size: .8rem; font-weight: 600; line-height: 1.25; transition: background-color .25s, color .25s; }
.qac-seg button small { display: block; font-family: var(--q-mono); font-size: .72rem; margin-top: 3px; color: var(--q-t3); }
.qac-seg button.is-active { background: linear-gradient(135deg, rgba(0,210,255,.18), rgba(121,40,202,.25), rgba(255,0,204,.18)); color: #fff; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.qac-seg button.is-active small { color: var(--q-mint); }
.qac-roi__cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.qac-kpi { border-radius: 18px; background: var(--q-bg); border: 1px solid var(--q-b); padding: 18px 20px; position: relative; overflow: hidden; }
.qac-kpi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--c); box-shadow: 0 0 16px var(--c); }
.qac-kpi.is-mint { --c: #00F5A0; } .qac-kpi.is-cyan { --c: #00D2FF; } .qac-kpi.is-violet { --c: #9b4dff; } .qac-kpi.is-magenta { --c: #FF00CC; }
.qac-kpi small { display: block; font-size: .72rem; color: var(--q-t2); text-transform: uppercase; letter-spacing: .07em; font-family: var(--q-mono); }
.qac-kpi b { display: block; font-family: var(--q-mono); font-size: clamp(1.4rem, 2.6vw, 2.1rem); letter-spacing: -.03em; margin-top: 6px; color: var(--c); font-variant-numeric: tabular-nums; white-space: nowrap; }
.qac-roi__chart { margin-top: 12px; border-radius: 18px; background: var(--q-bg); border: 1px solid var(--q-b); padding: 18px 20px 12px; }
.qac-roi__chart-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; font-size: .8rem; color: var(--q-t2); margin-bottom: 10px; }
.qac-roi__svg { width: 100%; height: 220px; display: block; overflow: visible; }
.qac-roi__svg .grid { stroke: rgba(255,255,255,.05); }
.qac-roi__svg .cur { fill: none; stroke: #64748B; stroke-width: 2; stroke-dasharray: 5 6; vector-effect: non-scaling-stroke; }
.qac-roi__svg .tqd { fill: none; stroke: url(#qacRoiG); stroke-width: 3; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 8px rgba(0,210,255,.55)); }
.qac-roi__svg .gap { fill: url(#qacRoiF); }
.qac-roi__svg .dot { fill: #fff; stroke: #FF00CC; stroke-width: 3; vector-effect: non-scaling-stroke; }
.qac-roi__axis { display: flex; justify-content: space-between; font-family: var(--q-mono); font-size: .68rem; color: var(--q-t3); margin-top: 6px; }
.qac-roi__form { margin-top: 12px; border-radius: 18px; background: var(--q-bg); border: 1px solid var(--q-b); padding: 20px; }

/* ---------- MODULE 5: AUDIT ---------- */
.qac-audit { max-width: 980px; margin: 0 auto; border-radius: 28px; background: var(--q-bg); border: 1px solid var(--q-bh); padding: clamp(22px, 4vw, 44px); position: relative; overflow: hidden; box-shadow: 0 40px 120px -40px rgba(121,40,202,.45); }
.qac-audit__progress { height: 5px; border-radius: 5px; background: rgba(255,255,255,.06); overflow: hidden; }
.qac-audit__progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #00F5A0, #00D2FF, #3A47D5, #7928CA, #FF00CC); background-size: 300% 100%; animation: tqd-shift 3s linear infinite alternate; transition: width .6s var(--q-ease); box-shadow: 0 0 14px rgba(0,210,255,.6); }
.qac-audit__steps-label { display: flex; justify-content: space-between; margin: 12px 0 30px; font-size: .7rem; color: var(--q-t3); letter-spacing: .08em; }
.qac-audit__steps-label .is-on { color: #fff; }
.qac-audit__step { display: none; }
.qac-audit__step.is-active { display: block; animation: qac-in .5s var(--q-ease); }
.qac-audit__step h3 { font-size: clamp(1.4rem, 2.6vw, 2rem); margin-bottom: 22px; }
.qac-audit__cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.qac-choice { text-align: left; display: grid; gap: 6px; padding: 22px !important; border-radius: 20px !important; color: #fff; cursor: pointer; }
.qac-choice svg { width: 34px; height: 34px; color: var(--q-cyan); margin-bottom: 8px; filter: drop-shadow(0 0 8px rgba(0,210,255,.5)); }
.qac-choice strong { font-family: var(--tqd-font-display, sans-serif); font-size: 1.08rem; }
.qac-choice span { color: var(--q-t2); font-size: .9rem; line-height: 1.5; }
.qac-choice[aria-pressed=true] { border-color: rgba(0,245,160,.6) !important; box-shadow: 0 0 0 1px rgba(0,245,160,.4), 0 0 40px -10px rgba(0,245,160,.5); }
.qac-choice[aria-pressed=true] svg { color: var(--q-mint); }
.qac-audit__url { margin-bottom: 22px; }
.qac-audit__q { font-size: .78rem; color: var(--q-t2); margin: 0 0 10px; font-weight: 500; }
.qac-audit__nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 26px; flex-wrap: wrap; }
.qac-ticket { position: relative; text-align: center; border-radius: 22px; padding: 34px 24px; margin-bottom: 20px; background: radial-gradient(80% 120% at 50% 0%, rgba(0,210,255,.16), transparent 70%), #05060a; border: 1px dashed rgba(0,245,160,.45); }
.qac-ticket small { color: var(--q-mint); letter-spacing: .2em; font-size: .72rem; }
.qac-ticket__id { display: block; font-size: clamp(1.8rem, 5vw, 3rem); letter-spacing: -.02em; margin: 10px 0 14px; background: linear-gradient(90deg, #00F5A0, #00D2FF, #7928CA, #FF00CC); -webkit-background-clip: text; background-clip: text; color: transparent; }
.qac-ticket p { color: #cbd5e1; max-width: 520px; margin: 0 auto 18px; }
.qac-ticket__meta { display: flex; justify-content: center; gap: 22px; font-size: .74rem; color: var(--q-t2); flex-wrap: wrap; }
.qac-ticket__meta em { color: #fbbf24; font-style: normal; }
.qac-audit__done { text-align: center; }

/* ---------- CASE STUDIES ---------- */
.qac-filter { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 34px; }
.qac-cases { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.qac-case { display: flex; flex-direction: column; gap: 14px; transition: opacity .35s, transform .5s var(--q-ease); }
.qac-case.is-hidden { display: none; }
.qac-case__top { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.qac-case__client { font-size: .74rem; color: var(--q-t2); }
.qac-case h3 { font-size: clamp(1.2rem, 1.9vw, 1.5rem); margin: 0; }
.qac-spark { width: 100%; height: 90px; }
.qac-case__shot { margin: 0; border-radius: 14px; overflow: hidden; border: 1px solid var(--q-bh); background: #0b0d16; box-shadow: 0 20px 50px -24px rgba(0,210,255,.35); }
.qac-case__bar { display: flex; align-items: center; gap: 5px; padding: 8px 10px; background: rgba(255,255,255,.04); border-bottom: 1px solid var(--q-b); }
.qac-case__bar i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.16); }
.qac-case__bar em { margin-left: 8px; font-style: normal; font-family: var(--q-mono); font-size: .66rem; color: var(--q-t3); }
.qac-case__shot img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; transition: transform .8s var(--q-ease); }
.qac-case:hover .qac-case__shot img { transform: scale(1.03); }
.qac-modal .qac-case__shot { margin-bottom: 18px; }
.qac-case .qac-spark__line { stroke-dasharray: 1200; stroke-dashoffset: 1200; transition: stroke-dashoffset 2s var(--q-ease); }
.qac-case.is-in .qac-spark__line, .qac-modal .qac-spark__line, .qac-portal .qac-spark__line { stroke-dashoffset: 0; }
.qac-case__kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.qac-case__kpis > div { border-radius: 12px; background: rgba(0,0,0,.45); border: 1px solid var(--q-b); padding: 10px; }
.qac-case__kpis b { display: block; font-size: 1.02rem; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qac-case__kpis small { font-size: .66rem; color: var(--q-t3); text-transform: uppercase; letter-spacing: .06em; }
.qac-case__kpis.is-lg b { font-size: 1.5rem; background: linear-gradient(90deg, #00F5A0, #00D2FF); -webkit-background-clip: text; background-clip: text; color: transparent; }
.qac-case__open { margin-top: auto; align-self: flex-start; background: none; border: 0; padding: 4px 0; color: var(--q-cyan); font-weight: 600; font-size: .92rem; }
.qac-case__open:hover .tqd-arrow { transform: translateX(4px); }
.qac-case__open .tqd-arrow { display: inline-block; transition: transform .3s; }
.qac-empty { text-align: center; padding: 40px; border-radius: 22px; border: 1px dashed var(--q-bh); color: var(--q-t2); }
.qac-modal { width: min(860px, calc(100% - 24px)); max-height: calc(100vh - 40px); border: 1px solid var(--q-bh); border-radius: 26px; background: #05060a; color: #fff; padding: clamp(22px, 4vw, 40px); overflow-y: auto; box-shadow: 0 40px 140px -20px rgba(121,40,202,.6); }
.qac-modal::backdrop { background: rgba(0,0,0,.75); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.qac-modal[open] { animation: qac-in .4s var(--q-ease); }
.qac-modal h3 { font-size: clamp(1.5rem, 3vw, 2.2rem); margin: 14px 0 18px; }
.qac-modal .qac-spark { height: 140px; margin-bottom: 18px; }
.qac-modal__x { position: sticky; top: 0; float: right; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--q-bh); background: rgba(255,255,255,.04); color: #fff; font-size: 1.4rem; line-height: 1; }
.qac-modal__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 24px 0; }
.qac-modal__cols h4 { font-family: var(--q-mono); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--q-cyan); margin-bottom: 8px; }
.qac-modal__cols p, .qac-modal__body { color: #cbd5e1; font-size: .96rem; }
.qac-modal .tqd-btn-row { margin-top: 24px; }

/* ---------- TESTIMONIALS ---------- */
.qac-reviews { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.qac-review { margin: 0; display: flex; flex-direction: column; gap: 14px; }
.qac-review__stars { color: #fbbf24; letter-spacing: 3px; }
.qac-review blockquote { margin: 0; font-size: 1.06rem; line-height: 1.6; color: #e2e8f0; }
.qac-review figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.qac-review figcaption small { display: block; color: var(--q-t2); font-size: .82rem; }
.qac-review__avatar { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; color: #000; background: linear-gradient(135deg, #00F5A0, #00D2FF); flex-shrink: 0; }

/* ---------- SERVICES ---------- */
.qac-services { display: grid; gap: clamp(60px, 9vw, 120px); }
.qac-service { display: grid; grid-template-columns: 1.1fr .9fr; gap: clamp(28px, 5vw, 70px); align-items: start; scroll-margin-top: 110px; }
.qac-service[data-accent=mint] { --a: #00F5A0; } .qac-service[data-accent=cyan] { --a: #00D2FF; } .qac-service[data-accent=violet] { --a: #9b4dff; } .qac-service[data-accent=magenta] { --a: #FF00CC; }
.qac-service__n { color: var(--a); font-size: .74rem; letter-spacing: .16em; }
.qac-service h2 { margin: 14px 0 12px; font-size: clamp(1.8rem, 3.6vw, 2.8rem); }
.qac-service__tag { font-size: 1.15rem; color: #e2e8f0; }
.qac-service__desc { color: var(--q-t2); }
.qac-service__meta { display: flex; gap: 30px; margin-top: 24px; flex-wrap: wrap; }
.qac-service__meta span { font-size: 1.1rem; color: #fff; font-weight: 700; }
.qac-service__meta small { display: block; font-size: .68rem; color: var(--q-t3); text-transform: uppercase; letter-spacing: .1em; font-weight: 500; }
.qac-service__deliv h4 { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 1rem; margin-bottom: 14px; }
.qac-service__deliv h4 small { font-size: .7rem; color: var(--a); font-weight: 600; }
.qac-checks { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 4px; }
.qac-checks label { display: flex; gap: 12px; align-items: flex-start; padding: 9px 10px; border-radius: 10px; cursor: pointer; transition: background-color .2s; font-size: .93rem; color: #cbd5e1; }
.qac-checks label:hover { background: rgba(255,255,255,.03); }
.qac-checks input { appearance: none; -webkit-appearance: none; width: 20px; height: 20px; flex-shrink: 0; margin: 1px 0 0; border-radius: 6px; border: 1px solid var(--q-bh); background: rgba(0,0,0,.5); display: grid; place-items: center; cursor: pointer; transition: background-color .2s, border-color .2s; }
.qac-checks input:checked { background: var(--a); border-color: var(--a); box-shadow: 0 0 12px var(--a); }
.qac-checks input:checked::after { content: ""; width: 10px; height: 6px; border-left: 2px solid #000; border-bottom: 2px solid #000; transform: rotate(-45deg) translate(1px, -1px); }
.qac-checks input:not(:checked) + span { color: var(--q-t3); text-decoration: line-through; }

/* ---------- PORTAL ---------- */
.qac-portal-login { max-width: 520px; margin: 0 auto; text-align: center; }
.qac-portal-login__head h3 { font-size: 1.6rem; margin: 18px 0 8px; }
.qac-portal-login__head p { color: var(--q-t2); margin-bottom: 24px; }
.qac-portal-demo { width: 100%; }
.qac-or { display: flex; align-items: center; gap: 12px; margin: 22px 0; color: var(--q-t3); font-size: .78rem; font-family: var(--q-mono); text-transform: uppercase; letter-spacing: .1em; }
.qac-or::before, .qac-or::after { content: ""; flex: 1; height: 1px; background: var(--q-b); }
.qac-portal-form { display: grid; gap: 12px; text-align: left; }
.qac-portal-lost { font-size: .82rem; color: var(--q-t2); text-align: center; }
.qac-portal { border-radius: 28px; background: #05060a; border: 1px solid var(--q-bh); padding: clamp(16px, 3vw, 30px); display: grid; gap: 18px; box-shadow: 0 40px 140px -40px rgba(0,210,255,.35); }
.qac-portal__demo-bar { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-family: var(--q-mono); font-size: .72rem; padding: 10px 14px; border-radius: 12px; background: rgba(251,191,36,.1); color: #fbbf24; border: 1px solid rgba(251,191,36,.3); }
.qac-portal__demo-bar a { color: #fff; text-decoration: underline; }
.qac-portal__head { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.qac-portal__head small { color: var(--q-t3); font-size: .68rem; letter-spacing: .14em; }
.qac-portal__head h3 { margin: 4px 0 0; font-size: clamp(1.3rem, 2.4vw, 1.8rem); }
.qac-portal__sprint { display: grid; gap: 6px; min-width: 260px; font-size: .8rem; }
.qac-portal__sprint small { color: var(--q-t3); }
.qac-portal__bar { height: 6px; border-radius: 6px; background: rgba(255,255,255,.06); overflow: hidden; }
.qac-portal__bar i { display: block; height: 100%; background: linear-gradient(90deg, #00F5A0, #00D2FF, #7928CA); border-radius: inherit; }
.qac-live { display: inline-flex; align-items: center; gap: 7px; font-family: var(--q-mono); font-size: .72rem; color: var(--q-mint); text-transform: uppercase; letter-spacing: .08em; }
.qac-live i { width: 7px; height: 7px; border-radius: 50%; background: var(--q-mint); box-shadow: 0 0 10px var(--q-mint); animation: tqd-pulse 1.8s infinite; }
.qac-portal__telemetry { display: grid; grid-template-columns: 1fr 1.2fr; gap: 14px; }
.qac-portal__kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qac-portal__kpi { border-radius: 16px; background: var(--q-bg); border: 1px solid var(--q-b); padding: 16px; }
.qac-portal__kpi small { display: block; font-size: .68rem; color: var(--q-t2); text-transform: uppercase; letter-spacing: .07em; font-family: var(--q-mono); }
.qac-portal__kpi b { display: block; font-size: clamp(1.25rem, 2.2vw, 1.7rem); margin: 6px 0 2px; letter-spacing: -.02em; }
.qac-portal__kpi em { font-style: normal; color: var(--q-mint); font-size: .76rem; font-family: var(--q-mono); }
.qac-portal__chart { border-radius: 16px; background: var(--q-bg); border: 1px solid var(--q-b); padding: 16px; display: flex; flex-direction: column; }
.qac-portal__chart-head { display: flex; justify-content: space-between; gap: 10px; font-size: .78rem; color: var(--q-t2); margin-bottom: 8px; flex-wrap: wrap; }
.qac-portal__chart .qac-spark { flex: 1; height: auto; min-height: 150px; }
.qac-portal__section { border-radius: 18px; background: var(--q-bg); border: 1px solid var(--q-b); padding: 18px; }
.qac-portal__section h4 { font-size: 1rem; margin: 0 0 14px; }
.qac-kanban { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.qac-kanban__col { border-radius: 14px; background: rgba(0,0,0,.45); padding: 10px; display: grid; gap: 8px; align-content: start; }
.qac-kanban__head { display: flex; justify-content: space-between; align-items: center; font-size: .74rem; font-family: var(--q-mono); text-transform: uppercase; letter-spacing: .08em; padding: 4px 6px 8px; }
.qac-kanban__head b { font-size: .7rem; padding: 2px 8px; border-radius: 99px; background: rgba(255,255,255,.07); }
.qac-kanban__col.is-done .qac-kanban__head span { color: var(--q-mint); }
.qac-kanban__col.is-active .qac-kanban__head span { color: var(--q-cyan); }
.qac-kanban__col.is-queued .qac-kanban__head span { color: #c084fc; }
.qac-kanban__card { border-radius: 12px; background: var(--q-el); border: 1px solid var(--q-b); padding: 12px; display: grid; gap: 4px; }
.qac-kanban__card small { font-size: .62rem; color: var(--q-t3); text-transform: uppercase; letter-spacing: .08em; }
.qac-kanban__card strong { font-size: .88rem; line-height: 1.35; }
.qac-kanban__card span { font-size: .76rem; color: var(--q-t2); }
.qac-kanban__col.is-active .qac-kanban__card { border-color: rgba(0,210,255,.3); box-shadow: 0 0 24px -12px rgba(0,210,255,.7); }
.qac-portal__vault-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.qac-portal__vault-head h4 { margin: 0; }
.qac-vault-filter .qac-pill { padding: 6px 12px; font-size: .76rem; }
.qac-vault { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.qac-vault__item { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 14px; background: rgba(0,0,0,.45); border: 1px solid var(--q-b); transition: border-color .25s; }
.qac-vault__item:hover { border-color: var(--q-bh); }
.qac-vault__item.is-hidden { display: none; }
.qac-vault__item > div { min-width: 0; flex: 1; }
.qac-vault__item strong { display: block; font-size: .88rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.qac-vault__item small { color: var(--q-t3); font-size: .74rem; }
.qac-vault__icon { width: 42px; height: 42px; border-radius: 10px; display: grid; place-items: center; flex-shrink: 0; font-family: var(--q-mono); font-size: .64rem; font-weight: 700; color: #000; }
.qac-vault__icon.is-report { background: linear-gradient(135deg, #00F5A0, #00D2FF); }
.qac-vault__icon.is-design { background: linear-gradient(135deg, #00D2FF, #3A47D5); color: #fff; }
.qac-vault__icon.is-video { background: linear-gradient(135deg, #7928CA, #FF00CC); color: #fff; }
.qac-vault__icon.is-invoice { background: #e2e8f0; }
.qac-vault__btn { border: 1px solid var(--q-bh); background: rgba(255,255,255,.04); color: #fff; padding: 7px 12px; border-radius: 999px; font-size: .76rem; flex-shrink: 0; }
.qac-vault__btn:hover { border-color: var(--q-cyan); }
.qac-desk__form .qac-form__row { grid-template-columns: 2fr 1fr; }
.qac-desk__form textarea { margin-bottom: 12px; resize: vertical; }
.qac-desk__list { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 8px; }
.qac-desk__list li { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 10px; background: rgba(0,245,160,.06); border: 1px solid rgba(0,245,160,.2); font-size: .84rem; animation: qac-in .4s var(--q-ease); }
.qac-desk__list li span { font-family: var(--q-mono); color: var(--q-mint); font-size: .74rem; white-space: nowrap; }
.qac-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%) translateY(20px); opacity: 0; z-index: 1000; padding: 12px 18px; border-radius: 12px; background: #111422; border: 1px solid var(--q-bh, rgba(255,255,255,.16)); color: #fff; font-size: .88rem; transition: opacity .3s, transform .3s; pointer-events: none; max-width: calc(100% - 32px); }
.qac-toast.is-on { opacity: 1; transform: translateX(-50%) translateY(0); }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1024px) {
  .qac-sim, .qac-roi, .qac-portal__telemetry { grid-template-columns: 1fr; }
  .qac-service { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .qac-form__row, .qac-desk__form .qac-form__row { grid-template-columns: 1fr; }
  .qac-sim__grid { grid-template-columns: 1fr; }
  .qac-sim__headline { grid-template-columns: 1fr 1fr 1fr; }
  .qac-sim__headline b { font-size: 1.1rem; }
  .qac-sim__panel { padding: 16px; border-radius: 20px; }
  .qac-sim__empty { min-height: 220px; }
  .qac-cases, .qac-reviews, .qac-audit__cards, .qac-vault, .qac-kanban, .qac-modal__cols { grid-template-columns: 1fr; }
  .qac-case__kpis { grid-template-columns: 1fr 1fr; }
  .qac-roi__cards { grid-template-columns: 1fr 1fr; }
  .qac-kpi { padding: 14px; }
  .qac-kpi b { font-size: 1.2rem; }
  .qac-seg { grid-template-columns: 1fr; }
  .qac-ba__after { min-height: 0; }
  .qac-ba__hero { grid-template-columns: 1fr; }
  .qac-ba__video { grid-column: 1; grid-row: auto; aspect-ratio: 16 / 7; }
  .qac-ba__metrics { grid-template-columns: 1fr 1fr; }
  .qac-ba__label.is-after { margin-bottom: 10px; }
  .qac-ba__knob { width: 46px; height: 46px; }
  .qac-portal__kpis { grid-template-columns: 1fr 1fr; }
  .qac-portal__sprint { min-width: 0; width: 100%; }
  .qac-audit { border-radius: 22px; }
}
@media (max-width: 420px) {
  .qac-sim__headline { grid-template-columns: 1fr; }
  .qac-portal__kpis, .qac-roi__cards { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .qac-case .qac-spark__line { stroke-dashoffset: 0; }
  .qac-orbit span { animation: none; }
}

/* ---------- case study story blocks ---------- */
.qac-story__sum { font-size: 1.05rem; color: #e2e8f0; }
.qac-compare { margin: 22px 0; border-radius: 16px; background: rgba(0,0,0,.4); border: 1px solid var(--q-b, rgba(255,255,255,.07)); padding: 16px; }
.qac-compare h4 { font-family: var(--q-mono, monospace); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--q-cyan, #00D2FF); margin: 0 0 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.qac-compare__row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 6px; }
.qac-compare__row span { padding: 8px 12px; border-radius: 8px; font-size: .86rem; }
.qac-compare__row span:first-child { background: rgba(239,68,68,.1); border: 1px solid rgba(239,68,68,.22); color: #fca5a5; }
.qac-compare__row span:last-child { background: rgba(0,245,160,.08); border: 1px solid rgba(0,245,160,.28); color: #6ee7b7; font-weight: 600; }
.qac-story__quote { margin: 22px 0 0; padding: 20px 22px; border-radius: 16px; background: linear-gradient(135deg, rgba(0,210,255,.08), rgba(121,40,202,.1)); border: 1px solid rgba(255,255,255,.1); }
.qac-story__quote p { font-size: 1.05rem; color: #fff; margin: 0 0 10px; font-style: italic; }
.qac-story__quote cite { font-style: normal; font-size: .85rem; color: var(--q-t2, #94A3B8); }
.qac-story__time { margin-top: 14px; font-family: var(--q-mono, monospace); font-size: .78rem; color: var(--q-t3, #64748B); }
.qac-case__sum { color: var(--q-t2, #94A3B8); font-size: .94rem; margin: 0; }
@media (max-width: 560px) { .qac-compare__row, .qac-compare h4 { grid-template-columns: 1fr; } }
