        
        .qrl-icon {
            display: inline-block;
            width: 1em;
            height: 1em;
            vertical-align: -0.125em;
            fill: currentColor;
            flex-shrink: 0;
        }

        .qrl-icon--lg {
            width: 3rem;
            height: 3rem;
        }

        :root {
            --quantum-blue: #00f3ff;
            --blueshift-core: #38bdf8;
            --blueshift-deep: #1d4ed8;
            --purpleshift-core: #a855f7;
            --purpleshift-deep: #7c3aed;
            --redshift-core: #00f3ff;
            --redshift-mid: #ff6b4a;
            --redshift-edge: #dc2626;
        }
        
        body {
            font-family: 'Inter', system_ui, sans-serif;
        }
        
        .logo-font {
            font-family: 'Space Grotesk', sans-serif;
        }

        .hero-bg {
            background: radial-gradient(circle at 50% 30%, rgba(0, 243, 255, 0.15) 0%, transparent 50%);
        }

        .entanglement-cluster {
            position: absolute;
            width: 110px;
            height: 110px;
            pointer-events: none;
        }

        .entanglement-spark-track {
            position: absolute;
            top: 50%;
            left: 50%;
            width: var(--beam-len, 72px);
            height: 0;
            transform-origin: left center;
            pointer-events: none;
        }

        .entanglement-spark {
            position: absolute;
            left: 0;
            top: -2px;
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: #fff;
            box-shadow: 0 0 8px #a855f7, 0 0 12px #ff6b4a;
            animation: sparkTravel 2.8s ease-in-out infinite;
            animation-delay: var(--ent-delay, 0s);
        }

        @keyframes sparkTravel {
            0%, 100% { left: 0; opacity: 0; transform: scale(0.5); }
            12% { opacity: 0.9; }
            50% { left: calc(100% - 4px); opacity: 1; transform: scale(1); }
            88% { opacity: 0; }
        }

        .floating-entangle-pair {
            position: absolute;
            width: 0;
            height: 0;
            pointer-events: none;
        }

        .floating-entangle-beam {
            position: absolute;
            height: 1px;
            background: linear-gradient(90deg, #1d4ed8, #38bdf8, #a855f7, #ff6b4a);
            opacity: 0.5;
            transform-origin: left center;
            animation: entanglementPulse 3.2s ease-in-out infinite;
        }

        .redshift-trail {
            position: absolute;
            width: 26px;
            height: 2px;
            border-radius: 2px;
            background: linear-gradient(
                90deg,
                rgba(0, 243, 255, 0.85) 0%,
                rgba(255, 107, 74, 0.8) 55%,
                rgba(220, 38, 38, 0.25) 100%
            );
            transform: rotate(var(--trail-angle, 0deg));
            transform-origin: right center;
            opacity: 0;
            box-shadow: 0 0 8px rgba(255, 107, 74, 0.3);
            animation: redshiftTrail 7s ease-in-out infinite;
            animation-delay: var(--trail-delay, 0s);
            pointer-events: none;
        }

        @keyframes redshiftTrail {
            0%, 100% {
                opacity: 0;
                transform: rotate(var(--trail-angle, 0deg)) scaleX(0.35);
            }
            35%, 65% {
                opacity: 0.7;
                transform: rotate(var(--trail-angle, 0deg)) scaleX(1);
            }
        }

        .entanglement-beam {
            position: absolute;
            top: 50%;
            left: 50%;
            width: var(--beam-len, 90px);
            height: 2px;
            margin-top: -1px;
            transform-origin: left center;
            transform: rotate(var(--beam-angle, 0deg));
            background: linear-gradient(
                90deg,
                var(--blueshift-deep) 0%,
                var(--blueshift-core) 22%,
                var(--purpleshift-core) 50%,
                var(--purpleshift-deep) 68%,
                var(--redshift-mid) 100%
            );
            box-shadow:
                0 0 12px rgba(56, 189, 248, 0.45),
                0 0 18px rgba(168, 85, 247, 0.4),
                0 0 22px rgba(255, 107, 74, 0.3);
            animation: entanglementPulse 2.8s ease-in-out infinite;
            animation-delay: var(--ent-delay, 0s);
        }

        .entanglement-beam::after {
            content: '';
            position: absolute;
            inset: -3px 0;
            background: inherit;
            filter: blur(6px);
            opacity: 0.5;
            animation: entanglementPhase 2.8s ease-in-out infinite;
            animation-delay: var(--ent-delay, 0s);
        }

        @keyframes entanglementPulse {
            0%, 100% {
                opacity: 0.35;
                transform: rotate(var(--beam-angle, 0deg)) scaleX(0.85);
            }
            50% {
                opacity: 1;
                transform: rotate(var(--beam-angle, 0deg)) scaleX(1.08);
            }
        }

        @keyframes entanglementPhase {
            0%, 100% { opacity: 0.25; }
            25% { opacity: 0.9; }
            75% { opacity: 0.15; }
        }

        .entanglement-qubit {
            position: absolute;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            margin: -5px 0 0 -5px;
            box-shadow: 0 0 14px currentColor, 0 0 28px currentColor;
        }

        .entanglement-qubit--a {
            top: 50%;
            left: 50%;
            color: var(--blueshift-core);
            background: var(--blueshift-core);
            animation: qubitSpinA 2.8s ease-in-out infinite;
            animation-delay: var(--ent-delay, 0s);
        }

        .entanglement-qubit--b {
            top: 50%;
            left: calc(50% + var(--beam-len, 90px));
            color: var(--redshift-mid);
            background: var(--redshift-mid);
            animation: qubitSpinB 2.8s ease-in-out infinite;
            animation-delay: var(--ent-delay, 0s);
        }

        .entanglement-qubit--purple {
            top: 50%;
            left: calc(50% + var(--beam-len, 90px) * 0.5);
            color: var(--purpleshift-core);
            background: var(--purpleshift-core);
            width: 7px;
            height: 7px;
            margin: -3.5px 0 0 -3.5px;
            animation: qubitPurpleBridge 2.8s ease-in-out infinite;
            animation-delay: var(--ent-delay, 0s);
        }

        @keyframes qubitPurpleBridge {
            0%, 100% { transform: scale(0.6); opacity: 0.35; }
            50% { transform: scale(1.35); opacity: 1; }
        }

        @keyframes qubitSpinA {
            0%, 100% { transform: translate(0, 0) scale(1); }
            25% { transform: translate(6px, -8px) scale(1.25); }
            50% { transform: translate(0, 0) scale(0.75); }
            75% { transform: translate(-6px, 8px) scale(1.25); }
        }

        @keyframes qubitSpinB {
            0%, 100% { transform: translate(0, 0) scale(1); }
            25% { transform: translate(-6px, 8px) scale(0.75); }
            50% { transform: translate(0, 0) scale(1.25); }
            75% { transform: translate(6px, -8px) scale(0.75); }
        }

        .entanglement-correlation {
            position: absolute;
            inset: -20%;
            border: 1px dashed rgba(168, 85, 247, 0.25);
            border-radius: 50%;
            animation: correlationRing 5.6s linear infinite;
            animation-delay: var(--ent-delay, 0s);
        }

        @keyframes correlationRing {
            from { transform: rotate(0deg) scale(0.9); opacity: 0.15; }
            50% { opacity: 0.45; }
            to { transform: rotate(360deg) scale(1.1); opacity: 0.15; }
        }

        .quantum-particle--entangled {
            animation: entangledFloat 6s infinite ease-in-out;
        }

        .quantum-particle--entangled-b {
            animation: entangledFloatMirror 6s infinite ease-in-out;
        }

        @keyframes entangledFloat {
            0%, 100% { transform: translate(0, 0) scale(1); }
            50% { transform: translate(16px, -20px) scale(1.1); }
        }

        @keyframes entangledFloatMirror {
            0%, 100% { transform: translate(0, 0) scale(1); }
            50% { transform: translate(-16px, 20px) scale(0.88); }
        }

        .quantum-particle--blueshift {
            animation: quantumBlueshiftFloat 9s infinite ease-in-out;
        }

        @keyframes quantumBlueshiftFloat {
            0%, 100% {
                transform: translate(0, 0) scale(1);
                background: var(--quantum-blue);
                box-shadow: 0 0 15px #00f3ff, 0 0 30px #00f3ff;
            }
            50% {
                transform: translate(-36px, 24px) scale(1.2);
                background: var(--blueshift-deep);
                box-shadow: 0 0 20px #38bdf8, 0 0 40px #1d4ed8;
            }
        }

        .quantum-particle--purpleshift {
            animation: quantumPurpleshiftFloat 8s infinite ease-in-out;
        }

        @keyframes quantumPurpleshiftFloat {
            0%, 100% {
                transform: translate(0, 0) scale(1);
                background: var(--purpleshift-core);
                box-shadow: 0 0 16px #a855f7, 0 0 32px #7c3aed;
            }
            33% {
                transform: translate(18px, -28px) scale(1.15);
                background: #c084fc;
            }
            66% {
                transform: translate(-14px, 16px) scale(0.9);
                background: var(--purpleshift-deep);
            }
        }

        .quantum-particle--redshift {
            animation: quantumRedshiftFloat 10s infinite ease-in-out;
        }

        @keyframes quantumRedshiftFloat {
            0%, 100% {
                transform: translate(0, 0) scale(1);
                background: var(--quantum-blue);
                box-shadow: 0 0 10px #00f3ff;
            }
            50% {
                transform: translate(28px, -14px) scale(0.75);
                background: var(--redshift-mid);
                box-shadow: 0 0 12px #ff6b4a, 0 0 20px #dc2626;
            }
        }

        .probability-cloud--blueshift {
            animation: cloudBlueshift 11s ease-in-out infinite;
        }

        @keyframes cloudBlueshift {
            0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.45; filter: hue-rotate(0deg); }
            50% { transform: translate(-30px, 22px) scale(1.15); opacity: 0.75; filter: hue-rotate(-25deg); }
        }

        .probability-cloud--purpleshift {
            animation: cloudPurpleshift 9s ease-in-out infinite;
        }

        @keyframes cloudPurpleshift {
            0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.5; }
            50% { transform: translate(22px, -18px) scale(1.25); opacity: 0.85; }
        }

        .probability-cloud--redshift {
            animation: cloudRedshift 12s ease-in-out infinite;
        }

        @keyframes cloudRedshift {
            0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.4; filter: hue-rotate(0deg); }
            50% { transform: translate(28px, -14px) scale(0.9); opacity: 0.7; filter: hue-rotate(28deg); }
        }

        .glass {
            background: rgba(15, 23, 42, 0.7);
            backdrop-filter: blur(20px);
        }

        .neon-text {
            text-shadow: 0 0 10px #00f3ff,
                        0 0 20px #00f3ff,
                        0 0 40px #00f3ff;
        }

        .quantum-particle {
            position: absolute;
            border-radius: 50%;
            background: var(--quantum-blue);
            box-shadow: 0 0 15px #00f3ff,
                       0 0 30px #00f3ff;
            animation: quantumFloat 8s infinite ease-in-out;
        }

        @keyframes quantumFloat {
            0%, 100% { transform: translate(0, 0) scale(1); }
            50% { transform: translate(30px, -40px) scale(0.6); }
        }

        .section-header {
            position: relative;
        }
        
        .section-header::after {
            content: '';
            position: absolute;
            bottom: -8px;
            left: 0;
            width: 60px;
            height: 2px;
            background: linear-gradient(to right, #00f3ff, #a855f7);
        }

        canvas {
            position: absolute;
            top: 0;
            left: 0;
            z-index: 1;
            opacity: 0.6;
        }

        .focus-card {
            transition: all 0.4s cubic-bezier(0.23, 1, 0.32, 1);
        }
        
        .focus-card:hover {
            transform: translateY(-4px);
            border-color: rgba(103, 232, 249, 0.4);
        }

        /* ── Header quantum animations ── */
        .quantum-field {
            position: absolute;
            inset: 0;
            pointer-events: none;
            overflow: hidden;
            z-index: 2;
        }

        .quantum-orbit {
            position: absolute;
            border: 1px solid rgba(0, 243, 255, 0.25);
            border-radius: 50%;
            animation: orbitSpin var(--orbit-dur, 12s) linear infinite;
        }

        .quantum-orbit::before,
        .quantum-orbit::after {
            content: '';
            position: absolute;
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background: var(--quantum-blue);
            box-shadow: 0 0 12px #00f3ff, 0 0 24px #a855f7;
            top: 50%;
            left: 50%;
            margin: -3px 0 0 -3px;
        }

        .quantum-orbit::before {
            transform: rotate(0deg) translateX(var(--orbit-r, 80px));
            animation: electronOrbit var(--orbit-dur, 12s) linear infinite;
        }

        .quantum-orbit::after {
            transform: rotate(180deg) translateX(var(--orbit-r, 80px));
            animation: electronOrbit var(--orbit-dur, 12s) linear infinite reverse;
            background: #a855f7;
            box-shadow: 0 0 12px #a855f7, 0 0 24px #00f3ff;
        }

        @keyframes orbitSpin {
            from { transform: rotate(0deg) scale(1); }
            50% { transform: rotate(180deg) scale(1.05); }
            to { transform: rotate(360deg) scale(1); }
        }

        @keyframes electronOrbit {
            from { transform: rotate(0deg) translateX(var(--orbit-r, 80px)); }
            to { transform: rotate(360deg) translateX(var(--orbit-r, 80px)); }
        }

        .quantum-wave-layer {
            position: absolute;
            inset: 0;
            opacity: 0.35;
            mix-blend-mode: screen;
        }

        .quantum-wave-path {
            fill: none;
            stroke: url(#waveGradient);
            stroke-width: 1.5;
            animation: wavePulse 4s ease-in-out infinite;
        }

        .quantum-wave-path--blueshift {
            stroke: url(#blueshiftGradient);
            animation: waveBlueshift 6s ease-in-out infinite;
        }

        @keyframes waveBlueshift {
            0%, 100% { stroke-opacity: 0.3; transform: translateX(0); }
            50% { stroke-opacity: 0.8; transform: translateX(-10px); }
        }

        .quantum-wave-path--purpleshift {
            stroke: url(#purpleshiftGradient);
            animation: wavePurpleshift 5.5s ease-in-out infinite;
        }

        @keyframes wavePurpleshift {
            0%, 100% { stroke-opacity: 0.35; transform: translateY(0); }
            50% { stroke-opacity: 0.85; transform: translateY(-6px); }
        }

        .quantum-wave-path--redshift {
            stroke: url(#redshiftGradient);
            animation: waveRedshift 7s ease-in-out infinite;
        }

        @keyframes waveRedshift {
            0%, 100% { stroke-opacity: 0.25; transform: translateX(0); }
            50% { stroke-opacity: 0.75; transform: translateX(12px); }
        }

        .quantum-wave-path--cyan {
            stroke: url(#waveGradient);
            stroke-width: 1.2;
            animation: waveCyan 5.5s ease-in-out infinite;
            animation-delay: -0.8s;
        }

        @keyframes waveCyan {
            0%, 100% { stroke-opacity: 0.2; transform: translateY(0); }
            50% { stroke-opacity: 0.65; transform: translateY(-5px); }
        }

        .quantum-wave-path--mixed {
            stroke: url(#purpleshiftGradient);
            stroke-width: 1.3;
            animation: waveMixed 6.5s ease-in-out infinite;
            animation-delay: -2.1s;
        }

        @keyframes waveMixed {
            0%, 100% { stroke-opacity: 0.22; transform: translateX(0) translateY(0); }
            33% { stroke-opacity: 0.55; transform: translateX(-8px) translateY(4px); }
            66% { stroke-opacity: 0.45; transform: translateX(6px) translateY(-3px); }
        }

        .quantum-wave-path--soft {
            stroke: url(#blueshiftGradient);
            stroke-width: 1;
            opacity: 0.55;
            animation: waveSoft 8s ease-in-out infinite;
            animation-delay: -4s;
        }

        @keyframes waveSoft {
            0%, 100% { stroke-opacity: 0.15; transform: translateY(0); }
            50% { stroke-opacity: 0.5; transform: translateY(6px); }
        }

        .quantum-wavelets {
            pointer-events: none;
        }

        .quantum-wavelet-wrap {
            transform-box: fill-box;
            transform-origin: center;
            animation: waveletOscillate var(--wl-dur, 4s) ease-in-out infinite;
            animation-delay: var(--wl-delay, 0s);
        }

        .quantum-wavelet {
            fill: none;
            stroke-width: 1.4;
            stroke-linecap: round;
            stroke-linejoin: round;
        }

        .quantum-wavelet--blue {
            stroke: #38bdf8;
            filter: drop-shadow(0 0 4px rgba(56, 189, 248, 0.55));
        }

        .quantum-wavelet--purple {
            stroke: #a855f7;
            filter: drop-shadow(0 0 4px rgba(168, 85, 247, 0.5));
        }

        .quantum-wavelet--red {
            stroke: #ff6b4a;
            filter: drop-shadow(0 0 4px rgba(255, 107, 74, 0.45));
        }

        .quantum-wavelet--cyan {
            stroke: #00f3ff;
            filter: drop-shadow(0 0 4px rgba(0, 243, 255, 0.5));
        }

        .quantum-wavelet--mixed {
            stroke: url(#waveGradient);
            filter: drop-shadow(0 0 5px rgba(103, 232, 249, 0.4));
        }

        @keyframes waveletOscillate {
            0%, 100% {
                opacity: 0.3;
                transform: translateY(0) scaleX(0.92);
            }
            50% {
                opacity: 0.9;
                transform: translateY(-7px) scaleX(1.08);
            }
        }

        .quantum-wave-path:nth-child(2) { animation-delay: -1.3s; opacity: 0.7; }
        .quantum-wave-path:nth-child(3) { animation-delay: -2.6s; opacity: 0.5; }

        @keyframes wavePulse {
            0%, 100% { stroke-opacity: 0.3; transform: translateY(0); }
            50% { stroke-opacity: 0.9; transform: translateY(-8px); }
        }

        .probability-cloud {
            position: absolute;
            border-radius: 50%;
            filter: blur(40px);
            animation: cloudDrift 10s ease-in-out infinite;
        }

        @keyframes cloudDrift {
            0%, 100% { transform: translate(0, 0) scale(1); opacity: 0.4; }
            33% { transform: translate(40px, -30px) scale(1.2); opacity: 0.7; }
            66% { transform: translate(-20px, 20px) scale(0.85); opacity: 0.5; }
        }

        .superposition-title {
            animation: superpositionGlow 3s ease-in-out infinite;
        }

        @keyframes superpositionGlow {
            0%, 100% {
                text-shadow: 0 0 10px #00f3ff, 0 0 20px #00f3ff, 0 0 40px #00f3ff;
                filter: hue-rotate(0deg);
            }
            20% {
                text-shadow: 0 0 16px #38bdf8, 0 0 32px #1d4ed8, 0 0 48px #00f3ff;
                filter: hue-rotate(-18deg);
            }
            40% {
                text-shadow: 0 0 15px #a855f7, 0 0 30px #7c3aed, 0 0 50px #00f3ff;
                filter: hue-rotate(15deg);
            }
            60% {
                text-shadow: 0 0 14px #ff6b4a, 0 0 28px #dc2626, 0 0 42px #a855f7;
                filter: hue-rotate(28deg);
            }
            80% {
                text-shadow: 0 0 12px #67e8f9, 0 0 25px #a855f7, 0 0 45px #67e8f9;
                filter: hue-rotate(-10deg);
            }
        }

        .bloch-sphere {
            position: absolute;
            width: 120px;
            height: 120px;
            right: 8%;
            top: 22%;
            opacity: 0.5;
            animation: blochFloat 6s ease-in-out infinite;
        }

        @keyframes blochFloat {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-15px) rotate(8deg); }
        }

        .bloch-ring {
            fill: none;
            stroke: rgba(0, 243, 255, 0.4);
            stroke-width: 1;
            transform-origin: 60px 60px;
            animation: blochSpin 8s linear infinite;
        }

        .bloch-ring:nth-child(2) { animation-duration: 12s; animation-direction: reverse; stroke: rgba(168, 85, 247, 0.4); }
        .bloch-ring:nth-child(3) { animation-duration: 6s; stroke: rgba(103, 232, 249, 0.3); }

        @keyframes blochSpin {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

        .bloch-vector {
            stroke: #00f3ff;
            stroke-width: 2;
            stroke-linecap: round;
            filter: drop-shadow(0 0 6px #00f3ff);
            transform-origin: 60px 60px;
            animation: vectorPrecess 5s ease-in-out infinite;
        }

        @keyframes vectorPrecess {
            0%, 100% { transform: rotate(-30deg); }
            50% { transform: rotate(30deg); }
        }

        .quantum-grid {
            position: absolute;
            inset: 0;
            background-image:
                linear-gradient(rgba(0, 243, 255, 0.03) 1px, transparent 1px),
                linear-gradient(90deg, rgba(0, 243, 255, 0.03) 1px, transparent 1px);
            background-size: 60px 60px;
            animation: gridPulse 4s ease-in-out infinite;
            mask-image: radial-gradient(ellipse 80% 60% at 50% 40%, black 20%, transparent 70%);
        }

        @keyframes gridPulse {
            0%, 100% { opacity: 0.4; }
            50% { opacity: 0.8; }
        }

        .tunnel-flash {
            position: absolute;
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: #fff;
            box-shadow: 0 0 20px #00f3ff, 0 0 40px #a855f7;
            animation: tunnelFlash 2s ease-out infinite;
            opacity: 0;
        }

        @keyframes tunnelFlash {
            0% { opacity: 0; transform: scale(0); }
            5% { opacity: 1; transform: scale(1); }
            15% { opacity: 0; transform: scale(3); }
            100% { opacity: 0; transform: scale(0); }
        }

        /* ── Footer astronaut cowboy gunslinger ── */
        .footer-cowboy-scene {
            position: relative;
            width: 100%;
            max-width: 340px;
            height: 210px;
            margin: 0 auto 2rem;
        }

        .astronaut-cowboy {
            width: 100%;
            height: 100%;
            overflow: visible;
        }

        .cowboy-hat {
            transform-origin: 100px 44px;
            animation: hatTip 4s ease-in-out infinite;
        }

        @keyframes hatTip {
            0%, 70%, 100% { transform: rotate(2deg); }
            75% { transform: rotate(-6deg) translateY(-2px); }
            85% { transform: rotate(5deg); }
        }

        .astronaut-body {
            animation: bodySway 4s ease-in-out infinite;
            transform-origin: 100px 130px;
        }

        @keyframes bodySway {
            0%, 100% { transform: rotate(0deg) scale(1); }
            50% { transform: rotate(-1deg) scale(1.02); }
        }

        .visor-glare {
            animation: visorPulse 4s ease-in-out infinite;
        }

        @keyframes visorPulse {
            0%, 100% { opacity: 0.85; }
            50% { opacity: 1; }
        }

        .gun-left, .gun-right {
            transform-origin: center;
        }

        .gun-left {
            animation: drawLeft 4s ease-in-out infinite;
            transform-origin: 55px 115px;
        }

        .gun-right {
            animation: drawRight 4s ease-in-out infinite;
            transform-origin: 145px 115px;
        }

        @keyframes drawLeft {
            0%, 12%, 88%, 100% { transform: rotate(95deg) translateY(22px); opacity: 0.7; }
            22% { transform: rotate(-50deg) translate(-14px, -34px); opacity: 1; }
            32%, 58% { transform: rotate(-68deg) translate(-20px, -50px); opacity: 1; }
            68% { transform: rotate(-35deg) translate(-8px, -28px); opacity: 1; }
            78% { transform: rotate(95deg) translateY(22px); opacity: 0.7; }
        }

        @keyframes drawRight {
            0%, 12%, 88%, 100% { transform: rotate(-95deg) translateY(22px); opacity: 0.7; }
            22% { transform: rotate(50deg) translate(14px, -34px); opacity: 1; }
            32%, 58% { transform: rotate(68deg) translate(20px, -50px); opacity: 1; }
            68% { transform: rotate(35deg) translate(8px, -28px); opacity: 1; }
            78% { transform: rotate(-95deg) translateY(22px); opacity: 0.7; }
        }

        .muzzle-flash-left, .muzzle-flash-right {
            opacity: 0;
            animation: muzzleFlash 4s ease-out infinite;
        }

        .muzzle-flash-right { animation-delay: 0.05s; }

        @keyframes muzzleFlash {
            0%, 38%, 100% { opacity: 0; transform: scale(0.5); }
            40% { opacity: 1; transform: scale(1.2); }
            42% { opacity: 0.8; transform: scale(1.5); }
            45% { opacity: 0; transform: scale(2); }
        }

        .dust-puff {
            opacity: 0;
            animation: dustPuff 4s ease-out infinite;
        }

        @keyframes dustPuff {
            0%, 43%, 100% { opacity: 0; transform: scale(0.3) translateY(0); }
            44% { opacity: 0.7; transform: scale(1) translateY(-5px); }
            55% { opacity: 0; transform: scale(1.5) translateY(-15px); }
        }

        .star-twinkle {
            animation: starTwinkle 2s ease-in-out infinite;
        }

        @keyframes starTwinkle {
            0%, 100% { opacity: 0.3; }
            50% { opacity: 1; }
        }

        .cowboy-caption {
            text-align: center;
            font-family: 'Space Grotesk', sans-serif;
            font-size: 10px;
            letter-spacing: 3px;
            color: rgba(0, 243, 255, 0.5);
            margin-top: -0.5rem;
            margin-bottom: 1.5rem;
        }

        .announcement-card {
            box-shadow: 0 0 40px rgba(52, 211, 153, 0.06);
        }

        .announcement-card:focus-within {
            border-color: rgba(52, 211, 153, 0.45);
        }

        .news-carousel {
            position: relative;
        }

        .news-carousel__viewport {
            overflow: hidden;
            border-radius: 1.5rem;
        }

        .news-carousel__track {
            display: flex;
            transition: transform 0.6s cubic-bezier(0.23, 1, 0.32, 1);
        }

        .news-carousel__slide {
            flex: 0 0 100%;
            min-width: 100%;
            padding: 0.125rem;
        }

        .news-carousel__card {
            position: relative;
            display: flex;
            flex-direction: column;
            gap: 1.25rem;
            min-height: 18rem;
            padding: 2rem;
            border-radius: 1.5rem;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background: linear-gradient(135deg, rgba(24, 24, 27, 0.92), rgba(9, 9, 11, 0.88));
            overflow: hidden;
        }

        .news-carousel__card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, var(--quantum-blue), var(--purpleshift-core), var(--redshift-mid));
            opacity: 0.85;
        }

        .news-carousel__meta {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.75rem;
        }

        .news-carousel__badge {
            display: inline-flex;
            align-items: center;
            padding: 0.25rem 0.65rem;
            border-radius: 9999px;
            font-size: 0.65rem;
            font-weight: 600;
            letter-spacing: 0.12em;
            text-transform: uppercase;
        }

        .news-carousel__badge--government {
            color: #67e8f9;
            background: rgba(34, 211, 238, 0.12);
            border: 1px solid rgba(34, 211, 238, 0.25);
        }

        .news-carousel__badge--industry {
            color: #c4b5fd;
            background: rgba(168, 85, 247, 0.12);
            border: 1px solid rgba(168, 85, 247, 0.25);
        }

        .news-carousel__source,
        .news-carousel__date {
            font-size: 0.75rem;
            color: rgba(161, 161, 170, 0.95);
            font-family: ui-monospace, monospace;
        }

        .news-carousel__title {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(1.5rem, 2.5vw, 2.25rem);
            font-weight: 600;
            line-height: 1.15;
            letter-spacing: -0.02em;
        }

        .news-carousel__excerpt {
            color: #a1a1aa;
            line-height: 1.65;
            max-width: 52rem;
        }

        .news-carousel__link {
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            margin-top: auto;
            font-size: 0.875rem;
            font-weight: 600;
            color: #67e8f9;
            text-decoration: none;
            transition: color 0.2s ease, gap 0.2s ease;
        }

        .news-carousel__link:hover {
            color: #fff;
            gap: 0.55rem;
        }

        .news-carousel__controls {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1.25rem;
            margin-top: 1.5rem;
        }

        .news-carousel__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.75rem;
            height: 2.75rem;
            border-radius: 9999px;
            border: 1px solid rgba(255, 255, 255, 0.12);
            background: rgba(24, 24, 27, 0.8);
            color: #e4e4e7;
            cursor: pointer;
            transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
        }

        .news-carousel__btn:hover,
        .news-carousel__btn:focus-visible {
            border-color: rgba(103, 232, 249, 0.5);
            color: #67e8f9;
            outline: none;
        }

        .news-carousel__dots {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            flex-wrap: wrap;
            justify-content: center;
            max-width: 16rem;
        }

        .news-carousel__dots--hidden {
            display: none;
        }

        .news-carousel__dot {
            width: 0.5rem;
            height: 0.5rem;
            border-radius: 9999px;
            border: none;
            padding: 0;
            background: rgba(255, 255, 255, 0.18);
            cursor: pointer;
            transition: transform 0.2s ease, background 0.2s ease;
        }

        .news-carousel__dot.is-active {
            background: #67e8f9;
            transform: scale(1.25);
        }

        .news-carousel__dot:focus-visible {
            outline: 2px solid #67e8f9;
            outline-offset: 2px;
        }

        .news-carousel__status {
            margin-top: 1rem;
            text-align: center;
            font-size: 0.75rem;
            color: #71717a;
        }

        .news-carousel.is-loading .news-carousel__controls {
            opacity: 0.35;
            pointer-events: none;
        }

        /* ── Visualizations ── */
        .viz-gallery {
            display: flex;
            flex-direction: column;
            gap: 3rem;
        }

        .viz-jump-link {
            display: inline-flex;
            align-items: center;
            font-size: 0.65rem;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #a1a1aa;
            border: 1px solid rgba(255, 255, 255, 0.12);
            border-radius: 999px;
            padding: 0.35rem 0.75rem;
            transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
        }

        .viz-jump-link:hover {
            color: #67e8f9;
            border-color: rgba(103, 232, 249, 0.45);
            background: rgba(103, 232, 249, 0.06);
        }

        .viz-jump-link--flag {
            color: #e4e4e7;
            border-color: rgba(248, 113, 113, 0.35);
            background: linear-gradient(
                90deg,
                rgba(30, 58, 138, 0.35) 0%,
                rgba(30, 58, 138, 0.2) 40%,
                rgba(185, 28, 28, 0.18) 100%
            );
        }

        .viz-jump-link--flag:hover {
            color: #fff;
            border-color: rgba(248, 113, 113, 0.55);
            background: linear-gradient(
                90deg,
                rgba(30, 58, 138, 0.55) 0%,
                rgba(185, 28, 28, 0.3) 100%
            );
        }

        /* Research study card — stacked by default (portrait video + write-up) */
        .viz-piece {
            display: flex;
            flex-direction: column;
            gap: 1.75rem;
            background: linear-gradient(165deg, rgba(24, 24, 27, 0.9) 0%, rgba(9, 9, 11, 0.95) 100%);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 1.75rem;
            padding: 1.25rem;
            overflow: hidden;
        }

        @media (min-width: 1100px) {
            .viz-piece {
                display: grid;
                grid-template-columns: minmax(15rem, 20rem) minmax(0, 1fr);
                gap: 2.25rem;
                padding: 1.75rem;
                align-items: start;
            }
        }

        .viz-piece__media {
            width: 100%;
            min-width: 0;
        }

        .viz-video-frame {
            position: relative;
            width: min(100%, 20rem);
            margin: 0 auto;
            border-radius: 1.25rem;
            overflow: hidden;
            background: #09090b;
            border: 1px solid rgba(168, 85, 247, 0.25);
            box-shadow:
                0 0 0 1px rgba(0, 243, 255, 0.06) inset,
                0 24px 60px -20px rgba(0, 0, 0, 0.75);
        }

        .viz-video-frame__glow {
            position: absolute;
            inset: -20% -10% auto;
            height: 55%;
            background:
                radial-gradient(ellipse at 30% 20%, rgba(168, 85, 247, 0.22), transparent 55%),
                radial-gradient(ellipse at 70% 40%, rgba(0, 243, 255, 0.12), transparent 50%);
            pointer-events: none;
            z-index: 0;
        }

        /* All research clips are portrait — default to 2:3, never force 16:9 */
        .viz-video {
            position: relative;
            z-index: 1;
            display: block;
            width: 100%;
            height: auto;
            aspect-ratio: 2 / 3;
            max-height: min(70vh, 36rem);
            background: #000;
            object-fit: contain;
            vertical-align: middle;
        }

        .viz-video--portrait {
            aspect-ratio: 9 / 16;
        }

        .viz-video-frame__meta {
            position: absolute;
            z-index: 2;
            left: 0.75rem;
            top: 0.75rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
            pointer-events: none;
        }

        .viz-badge {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 0.65rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #67e8f9;
            background: rgba(9, 9, 11, 0.78);
            border: 1px solid rgba(103, 232, 249, 0.35);
            border-radius: 999px;
            padding: 0.3rem 0.65rem;
            backdrop-filter: blur(8px);
        }

        .viz-badge--soft {
            color: #c4b5fd;
            border-color: rgba(168, 85, 247, 0.35);
        }

        .viz-piece--alt .viz-video-frame--ember,
        .viz-video-frame--ember {
            border-color: rgba(255, 107, 74, 0.28);
        }

        .viz-piece--alt .viz-video-frame--ember .viz-video-frame__glow,
        .viz-video-frame--ember .viz-video-frame__glow {
            background:
                radial-gradient(ellipse at 35% 15%, rgba(255, 107, 74, 0.2), transparent 55%),
                radial-gradient(ellipse at 70% 45%, rgba(168, 85, 247, 0.14), transparent 50%);
        }

        .viz-piece--alt .viz-badge {
            color: #fda4af;
            border-color: rgba(253, 164, 175, 0.4);
        }

        .viz-piece--alt .viz-badge--soft {
            color: #fdba74;
            border-color: rgba(253, 186, 116, 0.35);
        }

        .viz-video-frame--cyan {
            border-color: rgba(34, 211, 238, 0.35);
        }

        .viz-video-frame--cyan .viz-video-frame__glow {
            background:
                radial-gradient(ellipse at 50% 20%, rgba(34, 211, 238, 0.22), transparent 55%),
                radial-gradient(ellipse at 50% 70%, rgba(168, 85, 247, 0.16), transparent 50%);
        }

        /* Multi-figure research study (static images) — same side-by-side
           layout as video studies so the write-up sits in the body column */
        .viz-piece--multi {
            /* inherit .viz-piece grid / flex */
        }

        .viz-piece__media--gallery {
            width: 100%;
            min-width: 0;
        }

        /* Mobile: show title + write-up before the figure stack */
        .viz-piece--multi .viz-piece__body {
            order: 1;
        }

        .viz-piece--multi .viz-piece__media {
            order: 2;
        }

        @media (min-width: 1100px) {
            .viz-piece--multi .viz-piece__media {
                order: 0;
                position: sticky;
                top: 6rem;
            }

            .viz-piece--multi .viz-piece__body {
                order: 0;
            }
        }

        .viz-figure-gallery {
            display: flex;
            flex-direction: column;
            gap: 1rem;
            width: min(100%, 20rem);
            margin: 0 auto;
        }

        .viz-figure {
            margin: 0;
            min-width: 0;
        }

        .viz-figure .viz-video-frame {
            width: 100%;
            max-width: none;
            margin: 0;
        }

        .viz-image {
            position: relative;
            z-index: 1;
            display: block;
            width: 100%;
            height: auto;
            aspect-ratio: 2 / 3;
            max-height: min(70vh, 36rem);
            background: #000;
            object-fit: contain;
            vertical-align: middle;
        }

        .viz-image--portrait {
            aspect-ratio: 2 / 3;
        }

        .viz-figure__caption {
            margin-top: 0.55rem;
            padding: 0 0.15rem;
            font-size: 0.72rem;
            line-height: 1.45;
            color: #71717a;
            text-align: left;
        }

        .viz-piece__subtitle {
            margin: -0.5rem 0 1.25rem;
            font-size: 0.95rem;
            line-height: 1.5;
            color: #a1a1aa;
            font-style: italic;
        }

        .viz-prose__heading {
            margin: 1.75rem 0 0.85rem;
            font-family: 'Space Grotesk', sans-serif;
            font-size: 0.95rem;
            font-weight: 600;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #e4e4e7;
        }

        .viz-state-list {
            display: grid;
            gap: 1rem;
            margin: 1.25rem 0 1.5rem;
        }

        .viz-state-list__item {
            padding: 1rem 1.1rem;
            border-radius: 1rem;
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        .viz-state-list__item .viz-equation {
            margin: 0.65rem 0 0.75rem;
        }

        .viz-state-list__item p {
            margin-bottom: 0;
            font-size: 0.9rem;
        }

        .viz-state-list__label {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 0.7rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #67e8f9;
        }

        .viz-piece--portrait .viz-badge {
            color: #67e8f9;
            border-color: rgba(103, 232, 249, 0.4);
        }

        .viz-piece--portrait .viz-badge--soft {
            color: #c4b5fd;
            border-color: rgba(168, 85, 247, 0.35);
        }

        .viz-piece__body {
            min-width: 0;
            padding: 0.15rem 0.25rem 0.5rem;
        }

        @media (min-width: 1100px) {
            .viz-piece__body {
                padding: 0.25rem 0.5rem 0.5rem 0;
                /* natural height — no nested scroll trap */
                max-height: none;
                overflow: visible;
            }
        }

        .viz-piece__title {
            font-family: 'Space Grotesk', sans-serif;
            font-size: clamp(1.35rem, 2.2vw, 1.85rem);
            font-weight: 600;
            letter-spacing: -0.03em;
            line-height: 1.25;
            color: #fff;
            margin-bottom: 1.1rem;
        }

        .viz-tag {
            font-size: 0.65rem;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #a1a1aa;
            border: 1px solid rgba(255, 255, 255, 0.1);
            border-radius: 999px;
            padding: 0.25rem 0.6rem;
            background: rgba(255, 255, 255, 0.03);
        }

        .viz-prose {
            color: #a1a1aa;
            font-size: 0.95rem;
            line-height: 1.75;
            overflow-wrap: anywhere;
            word-wrap: break-word;
        }

        .viz-prose p {
            margin-bottom: 1.1rem;
        }

        .viz-prose__close {
            color: #d4d4d8;
            border-left: 2px solid rgba(0, 243, 255, 0.5);
            padding-left: 1rem;
            margin-top: 0.25rem;
        }

        .viz-math-inline {
            font-family: 'Times New Roman', Times, 'STIX Two Math', 'Cambria Math', serif;
            font-style: italic;
            color: #e4e4e7;
            white-space: normal;
            word-break: break-word;
        }

        .viz-math-inline .viz-math-bold,
        .viz-math-display .viz-math-bold {
            font-style: normal;
            font-weight: 700;
        }

        .viz-equation {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            margin: 1.35rem 0;
            padding: 0.9rem 1rem;
            border-radius: 1rem;
            background: rgba(0, 0, 0, 0.45);
            border: 1px solid rgba(0, 243, 255, 0.12);
            overflow-x: auto;
            max-width: 100%;
            -webkit-overflow-scrolling: touch;
        }

        .viz-equation__inner {
            flex: 1;
            min-width: 0;
            display: flex;
            justify-content: center;
        }

        .viz-equation__label {
            flex-shrink: 0;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 0.75rem;
            color: #71717a;
        }

        .viz-math-display {
            font-family: 'Times New Roman', Times, 'STIX Two Math', 'Cambria Math', serif;
            font-size: clamp(0.95rem, 1.5vw, 1.1rem);
            color: #f4f4f5;
            display: inline-flex;
            align-items: center;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.22rem;
            line-height: 1.45;
            max-width: 100%;
        }

        .viz-math-display--compact {
            font-size: clamp(0.85rem, 1.3vw, 1rem);
            gap: 0.14rem;
        }

        .viz-math-italic {
            font-style: italic;
        }

        .viz-math-op {
            font-style: normal;
            opacity: 0.92;
            margin: 0 0.04em;
        }

        .viz-math-paren {
            font-style: normal;
            opacity: 0.85;
        }

        .viz-math-sub {
            font-size: 0.7em;
            vertical-align: sub;
        }

        .viz-frac {
            display: inline-flex;
            flex-direction: column;
            align-items: center;
            vertical-align: middle;
            margin: 0 0.12em;
            font-style: normal;
            line-height: 1.15;
        }

        .viz-frac__num {
            padding: 0 0.35em 0.15em;
            border-bottom: 1px solid rgba(244, 244, 245, 0.75);
        }

        .viz-frac__den {
            padding: 0.15em 0.35em 0;
            font-size: 0.95em;
        }

        .viz-key-points {
            margin-top: 1.75rem;
            padding-top: 1.25rem;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
        }

        .viz-key-points__label {
            font-size: 0.65rem;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            letter-spacing: 0.16em;
            text-transform: uppercase;
            color: #a855f7;
            margin-bottom: 0.75rem;
        }

        .viz-key-points ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: grid;
            gap: 0.55rem;
        }

        .viz-key-points li {
            position: relative;
            padding-left: 1rem;
            font-size: 0.85rem;
            color: #a1a1aa;
            line-height: 1.5;
        }

        .viz-key-points li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.55em;
            width: 0.35rem;
            height: 0.35rem;
            border-radius: 50%;
            background: linear-gradient(135deg, #00f3ff, #a855f7);
        }

        /* ── American Quantum Dominance ── */
        .aqd-panel {
            position: relative;
            margin-top: 4.5rem;
            border-radius: 1.75rem;
            overflow: hidden;
            border: 1px solid rgba(255, 255, 255, 0.1);
            background:
                radial-gradient(ellipse at 0% 0%, rgba(30, 58, 138, 0.35) 0%, transparent 50%),
                radial-gradient(ellipse at 100% 100%, rgba(127, 29, 29, 0.28) 0%, transparent 45%),
                linear-gradient(165deg, rgba(24, 24, 27, 0.98) 0%, rgba(9, 9, 11, 0.99) 100%);
        }

        .aqd-panel__stripe {
            height: 4px;
            width: 100%;
            background: linear-gradient(
                90deg,
                #1e3a8a 0%,
                #1e3a8a 33%,
                #f8fafc 33%,
                #f8fafc 38%,
                #b91c1c 38%,
                #b91c1c 100%
            );
        }

        .aqd-panel__inner {
            padding: 2rem 1.5rem 2.25rem;
        }

        @media (min-width: 768px) {
            .aqd-panel__inner {
                padding: 2.75rem 2.5rem 2.75rem;
            }
        }

        .aqd-kicker {
            color: #93c5fd;
        }

        .aqd-title {
            font-size: clamp(2rem, 4vw, 3.25rem);
            font-weight: 600;
            letter-spacing: -0.03em;
            line-height: 1.1;
            color: #fff;
            margin-bottom: 1.25rem;
        }

        .aqd-lead {
            max-width: 52rem;
            color: #a1a1aa;
            font-size: 1.05rem;
            line-height: 1.75;
        }

        .aqd-media {
            display: grid;
            grid-template-columns: 1fr;
            gap: 2rem;
            margin-top: 2.5rem;
            margin-bottom: 0.5rem;
        }

        @media (min-width: 900px) {
            .aqd-media {
                grid-template-columns: 1fr 1fr;
                gap: 1.75rem;
                align-items: start;
            }
        }

        .aqd-film {
            margin: 0;
            display: flex;
            flex-direction: column;
            gap: 1rem;
            min-width: 0;
        }

        .aqd-film .viz-video-frame {
            width: min(100%, 22rem);
            max-width: 22rem;
            margin-left: auto;
            margin-right: auto;
        }

        .aqd-film__video.viz-video {
            aspect-ratio: 9 / 16;
            max-height: min(65vh, 34rem);
        }

        .viz-video-frame--flag {
            border-color: rgba(147, 197, 253, 0.35);
        }

        .viz-video-frame--flag .viz-video-frame__glow {
            background:
                radial-gradient(ellipse at 20% 15%, rgba(30, 58, 138, 0.45), transparent 55%),
                radial-gradient(ellipse at 85% 80%, rgba(185, 28, 28, 0.28), transparent 50%);
        }

        .viz-video-frame--flag .viz-badge {
            color: #93c5fd;
            border-color: rgba(147, 197, 253, 0.4);
        }

        .viz-video-frame--flag .viz-badge--soft {
            color: #fca5a5;
            border-color: rgba(248, 113, 113, 0.35);
        }

        .aqd-film__caption {
            max-width: 22rem;
            margin: 0 auto;
            width: 100%;
        }

        .aqd-film__label {
            font-family: 'Space Grotesk', sans-serif;
            font-weight: 600;
            font-size: 1.15rem;
            letter-spacing: -0.02em;
            color: #f8fafc;
            margin-bottom: 0.45rem;
        }

        .aqd-film__caption p {
            margin: 0;
            font-size: 0.875rem;
            line-height: 1.65;
            color: #a1a1aa;
        }

        .aqd-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1rem;
            margin-top: 2.25rem;
        }

        @media (min-width: 768px) {
            .aqd-grid {
                grid-template-columns: 1fr 1fr;
            }
        }

        @media (min-width: 1280px) {
            .aqd-grid {
                grid-template-columns: repeat(4, 1fr);
            }
        }

        .aqd-card {
            background: rgba(0, 0, 0, 0.35);
            border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 1.25rem;
            padding: 1.35rem 1.25rem;
            transition: border-color 0.25s ease, transform 0.25s ease;
            min-width: 0;
        }

        .aqd-card:hover {
            border-color: rgba(147, 197, 253, 0.35);
            transform: translateY(-2px);
        }

        .aqd-card__num {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            font-size: 0.7rem;
            letter-spacing: 0.14em;
            color: #f87171;
            margin-bottom: 0.65rem;
        }

        .aqd-card__title {
            font-weight: 600;
            font-size: 1.05rem;
            color: #f4f4f5;
            margin-bottom: 0.65rem;
            letter-spacing: -0.02em;
        }

        .aqd-card p {
            font-size: 0.875rem;
            line-height: 1.65;
            color: #a1a1aa;
            margin: 0;
        }

        .aqd-footer-row {
            display: flex;
            flex-direction: column;
            gap: 1.75rem;
            margin-top: 2.25rem;
            padding-top: 1.75rem;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
        }

        @media (min-width: 1024px) {
            .aqd-footer-row {
                flex-direction: row;
                align-items: flex-end;
                justify-content: space-between;
            }
        }

        .aqd-footer-copy {
            max-width: 42rem;
            min-width: 0;
        }

        .aqd-footer-copy p {
            color: #d4d4d8;
            font-size: 0.95rem;
            line-height: 1.7;
            margin: 0 0 1rem;
        }

        .aqd-badges {
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
        }

        .aqd-badges span {
            font-size: 0.65rem;
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #93c5fd;
            border: 1px solid rgba(147, 197, 253, 0.25);
            border-radius: 999px;
            padding: 0.3rem 0.65rem;
            background: rgba(30, 58, 138, 0.25);
        }

        .aqd-cta {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 0.75rem;
            flex-shrink: 0;
        }

        .aqd-cta__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0.9rem 1.5rem;
            border-radius: 1rem;
            font-weight: 600;
            font-size: 0.9rem;
            letter-spacing: 0.02em;
            color: #09090b;
            background: #f8fafc;
            transition: background 0.2s ease, transform 0.15s ease;
        }

        .aqd-cta__btn:hover {
            background: #67e8f9;
            transform: translateY(-1px);
        }

        .aqd-cta__link {
            font-size: 0.8rem;
            color: #93c5fd;
            text-decoration: underline;
            text-underline-offset: 3px;
            text-decoration-color: rgba(147, 197, 253, 0.4);
            transition: color 0.2s ease;
        }

        .aqd-cta__link:hover {
            color: #e0f2fe;
        }

        /* ── Mobile navigation ── */
        /* Critical show/hide rules live here (not Tailwind) so the menu works even if
           the Tailwind CDN is slow or blocked. Drawer is a body-level sibling. */
        .site-nav {
            z-index: 100;
        }

        .site-nav__desktop {
            display: none;
            align-items: center;
        }

        .site-nav__actions {
            display: flex;
            align-items: center;
            flex-shrink: 0;
            margin-left: auto;
        }

        .site-nav__inquire {
            display: none;
        }

        body.mobile-nav-open .site-nav {
            z-index: 220;
            background: rgba(9, 9, 11, 0.96);
        }

        .mobile-nav-toggle {
            --menu-icon: 1.125rem;
            --menu-bar-h: 2px;
            --menu-gap: 5px;
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.75rem;
            height: 2.75rem;
            min-width: 2.75rem;
            min-height: 2.75rem;
            margin: 0;
            padding: 0;
            border: 1px solid rgba(103, 232, 249, 0.35);
            border-radius: 999px;
            background: rgba(9, 9, 11, 0.55);
            color: #a5f3fc;
            cursor: pointer;
            -webkit-tap-highlight-color: transparent;
            transition: color 0.2s ease, transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
            z-index: 1;
        }

        .mobile-nav-toggle::before {
            content: '';
            position: absolute;
            inset: 0.2rem;
            border-radius: inherit;
            background: radial-gradient(
                circle at 50% 50%,
                rgba(34, 211, 238, 0.14) 0%,
                rgba(34, 211, 238, 0.04) 55%,
                transparent 70%
            );
            opacity: 0;
            transform: scale(0.85);
            transition: opacity 0.25s ease, transform 0.25s ease;
            pointer-events: none;
        }

        .mobile-nav-toggle:hover,
        .mobile-nav-toggle:focus-visible {
            color: #ecfeff;
            outline: none;
        }

        .mobile-nav-toggle:hover::before,
        .mobile-nav-toggle:focus-visible::before,
        body.mobile-nav-open .mobile-nav-toggle::before {
            opacity: 1;
            transform: scale(1);
        }

        .mobile-nav-toggle:active {
            transform: scale(0.94);
        }

        .mobile-nav-toggle__icon {
            position: relative;
            display: block;
            width: var(--menu-icon);
            height: calc(var(--menu-bar-h) * 3 + var(--menu-gap) * 2);
        }

        .mobile-nav-toggle__bar {
            position: absolute;
            left: 0;
            display: block;
            width: 100%;
            height: var(--menu-bar-h);
            border-radius: 999px;
            background: currentColor;
            box-shadow: 0 0 10px rgba(34, 211, 238, 0.25);
            transition:
                transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
                opacity 0.2s ease,
                width 0.28s ease,
                top 0.32s cubic-bezier(0.22, 1, 0.36, 1);
            transform-origin: center;
            will-change: transform, opacity;
        }

        .mobile-nav-toggle__bar:nth-child(1) {
            top: 0;
            width: 100%;
        }

        .mobile-nav-toggle__bar:nth-child(2) {
            top: calc(var(--menu-bar-h) + var(--menu-gap));
            width: 72%;
            left: 0;
        }

        .mobile-nav-toggle__bar:nth-child(3) {
            top: calc((var(--menu-bar-h) + var(--menu-gap)) * 2);
            width: 88%;
        }

        body.mobile-nav-open .mobile-nav-toggle {
            color: #67e8f9;
        }

        body.mobile-nav-open .mobile-nav-toggle__bar:nth-child(1) {
            top: calc(var(--menu-bar-h) + var(--menu-gap));
            width: 100%;
            transform: rotate(45deg);
        }

        body.mobile-nav-open .mobile-nav-toggle__bar:nth-child(2) {
            opacity: 0;
            width: 0;
            transform: scaleX(0);
        }

        body.mobile-nav-open .mobile-nav-toggle__bar:nth-child(3) {
            top: calc(var(--menu-bar-h) + var(--menu-gap));
            width: 100%;
            transform: rotate(-45deg);
        }

        .mobile-nav {
            position: fixed;
            inset: 0;
            z-index: 200;
            display: none;
            pointer-events: none;
        }

        .mobile-nav.is-open,
        .mobile-nav:not([hidden]) {
            display: block;
            pointer-events: auto;
        }

        .mobile-nav__backdrop {
            position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.78);
            opacity: 0;
            transition: opacity 0.25s ease;
            -webkit-tap-highlight-color: transparent;
        }

        .mobile-nav__panel {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            width: min(18rem, 88vw);
            max-width: 100%;
            background: #09090b;
            border-left: 1px solid rgba(103, 232, 249, 0.18);
            /* Clear fixed header + breathing room so first entry is easy to tap */
            padding:
                calc(3.75rem + env(safe-area-inset-top, 0px))
                0.65rem
                calc(1rem + env(safe-area-inset-bottom, 0px));
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            transform: translate3d(100%, 0, 0);
            transition: transform 0.28s cubic-bezier(0.22, 1, 0.36, 1);
            box-shadow: -16px 0 48px rgba(0, 0, 0, 0.65);
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
        }

        body.mobile-nav-open .mobile-nav__backdrop,
        .mobile-nav.is-open .mobile-nav__backdrop {
            opacity: 1;
        }

        body.mobile-nav-open .mobile-nav__panel,
        .mobile-nav.is-open .mobile-nav__panel {
            transform: translate3d(0, 0, 0);
        }

        @media (min-width: 640px) {
            .site-nav__inquire {
                display: inline-flex;
            }
        }

        @media (min-width: 768px) {
            .site-nav__desktop {
                display: flex;
            }

            .mobile-nav-toggle {
                display: none !important;
            }

            .mobile-nav {
                display: none !important;
            }
        }

        .mobile-nav__links {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin: 0;
            padding: 0;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
        }

        .mobile-nav__link {
            display: flex;
            align-items: center;
            min-height: 2.1rem;
            margin: 0;
            padding: 0.28rem 0.55rem;
            border-radius: 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            font-size: 0.88rem;
            font-weight: 500;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            line-height: 1.2;
            color: #e4e4e7;
            transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
        }

        .mobile-nav__link:hover,
        .mobile-nav__link:focus-visible {
            background: rgba(103, 232, 249, 0.08);
            color: #67e8f9;
            padding-left: 0.8rem;
            outline: none;
        }

        .mobile-nav__cta {
            margin-top: auto;
            width: 100%;
            padding: 0.65rem 0.75rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.78rem;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: #09090b;
            background: #f8fafc;
            border: none;
            cursor: pointer;
            transition: background 0.2s ease;
        }

        .mobile-nav__cta:hover,
        .mobile-nav__cta:focus-visible {
            background: #67e8f9;
            outline: none;
        }

        body.mobile-nav-open {
            overflow: hidden;
        }

        /* ── Mobile / small-screen polish ── */
        @media (max-width: 767px) {
            .site-nav {
                padding-left: env(safe-area-inset-left, 0px);
                padding-right: env(safe-area-inset-right, 0px);
            }

            .hero-bg {
                min-height: 100svh;
                min-height: 100dvh;
            }

            .hero-content {
                padding-bottom: 5rem;
            }

            .hero-title {
                font-size: clamp(2.35rem, 11vw, 3.25rem);
            }

            .hero-scroll-hint {
                display: none;
            }

            /* Reduce heavy hero ornamentation on phones */
            .quantum-orbit,
            .redshift-trail,
            .entanglement-cluster {
                opacity: 0.35;
            }

            .news-carousel__viewport {
                margin-inline: -0.25rem;
            }

            .viz-piece {
                padding: 1rem;
                gap: 1.25rem;
                border-radius: 1.25rem;
            }

            .viz-video-frame {
                width: min(100%, 18.5rem);
            }

            .viz-piece--multi .viz-figure-gallery {
                width: min(100%, 18.5rem);
            }

            .viz-video,
            .viz-image {
                max-height: min(58vh, 28rem);
            }

            .viz-piece__title {
                font-size: 1.25rem;
            }

            .viz-prose {
                font-size: 0.9rem;
            }

            .viz-equation {
                padding: 0.75rem;
                margin: 1rem 0;
            }

            .viz-math-display {
                font-size: 0.9rem;
            }

            .aqd-panel {
                margin-top: 2.5rem;
                border-radius: 1.25rem;
            }

            .aqd-panel__inner {
                padding: 1.5rem 1.1rem 1.75rem;
            }

            .aqd-title {
                font-size: clamp(1.75rem, 8vw, 2.25rem);
            }

            .aqd-lead {
                font-size: 0.95rem;
            }

            .aqd-media {
                gap: 1.5rem;
                margin-top: 1.75rem;
            }

            .aqd-film .viz-video-frame {
                width: min(100%, 17.5rem);
                max-width: 17.5rem;
            }

            .aqd-film__video.viz-video {
                max-height: min(55vh, 28rem);
            }

            .aqd-card {
                padding: 1.1rem 1rem;
            }

            .aqd-cta {
                width: 100%;
            }

            .aqd-cta__btn {
                width: 100%;
            }

            .footer-cowboy-scene {
                transform: scale(0.85);
                transform-origin: center bottom;
            }

            .cowboy-caption {
                font-size: 0.65rem;
            }
        }

        @media (max-width: 479px) {
            .hero-stats {
                gap: 0.5rem;
            }

            .hero-stats .text-zinc-500 {
                font-size: 0.6rem;
                letter-spacing: 0.01em;
            }

            .viz-jump-link {
                font-size: 0.6rem;
                padding: 0.3rem 0.55rem;
            }
        }

        /* Touch-friendly targets */
        @media (hover: none) and (pointer: coarse) {
            .mobile-nav__link {
                min-height: 2.4rem;
            }

            .news-carousel__btn {
                min-width: 2.75rem;
                min-height: 2.75rem;
            }

            a, button {
                -webkit-tap-highlight-color: rgba(103, 232, 249, 0.15);
            }
        }

        @media (prefers-reduced-motion: reduce) {
            .news-carousel__track {
                transition: none;
            }

            .mobile-nav__backdrop,
            .mobile-nav__panel,
            .mobile-nav-toggle,
            .mobile-nav-toggle::before,
            .mobile-nav-toggle__bar {
                transition: none !important;
            }

            .entanglement-beam,
            .entanglement-spark,
            .entanglement-correlation,
            .entanglement-qubit,
            .redshift-trail,
            .probability-cloud,
            .quantum-orbit,
            .quantum-wave-path,
            .quantum-wavelet-wrap,
            .quantum-particle,
            .tunnel-flash,
            .superposition-title,
            .bloch-sphere,
            .bloch-ring,
            .bloch-vector,
            .quantum-grid,
            canvas {
                animation: none !important;
            }

            canvas {
                opacity: 0.35;
            }
        }
