 /* ============================================
           VARIABLES
           ============================================ */
        :root {
            --bg: #060810;
            --bg-card: rgba(10, 14, 22, 0.82);
            --text: #d0d6e0;
            --text-muted: #9ca3af;
            --text-dim: #3a404c;
            --accent: #88ccff;
            --accent-soft: #6a9ec4;
            --accent-dim: rgba(136, 204, 255, 0.12);
            --border: #151a24;
            --border-light: #1e2430;
            --font-display: 'Space Grotesk', sans-serif;
            --font-body: 'Inter', sans-serif;
            --font-mono: 'JetBrains Mono', monospace;
            --z-canvas: 0;
            --z-content: 10;
            --z-header: 20;
            --z-modal: 100;

            /* Glass surface tokens */
            --glass-tint: rgba(136, 204, 255, 0.04);
            --glass-tint-md: rgba(136, 204, 255, 0.08);
            --glass-border: rgba(136, 204, 255, 0.14);
            --glass-glow: 0 0 40px rgba(136, 204, 255, 0.15);
            --glass-shadow: 0 8px 32px rgba(0,0,0,0.45), inset 0 1px 0 rgba(136,204,255,0.12);
            --blur-nav: blur(50px);
            --gc-bg: rgba(10, 14, 22, 0.44);
            --gc-bg-strong: rgba(10, 14, 22, 0.68);
            --gc-border: rgba(136, 204, 255, 0.13);
            --gc-border-bright: rgba(136, 204, 255, 0.24);
            --gc-shadow: 0 14px 48px rgba(0,0,0,0.34), inset 0 1px 0 rgba(255,255,255,0.05);
            --gc-blur: blur(16px) saturate(1.35);
            --gc-radius: 18px;
            --card-lite-bg: rgba(10, 14, 22, 0.24);
            --card-lite-bg-hover: rgba(10, 14, 22, 0.34);
            --card-lite-border: rgba(136, 204, 255, 0.1);
            --card-lite-border-hover: rgba(136, 204, 255, 0.2);
            --card-lite-shadow: 0 10px 30px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.04);
            --card-lite-blur: blur(12px) saturate(1.18);

            /* Easing tokens */
            --ease-spring: cubic-bezier(0.34, 1.2, 0.64, 1);
            --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
            --dur-mid: 360ms;
            --dur-slow: 600ms;
        }

        /* ============================================
           RESET
           ============================================ */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
        html { scroll-behavior: smooth; font-size: 16px; }
        body {
            background: var(--bg);
            color: var(--text);
            font-family: var(--font-body);
            font-weight: 300;
            font-size: 1rem;
            line-height: 1.65;
            overflow-x: hidden;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }
        img { max-width: 100%; display: block; }

        /* ============================================
           TYPOGRAPHY
           ============================================ */
        .mono { font-family: var(--font-mono); }
        h1, h2, h3, h4 { font-family: var(--font-display); font-weight: 300; line-height: 1.2; }
        h2 { font-size: clamp(1.4rem, 2.5vw, 2rem); }
        h3 { font-size: 1.1rem; font-weight: 400; }
        h4 { font-size: 1rem; font-weight: 400; }
        a { color: #88ccff !important; color: var(--accent) !important; text-decoration: none !important; transition: color 0.2s; }
        a:hover { color: #a8ddff !important; }

        /* ============================================
           LAYOUT
           ============================================ */
        #webgl-bg {
            position: fixed; top: 0; left: 0;
            width: 100vw; height: 100vh;
            z-index: var(--z-canvas);
            pointer-events: none;
        }
        .page {
            position: relative;
            z-index: var(--z-content);
            isolation: isolate;
        }
        .page::before {
            content: "";
            position: fixed;
            inset: 0;
            z-index: -1;
            pointer-events: none;
            background:
                radial-gradient(ellipse 78% 60% at 50% 14%, rgba(10, 15, 24, 0.14) 0%, rgba(5, 8, 14, 0.64) 72%, rgba(3, 5, 9, 0.9) 100%),
                linear-gradient(180deg, rgba(4, 7, 13, 0.26) 0%, rgba(5, 7, 12, 0.62) 20%, rgba(5, 8, 14, 0.74) 55%, rgba(4, 7, 13, 0.9) 100%);
        }
        .container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
        .section {
            padding: 6rem 0;
            position: relative;
            isolation: isolate;
        }
        .section > .container {
            position: relative;
            z-index: 1;
        }
        .section:not(.hero)::before {
            display: none;
        }
        /* Legibility over transparent sections — sphere visible everywhere */
        .section-label,
        .delivers-intro, .flagship-subtitle,
        .tech-philosophy p,
        .reason-item h4, .reason-item p,
        .process-step h4, .process-step p,
        .trust-sublabel, .form-intro {
            text-shadow: 0 1px 12px rgba(0,0,0,0.95), 0 2px 28px rgba(0,0,0,0.7);
        }
        .section h2 {
            text-shadow: 0 2px 20px rgba(0,0,0,0.9);
        }
        .section-label {
            font-family: var(--font-mono);
            font-size: 0.7rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--accent);
            margin-bottom: 2.5rem;
            padding-bottom: 0;
            border-bottom: none;
        }
        .divider {
            height: 1px;
            background: linear-gradient(
                90deg,
                transparent 0%,
                rgba(136, 204, 255, 0.08) 15%,
                rgba(136, 204, 255, 0.28) 50%,
                rgba(136, 204, 255, 0.08) 85%,
                transparent 100%
            );
            max-width: 900px;
            margin: 0 auto;
            border: none;
        }

        /* ============================================
           SCROLL PROGRESS BAR
           ============================================ */
        .scroll-progress {
            position: fixed;
            top: 0; left: 0;
            height: 2px;
            width: 100%;
            background: linear-gradient(90deg, var(--accent), rgba(136,204,255,0.5));
            z-index: calc(var(--z-header) + 10);
            transform-origin: left center;
            transform: scaleX(0);
            transition: transform 0.05s linear;
            pointer-events: none;
        }

        /* ============================================
           BURGER MENU
           ============================================ */
        .burger {
            display: none;
            flex-direction: column;
            justify-content: center;
            gap: 5px;
            width: 32px;
            height: 32px;
            cursor: pointer;
            background: transparent;
            border: none;
            padding: 4px;
            z-index: calc(var(--z-header) + 1);
            flex-shrink: 0;
        }
        .burger span {
            display: block;
            height: 1.5px;
            background: var(--text);
            border-radius: 2px;
            transition: transform 0.3s var(--ease-smooth), opacity 0.3s, width 0.3s;
            transform-origin: center;
        }
        .burger span:nth-child(3) { width: 60%; margin-left: auto; }
        .burger.active span:nth-child(1) { transform: rotate(45deg) translate(4.7px, 4.7px); }
        .burger.active span:nth-child(2) { opacity: 0; }
        .burger.active span:nth-child(3) { transform: rotate(-45deg) translate(4.7px, -4.7px); width: 100%; }

        .mobile-panel {
            position: fixed;
            top: 0; right: 0;
            width: min(85vw, 360px);
            height: 100dvh;
            background: rgba(6, 8, 16, 0.97);
            backdrop-filter: blur(24px) saturate(160%);
            -webkit-backdrop-filter: blur(24px) saturate(160%);
            border-left: 1px solid var(--border-light);
            transform: translateX(100%);
            transition: transform 0.35s var(--ease-smooth);
            z-index: calc(var(--z-header) + 5);
            padding: 5rem 2rem 3rem;
            display: flex;
            flex-direction: column;
            gap: 0.25rem;
            overflow-y: auto;
        }
        .mobile-panel.open { transform: translateX(0); }

        .mobile-panel-link {
            font-family: var(--font-mono);
            font-size: 0.75rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #9ca3af !important; color: var(--text-muted) !important;
            text-decoration: none !important;
            padding: 1rem 0;
            border-bottom: 1px solid var(--border);
            transition: color 0.2s;
        }
        .mobile-panel-link:hover,
        .mobile-panel-link:focus { color: #d0d6e0 !important; color: var(--text) !important; }

        .mobile-panel-cta {
            display: block;
            margin-top: 2rem;
            padding: 14px 24px;
            background: var(--accent);
            color: #060810 !important; color: var(--bg) !important;
            text-decoration: none !important;
            font-family: var(--font-mono);
            font-size: 0.7rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            text-align: center;
            border-radius: 8px;
            transition: background 0.2s;
        }
        .mobile-panel-cta:hover { background: var(--accent-hover, #a0d8ff); color: #060810 !important; }

        .mobile-overlay {
            position: fixed;
            inset: 0;
            background: rgba(0,0,0,0.55);
            z-index: calc(var(--z-header) + 4);
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.35s;
        }
        .mobile-overlay.active { opacity: 1; pointer-events: auto; }

        @media (max-width: 768px) {
            .burger { display: flex; }
        }

        /* ============================================
           HERO — CAPACITY SIGNAL + SECONDARY CTA
           ============================================ */
        .hero-capacity {
            margin-top: 1.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-family: var(--font-mono);
            font-size: 0.62rem;
            letter-spacing: 0.1em;
            color: rgba(208, 214, 224, 0.45);
            text-transform: uppercase;
        }
        .capacity-dot {
            display: inline-block;
            width: 6px; height: 6px;
            border-radius: 50%;
            background: #66d9a0;
            box-shadow: 0 0 6px rgba(102, 217, 160, 0.6);
            flex-shrink: 0;
        }
        @media (prefers-reduced-motion: no-preference) {
            .capacity-dot {
                animation: cap-pulse 2.4s ease-in-out infinite;
            }
        }
        @keyframes cap-pulse {
            0%, 100% { opacity: 0.6; box-shadow: 0 0 4px rgba(102,217,160,0.4); }
            50% { opacity: 1; box-shadow: 0 0 10px rgba(102,217,160,0.7); }
        }

        .hero-secondary-cta {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            margin-top: 1.2rem;
            font-family: var(--font-mono);
            font-size: 0.68rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: #88ccff !important; color: var(--accent) !important;
            text-decoration: none !important;
            opacity: 0.7;
            transition: opacity 0.2s, gap 0.2s;
        }
        .hero-secondary-cta:hover { opacity: 1; gap: 0.65rem; color: #a0d8ff !important; color: var(--accent-hover, #a0d8ff) !important; }
        .hero-secondary-cta::after { content: '→'; transition: transform 0.2s; }
        .hero-secondary-cta:hover::after { transform: translateX(3px); }

        /* ============================================
           METRICS BAR
           ============================================ */
        .metrics-bar {
            display: flex;
            justify-content: center;
            align-items: stretch;
            gap: 0;
            padding: 2.5rem 0;
            flex-wrap: wrap;
        }
        .metric {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 1.5rem 2.5rem;
            position: relative;
        }
        .metric + .metric::before {
            content: '';
            position: absolute;
            left: 0; top: 20%; bottom: 20%;
            width: 1px;
            background: var(--border-light);
        }
        .metric-num {
            font-family: var(--font-display);
            font-size: clamp(2rem, 4vw, 2.8rem);
            font-weight: 300;
            color: var(--accent);
            line-height: 1;
            letter-spacing: -0.02em;
        }
        .metric-label {
            font-family: var(--font-mono);
            font-size: 0.6rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--text-dim);
            margin-top: 0.4rem;
        }
        @media (max-width: 640px) {
            .metrics-bar { gap: 0; }
            .metric { padding: 1.2rem 1.5rem; }
            .metric-num { font-size: clamp(1.6rem, 8vw, 2.2rem); }
        }

        /* ============================================
           SKIP LINK (A11y)
           ============================================ */
        .skip-link {
            position: absolute; top: -100px; left: 0;
            background: var(--accent); color: var(--bg);
            padding: 0.5rem 1rem; z-index: 100;
            font-size: 0.85rem;
        }
        .skip-link:focus { top: 0; }

        /* ============================================
           HEADER — GLASS PILL NAV
           ============================================ */
        .site-header {
            position: fixed; top: 0; left: 0; right: 0;
            z-index: var(--z-header);
            padding: 1rem 2rem;
            display: flex; align-items: center; justify-content: space-between;
            transition: background var(--dur-slow) ease,
                        border-color var(--dur-slow) ease,
                        backdrop-filter var(--dur-slow) ease;
            border-bottom: 1px solid transparent;
            overflow: visible;
            background: rgba(6, 8, 16, 0.72);
            backdrop-filter: blur(20px) saturate(150%);
            -webkit-backdrop-filter: blur(20px) saturate(150%);
        }
        .site-header.scrolled {
            background: rgba(6, 8, 16, 0.88);
            backdrop-filter: var(--blur-nav) saturate(180%);
            -webkit-backdrop-filter: var(--blur-nav) saturate(180%);
            border-bottom-color: rgba(136,204,255,0.03);
            box-shadow: var(--glass-shadow);
        }
        .header-logo {
            font-family: var(--font-mono);
            font-size: 0.82rem; font-weight: 400;
            letter-spacing: 0.1em; color: #d0d6e0 !important; color: var(--text) !important;
            text-decoration: none !important;
            position: relative; z-index: 2;
        }
        /* Glass nav with pill slider */
        .header-nav {
            display: flex; gap: 0; align-items: center;
            position: relative;
        }
        .nav-pill-track {
            position: relative;
            display: flex; gap: 0;
            align-items: center;
        }
        /* Sliding pill background */
        .nav-pill {
            position: absolute;
            top: 50%; height: 28px;
            background: var(--glass-tint-md);
            border: 1px solid var(--glass-border);
            border-radius: 99px;
            transform: translateY(-50%) translateX(0);
            transition:
                transform 0.5s var(--ease-spring),
                width 0.5s var(--ease-spring),
                opacity var(--dur-mid) ease;
            pointer-events: none;
            opacity: 0;
            box-shadow: var(--glass-glow);
        }
        .nav-pill.visible { opacity: 1; }

        /* Glare layer on the header (mouse-following) */
        .nav-glare {
            position: fixed; top: 0; left: 0; right: 0;
            height: 60px;
            pointer-events: none;
            z-index: calc(var(--z-header) - 1);
            background: radial-gradient(
                circle 80px at var(--nx, -200px) var(--ny, 30px),
                rgba(136, 204, 255, 0.07) 0%,
                transparent 100%
            );
            opacity: 0; transition: opacity 0.3s;
        }
        .site-header:hover .nav-glare { opacity: 1; }

        .nav-link {
            font-family: var(--font-mono);
            font-size: 0.68rem; letter-spacing: 0.08em;
            color: #9ca3af !important; color: var(--text-muted) !important; text-transform: uppercase;
            text-decoration: none !important;
            padding: 0.2rem 0.9rem;
            transition: color var(--dur-mid) ease;
            position: relative; z-index: 2;
            white-space: nowrap;
        }
        .nav-link:hover { color: #d0d6e0 !important; color: var(--text) !important; }
        .nav-link.active { color: #88ccff !important; color: var(--accent) !important; }

        .lang-btn {
            font-family: var(--font-mono);
            font-size: 0.65rem; padding: 0.25rem 0.55rem;
            border: 1px solid var(--border-light);
            background: transparent; color: var(--text-dim);
            cursor: default; opacity: 0.5;
            letter-spacing: 0.06em;
            margin-left: 1rem;
        }

        /* ============================================
           HERO
           ============================================ */
        .hero {
            min-height: 100vh;
            display: flex; align-items: center;
            padding-top: 5rem;
            position: relative;
            background:
                radial-gradient(
                    ellipse 108% 92% at 36% 42%,
                    rgba(6, 8, 16, 0.44) 0%,
                    rgba(6, 8, 16, 0.2) 48%,
                    rgba(6, 8, 16, 0.06) 72%,
                    transparent 92%
                ),
                radial-gradient(
                    ellipse 130% 72% at 50% -10%,
                    rgba(26, 30, 46, 0.12) 0%,
                    transparent 100%
                );
        }
        .hero::after {
            display: none;
        }
        .hero-inner {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
            width: 100%;
            position: relative;
            z-index: 1;
        }
        .hero-signal {
            font-family: var(--font-mono);
            font-size: 0.65rem; letter-spacing: 0.12em;
            color: var(--text-dim); text-transform: uppercase;
            margin-bottom: 1.5rem;
        }
        .hero-brand {
            font-family: var(--font-display);
            font-size: clamp(3rem, 8vw, 5.5rem);
            font-weight: 300; letter-spacing: 0.08em;
            background: linear-gradient(135deg,
                #ffffff 0%,
                #c8e8ff 35%,
                #88ccff 65%,
                #c4e8ff 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            color: transparent;
            margin-bottom: 0.3rem;
            line-height: 1;
            animation: heroGlow 4s ease-in-out infinite alternate;
        }
        @keyframes heroGlow {
            from { filter: drop-shadow(0 0 20px rgba(136,204,255,0.15)); }
            to   { filter: drop-shadow(0 0 40px rgba(136,204,255,0.3)); }
        }
        .hero-descriptor {
            font-family: var(--font-display);
            font-size: clamp(1.05rem, 2vw, 1.45rem);
            font-weight: 300; color: var(--text);
            line-height: 1.4; margin-bottom: 1.5rem;
            max-width: 680px;
        }
        .hero-value {
            font-size: 1rem; color: var(--text-muted);
            max-width: 560px; margin-bottom: 2.5rem;
            border-left: 2px solid var(--accent-soft);
            padding-left: 1.2rem; line-height: 1.7;
        }
        .btn-av {
            display: inline-flex; align-items: center; gap: 0.7rem;
            background: transparent;
            border: 1px solid rgba(136, 204, 255, 0.25);
            color: var(--accent);
            font-family: var(--font-mono);
            font-size: 0.72rem; padding: 0.75rem 1.5rem;
            cursor: pointer; text-transform: uppercase;
            letter-spacing: 0.08em; transition: all 0.3s ease;
        }
        .btn-av:hover {
            border-color: var(--accent);
            background: rgba(136, 204, 255, 0.05);
        }
        .btn-av:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
        .btn-av.active {
            border-color: var(--accent);
            background: rgba(136, 204, 255, 0.08);
        }
        .btn-av-dot {
            width: 6px; height: 6px; border-radius: 50%;
            background: var(--accent-soft); opacity: 0.3;
            transition: opacity 0.3s;
        }
        .btn-av.active .btn-av-dot {
            opacity: 1;
            animation: av-pulse 1.4s ease-in-out infinite alternate;
        }
        @keyframes av-pulse {
            0% { opacity: 0.4; box-shadow: 0 0 0 0 rgba(136,204,255,0.3); }
            100% { opacity: 1; box-shadow: 0 0 8px 2px rgba(136,204,255,0.15); }
        }
        .hero-proof {
            margin-top: 4rem;
            display: flex; flex-wrap: wrap; gap: 0.5rem 0.8rem;
            font-family: var(--font-mono);
            font-size: 0.6rem; color: var(--text-dim);
            letter-spacing: 0.04em;
        }
        .hero-proof .sep { opacity: 0.3; }
        /* Hero interaction layer */
        .hero-interact {
            position: absolute; inset: 0; z-index: 0;
            cursor: crosshair;
        }
        .hero-modulation-note {
            margin-top: 1rem;
            font-family: var(--font-mono);
            font-size: 0.62rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: rgba(208, 214, 224, 0.52);
            max-width: 28rem;
            text-shadow: 0 1px 12px rgba(0,0,0,0.85);
        }
        .hero-modulation-note strong {
            color: rgba(136, 204, 255, 0.88);
            font-weight: 400;
        }

        .hero-scroll {
            position: absolute; bottom: 1.2rem; left: 50%;
            transform: translateX(-50%);
            color: var(--text-dim);
            font-family: var(--font-mono);
            font-size: 0.65rem; letter-spacing: 0.08em;
            animation: scroll-hint 2.2s ease-in-out infinite;
        }
        @keyframes scroll-hint {
            0%, 100% { transform: translateX(-50%) translateY(0); opacity: 0.4; }
            50% { transform: translateX(-50%) translateY(5px); opacity: 0.8; }
        }

        /* ============================================
           DELIVERS
           ============================================ */
        .delivers-intro {
            max-width: 600px; color: var(--text-muted);
            font-size: 1rem; margin-bottom: 3rem;
        }
        .delivers-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem;
        }
        .deliver-card {
            background: var(--card-lite-bg);
            border: 1px solid var(--card-lite-border);
            border-radius: var(--gc-radius);
            padding: 2rem;
            backdrop-filter: var(--card-lite-blur);
            -webkit-backdrop-filter: var(--card-lite-blur);
            box-shadow: var(--card-lite-shadow);
            transition: border-color 0.3s, transform 0.3s ease, background 0.3s ease;
        }
        .deliver-card:hover {
            border-color: var(--card-lite-border-hover);
            background: var(--card-lite-bg-hover);
            transform: translateY(-4px);
            box-shadow: 0 16px 48px rgba(0,0,0,0.28), 0 0 24px rgba(136,204,255,0.04);
        }
        .deliver-num {
            font-size: 0.65rem; color: var(--accent);
            letter-spacing: 0.1em; margin-bottom: 1rem;
        }
        .deliver-card h3 { margin-bottom: 0.7rem; }
        .deliver-card p { font-size: 0.95rem; color: var(--text-muted); line-height: 1.6; }

        /* ============================================
           FLAGSHIP (MIRROR FLOWER)
           ============================================ */
        .flagship-badge {
            display: inline-block;
            font-family: var(--font-mono);
            font-size: 0.65rem; letter-spacing: 0.12em;
            color: var(--bg); background: var(--accent);
            padding: 0.2rem 0.7rem; margin-bottom: 1.5rem;
            text-transform: uppercase; font-weight: 400;
        }
        .flagship-title {
            font-size: clamp(1.8rem, 4vw, 3.2rem);
            font-weight: 300; letter-spacing: 0.02em;
            margin-bottom: 1rem;
        }
        .flagship-subtitle {
            max-width: 680px; color: var(--text-muted);
            font-size: 1rem; margin-bottom: 3rem;
        }
        .flagship-specs {
            display: flex;
            flex-direction: column;
            background: transparent;
            border-radius: 0;
            padding: 0;
            backdrop-filter: none;
            -webkit-backdrop-filter: none;
            box-shadow: none;
        }
        .flagship-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 3rem; align-items: start;
        }
        .spec-item {
            padding: 1.1rem 0;
            border-bottom: 1px dotted var(--border-light);
            display: flex; flex-direction: column; gap: 0.3rem;
        }
        .spec-label {
            font-family: var(--font-mono);
            font-size: 0.65rem; letter-spacing: 0.1em;
            color: var(--accent); text-transform: uppercase;
        }
        .spec-value { font-size: 0.95rem; color: var(--text-muted); line-height: 1.55; }

        /* ============================================
           MEDIA PLACEHOLDER (shared)
           ============================================ */
        .media-placeholder {
            width: 100%; aspect-ratio: 16 / 10;
            background:
                repeating-linear-gradient(45deg, transparent, transparent 10px, rgba(255,255,255,0.012) 10px, rgba(255,255,255,0.012) 20px),
                var(--bg-card);
            border: 1px solid var(--border);
            display: flex; justify-content: center; align-items: center;
            color: var(--text-dim);
            font-family: var(--font-mono);
            font-size: 0.7rem; letter-spacing: 0.04em;
            overflow: hidden; position: relative;
        }
        .media-placeholder-sq { aspect-ratio: 1; }

        /* ============================================
           PROJECTS
           ============================================ */
        .projects-featured {
            display: flex; flex-direction: column;
            gap: 2rem; margin-bottom: 2.5rem;
        }
        .project-card {
            background: rgba(10, 14, 22, 0.1);
            border: 1px solid rgba(136, 204, 255, 0.07);
            border-radius: 16px;
            overflow: hidden;
            backdrop-filter: blur(10px) saturate(1.08);
            -webkit-backdrop-filter: blur(10px) saturate(1.08);
            box-shadow: 0 10px 26px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.03);
            transition: border-color 0.3s, transform 0.3s ease, background 0.3s ease;
        }
        .project-card:hover {
            border-color: var(--card-lite-border-hover);
            background: rgba(10, 14, 22, 0.22);
            transform: translateY(-4px);
            box-shadow: 0 20px 60px rgba(0,0,0,0.3), 0 0 30px rgba(136,204,255,0.05), inset 0 1px 0 rgba(255,255,255,0.06);
        }
        .project-card.featured {
            display: grid;
            grid-template-columns: 1fr 1fr;
        }
        .project-card.featured .media-placeholder { aspect-ratio: auto; height: 100%; min-height: 280px; }
        .project-media {
            overflow: hidden;
            background: rgba(10, 14, 22, 0.08);
        }
        .project-media img {
            width: 100%;
            display: block;
            object-fit: cover;
            transition: transform 0.65s ease, filter 0.65s ease;
            filter: brightness(0.88) saturate(0.92);
        }
        .project-card:hover .project-media img {
            transform: scale(1.04);
            filter: brightness(0.96) saturate(1.02);
        }
        .project-body {
            padding: 2rem;
            background: linear-gradient(180deg, rgba(10, 14, 22, 0.08) 0%, rgba(10, 14, 22, 0.16) 100%);
            backdrop-filter: blur(10px) saturate(1.06);
            -webkit-backdrop-filter: blur(10px) saturate(1.06);
        }
        .project-meta {
            font-family: var(--font-mono);
            font-size: 0.65rem; color: var(--accent);
            letter-spacing: 0.08em; text-transform: uppercase;
            margin-bottom: 0.8rem;
        }
        .project-name {
            font-size: 1.4rem; font-weight: 400;
            margin-bottom: 0.3rem;
        }
        .project-venue {
            font-size: 0.82rem; color: var(--text-muted);
            margin-bottom: 1rem; font-style: italic;
        }
        .project-desc {
            font-size: 0.95rem; color: var(--text-muted);
            line-height: 1.65; margin-bottom: 1.5rem;
        }
        .project-specs-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.8rem;
        }
        .micro-spec { font-size: 0.8rem; color: var(--text-muted); }
        .micro-spec .mono {
            display: block;
            font-size: 0.6rem; color: var(--accent);
            letter-spacing: 0.06em; margin-bottom: 0.1rem;
        }
        .projects-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem;
        }
        .projects-grid .project-card {
            display: flex; flex-direction: column;
        }
        .projects-grid .media-placeholder { aspect-ratio: 16 / 9; }
        .projects-grid .project-body { padding: 1.5rem; }
        .projects-grid .project-name { font-size: 1.15rem; }
        .projects-grid .project-desc { font-size: 0.92rem; margin-bottom: 0; }

        /* ============================================
           TECHNOLOGY
           ============================================ */
        .tech-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.5rem; margin-bottom: 3rem;
        }
        .tech-card {
            background: var(--card-lite-bg);
            border: 1px solid var(--card-lite-border);
            border-radius: var(--gc-radius);
            padding: 2rem;
            backdrop-filter: var(--card-lite-blur);
            -webkit-backdrop-filter: var(--card-lite-blur);
            box-shadow: var(--card-lite-shadow);
            transition: border-color 0.3s, transform 0.3s ease, background 0.3s ease;
        }
        .tech-card:hover {
            border-color: var(--card-lite-border-hover);
            background: var(--card-lite-bg-hover);
            transform: translateY(-4px);
            box-shadow: 0 16px 48px rgba(0,0,0,0.28), 0 0 24px rgba(136,204,255,0.04);
        }
        .tech-num {
            font-size: 0.65rem; color: var(--accent);
            letter-spacing: 0.1em; margin-bottom: 1rem;
        }
        .tech-card h3 { margin-bottom: 0.7rem; }
        .tech-card p { font-size: 0.95rem; color: var(--text-muted); line-height: 1.6; }
        .tech-philosophy {
            max-width: 680px;
            margin-top: 0.5rem;
            font-size: 1rem; color: var(--text-muted);
            border-left: 2px solid var(--accent-soft);
            padding-left: 1.2rem; line-height: 1.7;
        }

        /* ============================================
           WHY INSTITUTIONS
           ============================================ */
        .reasons-list { display: flex; flex-direction: column; }
        .reason-item {
            display: flex; gap: 1.5rem;
            padding: 1.4rem 0;
            border-bottom: 1px solid var(--border);
            align-items: flex-start;
        }
        .reason-marker {
            color: var(--accent);
            font-family: var(--font-mono);
            font-size: 0.8rem;
            flex-shrink: 0; margin-top: 0.1rem;
        }
        .reason-item h4 { margin-bottom: 0.35rem; }
        .reason-item p { font-size: 0.95rem; color: var(--text-muted); line-height: 1.6; }

        /* ============================================
           PROCESS
           ============================================ */
        .process-timeline {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 1.2rem;
        }
        .process-step {
            min-height: 100%;
            border: 1px solid var(--card-lite-border);
            border-radius: 14px;
            background: var(--card-lite-bg);
            padding: 1.6rem 1.4rem;
            backdrop-filter: var(--card-lite-blur);
            -webkit-backdrop-filter: var(--card-lite-blur);
            box-shadow: var(--card-lite-shadow);
            transition: border-color 0.3s, transform 0.3s ease, background 0.3s ease;
        }
        .process-step:hover {
            border-color: var(--card-lite-border-hover);
            background: var(--card-lite-bg-hover);
            transform: translateY(-2px);
        }
        .step-num {
            font-family: var(--font-mono);
            font-size: 0.65rem; color: var(--accent);
            letter-spacing: 0.1em; margin-bottom: 0.7rem;
        }
        .process-step h4 { font-size: 1rem; margin-bottom: 0.4rem; }
        .process-step p { font-size: 0.88rem; color: var(--text-muted); line-height: 1.55; }

        /* ============================================
           TRUST
           ============================================ */
        .trust-group { margin-bottom: 2.5rem; }
        .trust-sublabel {
            font-family: var(--font-mono);
            font-size: 0.65rem; color: #ffffff;
            letter-spacing: 0.1em; text-transform: uppercase;
            margin-bottom: 1rem;
        }
        .tags-wrap { display: flex; flex-wrap: wrap; gap: 0.5rem; }
        .tag {
            border: 1px solid rgba(136, 204, 255, 0.08);
            background: rgba(10, 14, 22, 0.18);
            border-radius: 8px;
            backdrop-filter: blur(10px) saturate(1.1);
            -webkit-backdrop-filter: blur(10px) saturate(1.1);
            padding: 0.52rem 0.95rem;
            font-family: var(--font-mono);
            font-size: 0.65rem; color: var(--text-muted);
            line-height: 1.2;
            letter-spacing: 0.02em;
            transition: all 0.3s;
        }
        .tag:hover {
            border-color: rgba(136, 204, 255, 0.18);
            background: rgba(10, 14, 22, 0.26);
            color: var(--accent);
        }

        /* ============================================
           SEGMENTS — ДЛЯ КОГО
           ============================================ */
        .segments-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1.5rem;
        }
        .segment-card {
            background: var(--card-lite-bg);
            border: 1px solid var(--card-lite-border);
            border-radius: var(--gc-radius);
            padding: 2rem 1.75rem;
            backdrop-filter: var(--card-lite-blur);
            -webkit-backdrop-filter: var(--card-lite-blur);
            box-shadow: var(--card-lite-shadow);
            display: flex; flex-direction: column; gap: 0.75rem;
            transition: border-color 0.3s, transform 0.3s ease, background 0.3s ease;
        }
        .segment-card:hover {
            border-color: var(--card-lite-border-hover);
            background: var(--card-lite-bg-hover);
            transform: translateY(-4px);
            box-shadow: 0 16px 48px rgba(0,0,0,0.28), 0 0 24px rgba(136,204,255,0.04);
        }
        .segment-icon {
            font-size: 1.3rem;
            color: var(--accent);
            opacity: 0.75;
            line-height: 1;
        }
        .segment-card h3 {
            font-size: 1rem; font-weight: 400;
            margin: 0;
        }
        .segment-card p {
            font-size: 0.88rem; color: var(--text-muted);
            line-height: 1.6; flex: 1;
        }
        .segment-cta {
            display: inline-block;
            font-family: var(--font-mono);
            font-size: 0.65rem; letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #88ccff !important; color: var(--accent) !important;
            text-decoration: none !important;
            border: 1px solid rgba(136, 204, 255, 0.22);
            padding: 0.45rem 0.9rem;
            border-radius: 6px;
            transition: all 0.25s;
            align-self: flex-start;
            margin-top: 0.25rem;
        }
        .segment-cta:hover {
            border-color: var(--accent);
            background: rgba(136, 204, 255, 0.06);
            color: #a8ddff !important;
        }
        @media (max-width: 1024px) {
            .segments-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 640px) {
            .segments-grid { grid-template-columns: 1fr; }
        }

        /* ============================================
           FORM
           ============================================ */
        .form-intro {
            color: var(--text-muted);
            max-width: 480px; margin-bottom: 3rem;
            font-size: 1rem;
        }
        .inquiry-form {
            max-width: 780px;
            background: var(--card-lite-bg);
            border: 1px solid var(--card-lite-border);
            border-radius: var(--gc-radius);
            padding: 2.25rem;
            backdrop-filter: var(--card-lite-blur);
            -webkit-backdrop-filter: var(--card-lite-blur);
            box-shadow: var(--card-lite-shadow);
        }
        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.5rem; margin-bottom: 1.5rem;
        }
        .form-field { display: flex; flex-direction: column; }
        .form-field.full { margin-bottom: 1.5rem; }
        .form-field label {
            font-family: var(--font-mono);
            font-size: 0.65rem; letter-spacing: 0.08em;
            text-transform: uppercase; color: var(--text-muted);
            margin-bottom: 0.45rem;
        }
        .form-field label .opt {
            text-transform: none; letter-spacing: 0;
            font-size: 0.6rem; color: var(--text-dim);
        }
        .form-field input,
        .form-field select,
        .form-field textarea {
            background: rgba(10, 14, 22, 0.6);
            border: 1px solid var(--border-light);
            color: var(--text);
            font-family: var(--font-body);
            font-weight: 300;
            font-size: 0.88rem;
            padding: 0.7rem 0.9rem;
            transition: border-color 0.3s;
            border-radius: 8px;
            -webkit-appearance: none;
            appearance: none;
        }
        .form-field input:focus,
        .form-field select:focus,
        .form-field textarea:focus {
            outline: none;
            border-color: var(--accent);
        }
        .form-field select {
            cursor: pointer;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%236b7280' d='M5 6L0 0h10z'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 0.9rem center;
            padding-right: 2.4rem;
        }
        .form-field textarea { resize: vertical; min-height: 100px; }
        .form-consent { margin: 1.8rem 0; }
        .consent-label {
            display: flex; gap: 0.7rem; align-items: flex-start;
            font-size: 0.8rem; color: var(--text-muted);
            cursor: pointer; line-height: 1.5;
        }
        .consent-label input[type="checkbox"] {
            margin-top: 0.25rem;
            accent-color: var(--accent);
            flex-shrink: 0;
        }
        .btn-submit {
            background: var(--accent); color: var(--bg);
            border: none;
            font-family: var(--font-mono);
            font-size: 0.8rem; font-weight: 400;
            padding: 0.9rem 2.2rem;
            border-radius: 10px;
            cursor: pointer; text-transform: uppercase;
            letter-spacing: 0.08em;
            transition: all 0.3s;
        }
        .btn-submit:hover {
            background: #a8ddff;
            box-shadow: 0 0 20px rgba(136, 204, 255, 0.12);
        }
        .btn-submit:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
        .form-success { padding: 3rem 0; }
        .form-success .check-icon {
            font-family: var(--font-mono);
            font-size: 1.2rem; color: var(--accent);
            margin-bottom: 1rem;
        }
        .form-success h3 { font-size: 1.4rem; margin-bottom: 0.4rem; }
        .form-success p { color: var(--text-muted); font-size: 0.9rem; }

        /* ============================================
           FOOTER
           ============================================ */
        .footer {
            padding: 4rem 0 2rem;
            border-top: none;
            background: rgba(6, 8, 16, 0.42);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
        }
        .footer-grid {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr;
            gap: 3rem; margin-bottom: 3rem;
        }
        .footer-brand {
            font-family: var(--font-mono);
            font-size: 0.82rem; letter-spacing: 0.1em;
            margin-bottom: 0.5rem;
        }
        .footer-legal { font-size: 0.8rem; color: var(--text-muted); }
        .footer-label {
            font-family: var(--font-mono);
            font-size: 0.6rem; letter-spacing: 0.1em;
            text-transform: uppercase; color: var(--text-dim);
            margin-bottom: 0.8rem;
        }
        .footer-col a,
        .footer-col p {
            display: block; font-size: 0.82rem;
            color: #9ca3af !important; color: var(--text-muted) !important; margin-bottom: 0.35rem;
            text-decoration: none !important;
        }
        .footer-col a:hover { color: #88ccff !important; color: var(--accent) !important; }
        .footer-lang-active { color: #88ccff !important; color: var(--accent) !important; font-size: 0.8rem; }
        .footer-lang-placeholder {
            font-size: 0.8rem; color: var(--text-dim);
            opacity: 0.5; cursor: default;
        }
        .footer-bottom {
            display: flex; justify-content: space-between;
            padding-top: 2rem;
            border-top: 1px solid var(--border);
            font-size: 0.7rem; color: var(--text-dim);
        }
        .footer-bottom a { color: #3a404c !important; color: var(--text-dim) !important; text-decoration: none !important; }
        .footer-bottom a:hover { color: #88ccff !important; color: var(--accent) !important; }

        /* ============================================
           PRIVACY MODAL
           ============================================ */
        .privacy-modal {
            display: none;
            position: fixed; inset: 0; z-index: calc(var(--z-modal) + 10);
            background: rgba(0,0,0,0.82);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            align-items: center; justify-content: center;
            padding: 1.5rem;
        }
        .privacy-modal.is-open { display: flex; }
        .privacy-modal__box {
            background: rgba(10, 14, 22, 0.96);
            border: 1px solid var(--border-light);
            border-radius: 18px;
            max-width: 720px; width: 100%;
            max-height: 86vh;
            display: flex; flex-direction: column;
            box-shadow: 0 30px 80px rgba(0,0,0,0.6);
        }
        .privacy-modal__header {
            display: flex; align-items: center; justify-content: space-between;
            padding: 1.5rem 2rem 1rem;
            border-bottom: 1px solid var(--border);
            flex-shrink: 0;
        }
        .privacy-modal__title {
            font-family: var(--font-mono);
            font-size: 0.7rem; letter-spacing: 0.12em;
            text-transform: uppercase; color: var(--accent);
        }
        .privacy-modal__close {
            background: none; border: none;
            color: var(--text-muted); cursor: pointer;
            font-size: 1.4rem; line-height: 1;
            padding: 0.2rem 0.4rem;
            transition: color 0.2s;
        }
        .privacy-modal__close:hover { color: var(--text); }
        .privacy-modal__body {
            overflow-y: auto; padding: 1.75rem 2rem 2rem;
            scrollbar-width: thin;
            scrollbar-color: rgba(136,204,255,0.18) transparent;
        }
        .privacy-modal__body::-webkit-scrollbar { width: 4px; }
        .privacy-modal__body::-webkit-scrollbar-thumb { background: rgba(136,204,255,0.18); border-radius: 4px; }
        .privacy-modal__body h2 {
            font-family: var(--font-display);
            font-size: 1.1rem; font-weight: 400;
            color: var(--text); margin-bottom: 1.5rem;
        }
        .privacy-modal__body h3 {
            font-family: var(--font-mono);
            font-size: 0.68rem; letter-spacing: 0.1em;
            text-transform: uppercase; color: var(--accent);
            margin: 1.5rem 0 0.6rem;
        }
        .privacy-modal__body p {
            font-size: 0.88rem; color: var(--text-muted);
            line-height: 1.7; margin-bottom: 0.8rem;
        }
        .privacy-modal__body ul {
            margin: 0 0 0.8rem 1.2rem;
            font-size: 0.88rem; color: var(--text-muted); line-height: 1.7;
        }

        /* ============================================
           SCROLL REVEAL
           ============================================ */
        .reveal {
            opacity: 0;
            transform: translateY(14px);
            transition: opacity 0.65s ease, transform 0.65s ease;
        }
        .reveal.visible { opacity: 1; transform: translateY(0); }

        /* ============================================
           RESPONSIVE
           ============================================ */
        @media (max-width: 1024px) {
            .delivers-grid { grid-template-columns: 1fr; }
            .tech-grid { grid-template-columns: 1fr; }
            .flagship-grid { grid-template-columns: 1fr; }
            .project-card.featured { grid-template-columns: 1fr; }
            .project-card.featured .media-placeholder { min-height: 220px; aspect-ratio: 16/9; height: auto; }
            .projects-grid { grid-template-columns: repeat(2, 1fr); }
            .process-timeline { grid-template-columns: repeat(3, 1fr); }
            .footer-grid { grid-template-columns: repeat(2, 1fr); }
        }
        @media (max-width: 768px) {
            .section { padding: 4rem 0; }
            .projects-grid { grid-template-columns: 1fr; }
            .process-timeline { grid-template-columns: repeat(2, 1fr); }
            .form-row { grid-template-columns: 1fr; }
            .project-specs-grid { grid-template-columns: 1fr; }
            .header-nav { display: none; }
            .hero-brand { letter-spacing: 0.04em; }
            .hero-proof { margin-top: 2.5rem; }
            .inquiry-form { padding: 1.4rem; }
            .footer-grid { grid-template-columns: 1fr; gap: 2rem; }
            .footer-bottom { flex-direction: column; gap: 0.4rem; }
        }
        @media (prefers-reduced-motion: reduce) {
            html { scroll-behavior: auto; }
            .reveal { opacity: 1; transform: none; transition: none; }
            .btn-av-dot { animation: none !important; }
            .hero-brand { animation: none !important; }
            .hero-scroll { animation: none !important; opacity: 0.4; }
        }

        /* ============================================
           VK VIDEO EMBED
           ============================================ */
        .flagship-video {
            position: relative;
            width: 100%; aspect-ratio: 16 / 9;
            background: #05070c;
            border: 1px solid var(--gc-border);
            border-radius: 14px;
            overflow: hidden;
            margin-bottom: 3rem;
            box-shadow: var(--gc-shadow);
            --vk-scale-x: 1.16;
            --vk-scale-y: 1.03;
            --vk-side-mask: clamp(20px, 3vw, 42px);
        }
        .flagship-video::before,
        .flagship-video::after {
            content: "";
            position: absolute;
            top: 0;
            bottom: 0;
            width: var(--vk-side-mask);
            z-index: 2;
            pointer-events: none;
        }
        .flagship-video::before {
            left: 0;
            background: linear-gradient(90deg, rgba(5, 7, 12, 0.96) 0%, rgba(5, 7, 12, 0.72) 55%, rgba(5, 7, 12, 0) 100%);
        }
        .flagship-video::after {
            right: 0;
            background: linear-gradient(270deg, rgba(5, 7, 12, 0.96) 0%, rgba(5, 7, 12, 0.72) 55%, rgba(5, 7, 12, 0) 100%);
        }
        .flagship-video iframe {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 100%;
            height: 100%;
            transform: translate(-50%, -50%) scaleX(var(--vk-scale-x)) scaleY(var(--vk-scale-y));
            transform-origin: center center;
            border: none;
            will-change: transform;
        }
        @media (max-width: 768px) {
            .flagship-video {
                --vk-scale-x: 1.11;
                --vk-scale-y: 1.02;
                --vk-side-mask: 16px;
            }
        }

        /* Flagship specs — full width below video */
        .flagship-specs-row {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0;
            margin-bottom: 0;
        }
        @media (max-width: 768px) {
            .flagship-specs-row { grid-template-columns: 1fr; }
        }

        /* ============================================
           IMAGE GALLERY STRIP
           ============================================ */
        .gallery-label {
            font-family: var(--font-mono);
            font-size: 0.7rem;
            letter-spacing: 0.14em;
            text-transform: uppercase;
            color: var(--accent);
            opacity: 0.7;
            margin-top: 5rem;
            margin-bottom: 1.25rem;
        }
        .img-strip {
            display: flex; align-items: stretch;
            gap: 0.5rem; width: 100%; height: 420px;
            overflow-x: auto; scroll-snap-type: x mandatory;
            scrollbar-width: thin;
            scrollbar-color: rgba(136,204,255,0.18) transparent;
        }
        .img-strip::-webkit-scrollbar { height: 4px; }
        .img-strip::-webkit-scrollbar-track { background: transparent; }
        .img-strip::-webkit-scrollbar-thumb { background: rgba(136,204,255,0.18); border-radius: 4px; }
        .img-strip__item {
            position: relative; flex: 0 0 180px; min-width: 180px;
            border-radius: 10px; overflow: hidden;
            cursor: pointer;
            scroll-snap-align: start;
            transition: flex 0.55s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.35s;
        }
        .img-strip__item:hover { flex: 0 0 360px; min-width: 360px; }
        .img-strip:has(.img-strip__item:hover) .img-strip__item:not(:hover) { opacity: 0.45; }
        .img-strip__item img {
            width: 100%; height: 100%;
            object-fit: cover; object-position: center;
            display: block; pointer-events: none;
            transition: transform 0.55s cubic-bezier(0.25, 1, 0.5, 1);
        }
        .img-strip__item:hover img { transform: scale(1.04); }
        .img-strip__overlay {
            position: absolute; inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,.72) 0%, transparent 55%);
            opacity: 0; transition: opacity 0.3s;
            display: flex; flex-direction: column;
            justify-content: flex-end; padding: 1.2rem;
        }
        .img-strip__item:hover .img-strip__overlay { opacity: 1; }
        .img-strip__overlay h3 {
            font-family: var(--font-display);
            font-size: 0.88rem; font-weight: 500; letter-spacing: 0.02em;
            white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
            color: #fff;
        }
        @media (max-width: 640px) {
            .img-strip { flex-wrap: wrap; height: auto; overflow-x: hidden; }
            .img-strip__item { height: 80px; flex: none; width: calc(50% - 0.25rem); min-width: 0; }
            .img-strip__item:hover { flex: none; min-width: 0; }
        }

        /* ============================================
           IMAGE LIGHTBOX
           ============================================ */
        .img-lb {
            display: none; position: fixed; inset: 0; z-index: var(--z-modal);
            background: rgba(0,0,0,.93); backdrop-filter: blur(12px);
            align-items: center; justify-content: center;
        }
        .img-lb.is-open { display: flex; }
        .img-lb__img {
            max-width: 90vw; max-height: 86vh;
            object-fit: contain; border-radius: 8px;
            box-shadow: 0 30px 80px rgba(0,0,0,.7);
            display: block; pointer-events: none;
        }
        .img-lb__close, .img-lb__nav {
            position: absolute; border-radius: 50%; border: none;
            background: rgba(255,255,255,.12); backdrop-filter: blur(6px);
            color: #fff; cursor: pointer;
            display: flex; align-items: center; justify-content: center;
            transition: background .2s;
        }
        .img-lb__close { top: 1.25rem; right: 1.25rem; width: 40px; height: 40px; font-size: 1.2rem; }
        .img-lb__close:hover, .img-lb__nav:hover { background: rgba(255,255,255,.22); }
        .img-lb__nav { top: 50%; transform: translateY(-50%); width: 44px; height: 44px; font-size: 1.3rem; }
        .img-lb__prev { left: 1.25rem; }
        .img-lb__next { right: 1.25rem; }
        .img-lb__caption {
            position: absolute; bottom: 2rem; left: 50%; transform: translateX(-50%);
            text-align: center; pointer-events: none;
        }
        .img-lb__caption h3 { font-family: var(--font-display); font-size: .9rem; font-weight: 400; color: #fff; }

        /* ============================================
           VIDEO GALLERY
           ============================================ */
        .rv-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 1.25rem;
            width: 100%;
            margin-top: 1.25rem;
        }
        .rv-card {
            position: relative;
            aspect-ratio: 16 / 9;
            overflow: hidden;
            border-radius: 14px;
            border: 1px solid rgba(136, 204, 255, 0.08);
            background: rgba(10, 14, 22, 0.1);
            cursor: pointer;
            box-shadow: 0 10px 26px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.03);
            backdrop-filter: blur(10px) saturate(1.08);
            -webkit-backdrop-filter: blur(10px) saturate(1.08);
            transition: transform 0.3s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease, border-color 0.3s ease;
        }
        .rv-card:hover {
            transform: translateY(-3px) scale(1.015);
            border-color: rgba(136, 204, 255, 0.18);
            box-shadow: 0 18px 40px rgba(0,0,0,.24);
        }
        .rv-card.is-disabled { cursor: default; }
        .rv-card.is-disabled:hover {
            transform: none;
            border-color: rgba(136, 204, 255, 0.08);
            box-shadow: 0 10px 26px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.03);
        }
        .rv-card img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
        }
        .rv-card:hover img { transform: scale(1.04); }
        .rv-card.is-disabled:hover img { transform: none; }
        .rv-card__overlay {
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,.62) 0%, rgba(0,0,0,.14) 48%, transparent 100%);
        }
        .rv-card__play {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .rv-card__play-circle {
            width: 52px;
            height: 52px;
            border-radius: 50%;
            background: rgba(255,255,255,.18);
            backdrop-filter: blur(8px);
            border: 1.5px solid rgba(255,255,255,.35);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background 0.2s, transform 0.2s;
        }
        .rv-card:hover .rv-card__play-circle {
            background: rgba(255,255,255,.28);
            transform: scale(1.08);
        }
        .rv-card.is-disabled .rv-card__play-circle {
            background: rgba(255,255,255,.08);
            border-color: rgba(255,255,255,.18);
        }
        .rv-card.is-disabled:hover .rv-card__play-circle { transform: none; }
        .rv-card__play-circle svg {
            width: 18px;
            height: 18px;
            fill: #fff;
            margin-left: 2px;
        }
        .rv-card__title {
            position: absolute;
            bottom: .75rem;
            left: .75rem;
            font-family: var(--font-display);
            font-size: .78rem;
            font-weight: 500;
            max-width: calc(100% - 90px);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            color: #fff;
            text-shadow: 0 1px 6px rgba(0,0,0,.8);
        }
        .rv-card__duration {
            position: absolute;
            bottom: .75rem;
            right: .75rem;
            background: rgba(0,0,0,.65);
            font-family: var(--font-mono);
            font-size: .62rem;
            letter-spacing: .05em;
            padding: .2em .5em;
            border-radius: 4px;
            color: #fff;
        }
        .rv-card__badge {
            position: absolute;
            top: .75rem;
            right: .75rem;
            background: #de1f27;
            font-family: var(--font-mono);
            font-size: .58rem;
            font-weight: 700;
            letter-spacing: .04em;
            padding: .22em .55em;
            border-radius: 4px;
            line-height: 1;
            color: #fff;
        }
        .rv-card.is-disabled .rv-card__badge {
            background: rgba(136, 204, 255, 0.16);
            color: rgba(208, 214, 224, 0.92);
        }
        .rv-consent {
            margin-top: 1rem;
            font-family: var(--font-mono);
            font-size: .62rem;
            opacity: .42;
        }
        .rv-lb {
            display: none;
            position: fixed;
            inset: 0;
            z-index: var(--z-modal);
            background: rgba(0,0,0,.94);
            backdrop-filter: blur(12px);
            align-items: center;
            justify-content: center;
            flex-direction: column;
            gap: 1rem;
        }
        .rv-lb.is-open { display: flex; }
        .rv-lb__frame {
            position: relative;
            width: min(90vw, 960px);
            aspect-ratio: 16 / 9;
            border-radius: 10px;
            overflow: hidden;
            background: #000;
            box-shadow: 0 30px 80px rgba(0,0,0,.7);
        }
        .rv-lb__frame iframe {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            border: none;
        }
        .rv-lb__caption {
            font-family: var(--font-display);
            font-size: .82rem;
            opacity: .55;
            letter-spacing: .04em;
            text-align: center;
            color: #fff;
        }
        .rv-lb__close, .rv-lb__nav {
            border-radius: 50%;
            border: none;
            background: rgba(255,255,255,.12);
            backdrop-filter: blur(6px);
            color: #fff;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background .2s;
        }
        .rv-lb__close {
            position: absolute;
            top: 1rem;
            right: 1rem;
            width: 40px;
            height: 40px;
            font-size: 1.2rem;
        }
        .rv-lb__close:hover, .rv-lb__nav:hover { background: rgba(255,255,255,.22); }
        .rv-lb__nav {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 44px;
            height: 44px;
            font-size: 1.3rem;
        }
        .rv-lb__prev { left: 1rem; }
        .rv-lb__next { right: 1rem; }

        /* ============================================
           TILDA LINK COLOR OVERRIDE
           Uses .page prefix (specificity 0,1,1+) to beat
           Tilda's injected .t-body a / .t-records a rules.
           This block must stay last in the stylesheet.
           ============================================ */
        .page a,
        .page a:visited {
            color: #88ccff !important;
            color: var(--accent) !important;
            text-decoration: none !important;
        }
        .page a:hover { color: #a8ddff !important; }

        .page .header-logo {
            color: #d0d6e0 !important;
            color: var(--text) !important;
            text-decoration: none !important;
        }
        .page .header-nav a,
        .page .nav-link {
            color: #9ca3af !important;
            color: var(--text-muted) !important;
            text-decoration: none !important;
        }
        .page .header-nav a:hover,
        .page .nav-link:hover { color: #d0d6e0 !important; color: var(--text) !important; }
        .page .nav-link.active { color: #88ccff !important; color: var(--accent) !important; }

        .page .footer-col a,
        .page .footer-col a:visited {
            color: #9ca3af !important;
            color: var(--text-muted) !important;
            text-decoration: none !important;
        }
        .page .footer-col a:hover { color: #88ccff !important; color: var(--accent) !important; }
        .page .footer-lang-active { color: #88ccff !important; color: var(--accent) !important; }
        .page .footer-bottom a,
        .page .footer-bottom a:visited {
            color: #3a404c !important;
            color: var(--text-dim) !important;
            text-decoration: none !important;
        }
        .page .footer-bottom a:hover { color: #88ccff !important; color: var(--accent) !important; }

        .page .segment-cta,
        .page .segment-cta:visited {
            color: #88ccff !important;
            color: var(--accent) !important;
            text-decoration: none !important;
        }
        .page .segment-cta:hover { color: #a8ddff !important; }