
    @keyframes fadeInUp {
      from { opacity: 0; transform: translateY(28px); }
      to { opacity: 1; transform: translateY(0); }
    }
	    body {
	      background-color: #0b0f17;
	      background-image:
	        linear-gradient(180deg, rgba(11, 15, 23, 0.97), rgba(11, 15, 23, 0.99)),
	        url('assets/nesval_labIA/patron_ondas_datos.svg');
	      background-size: cover;
	      background-attachment: fixed;
	      color: #F1F5F9;
	      color-scheme: dark;
	      overflow-x: hidden;
	    }
	    button,
	    a,
	    input {
	      touch-action: manipulation;
	    }
	    a:focus-visible,
	    button:focus-visible,
	    input:focus-visible {
	      outline: 2px solid rgba(0, 184, 217, 0.85);
	      outline-offset: 4px;
	    }
	    .skip-link {
	      position: fixed;
	      left: 16px;
	      top: 16px;
	      z-index: 10000;
	      transform: translateY(-140%);
	      background: #00b8d9;
	      color: #081b3a;
	      padding: 10px 14px;
	      font-family: 'JetBrains Mono', monospace;
	      font-size: 11px;
	      font-weight: 700;
	      text-transform: uppercase;
	      letter-spacing: 0.08em;
	      transition: transform 0.2s ease;
	    }
	    .skip-link:focus-visible {
	      transform: translateY(0);
	    }
	    section[id],
	    article[id] {
	      scroll-margin-top: 96px;
	    }
    .nav-blur {
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      background: rgba(11, 15, 23, 0.8);
    }
    .hero-image-scene {
      background-image:
        linear-gradient(90deg, rgba(11, 15, 23, 0.96) 0%, rgba(11, 15, 23, 0.86) 45%, rgba(11, 15, 23, 0.52) 76%, rgba(11, 15, 23, 0.22) 100%),
        linear-gradient(180deg, rgba(11, 15, 23, 0.1), rgba(11, 15, 23, 0.82)),
        url('assets/nesval_labIA/hero_applied_ai_v1.png');
      background-size: cover;
      background-position: center right;
    }
    .glass-card {
      background: rgba(22, 28, 45, 0.45);
      border: 1px solid rgba(255, 255, 255, 0.05);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      transition: border-color 0.25s ease, transform 0.25s ease, background 0.25s ease;
    }
    .glass-card:hover {
      border-color: rgba(0, 184, 217, 0.32);
      background: rgba(22, 28, 45, 0.65);
      transform: translateY(-3px);
    }
    .section-divider {
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
    }
    .animate-reveal { opacity: 0; }
    .animate-reveal.visible { animation: fadeInUp 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards; }
    .brand-logo { display: block; height: auto; max-width: 100%; }
  
            /* Grid Noise Styles */
            .grid-noise-bg {
                position: absolute; top: 0; left: 0; width: 100%; height: 100%;
                overflow: hidden; z-index: 0; background-color: #0b0f17;
            }
            .grid-overlay {
                position: absolute; inset: 0;
                background-size: 60px 60px;
                background-image: linear-gradient(to right, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
                                  linear-gradient(to bottom, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
                mask-image: radial-gradient(ellipse 65% 55% at 50% 50%, #000 60%, transparent 100%);
                -webkit-mask-image: radial-gradient(ellipse 65% 55% at 50% 50%, #000 60%, transparent 100%);
            }
            .noise-grain {
                position: absolute; inset: 0; opacity: 0.025;
                background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
            }
            /* Static ambient orb - pulses gently */
            .glow-orb {
                position: absolute; width: 600px; height: 600px; border-radius: 50%;
                background: radial-gradient(circle, rgba(0, 184, 217, 0.1) 0%, transparent 70%);
                top: 50%; left: 50%; transform: translate3d(-50%, -50%, 0);
                animation: pulse-glow 10s infinite alternate ease-in-out;
                will-change: transform, opacity;
                pointer-events: none;
            }
            /* Cursor-following orb - positioned by JS */
            .glow-orb-cursor {
                position: absolute; width: 450px; height: 450px; border-radius: 50%;
                background: radial-gradient(circle, rgba(147, 51, 234, 0.09) 0%, rgba(0, 184, 217, 0.05) 50%, transparent 70%);
                transform: translate3d(-50%, -50%, 0);
                will-change: transform;
                pointer-events: none;
                filter: blur(20px);
            }
            @keyframes pulse-glow {
                0% { opacity: 0.4; transform: translate3d(-50%, -50%, 0) scale(0.9); }
                100% { opacity: 0.8; transform: translate3d(-50%, -50%, 0) scale(1.1); }
            }
            
            /* Smooth transition from hero to next section */
            #hero::after {
                content: '';
                position: absolute;
                bottom: 0; left: 0; right: 0;
                height: 150px;
                background: linear-gradient(to top, rgba(11, 15, 23, 0.95) 0%, transparent 100%);
                pointer-events: none;
                z-index: 2;
            }
            
            /* Hero background image layer — subtle depth */
            .hero-bg-image {
                position: absolute; inset: 0; z-index: 0;
                background-image: url('assets/nesval_labIA/hero_applied_ai_v1.png');
                background-size: cover;
                background-position: center right;
                opacity: 0.15;
                filter: blur(3px) saturate(0.5);
                animation: hero-bg-breathe 25s infinite alternate ease-in-out;
                will-change: transform, opacity, filter;
            }
            @keyframes hero-bg-breathe {
                0% { transform: scale(1); opacity: 0.12; filter: blur(3px) saturate(0.4); }
                100% { transform: scale(1.1); opacity: 0.25; filter: blur(1.5px) saturate(0.7); }
            }
            
            /* Hero floating laptops — position + parallax via JS */
            .hero-laptops {
                position: absolute; inset: 0;
                overflow: hidden; z-index: 1;
                pointer-events: none;
                color: rgba(0, 184, 217, 0.5);
            }
            .laptop {
                position: absolute;
                will-change: transform;
            }
            .laptop-svg {
                width: 100%; height: 100%;
                filter: drop-shadow(0 0 40px rgba(0, 184, 217, 0.04));
            }
            .laptop-layer-1 {
                width: 160px; height: 100px;
                top: 15%; left: 5%;
                opacity: 0.09;
            }
            .laptop-layer-2 {
                width: 220px; height: 140px;
                bottom: 18%; right: 8%;
                opacity: 0.14;
            }
            .laptop-layer-3 {
                width: 120px; height: 75px;
                top: 55%; left: 72%;
                opacity: 0.18;
            }
            
            /* Mouse trail canvas */
            #mouseTrailCanvas {
                position: fixed; top: 0; left: 0;
                width: 100vw; height: 100vh;
                pointer-events: none; z-index: 9999;
            }
            
            /* Chat panel styles */
            .chat-panel {
                background: rgba(12, 16, 28, 0.88);
                border: 1px solid rgba(255, 255, 255, 0.06);
                border-radius: 16px;
                overflow: hidden;
                backdrop-filter: blur(24px);
                -webkit-backdrop-filter: blur(24px);
                transition: border-color 0.4s ease, box-shadow 0.4s ease, transform 0.3s ease;
                display: flex; flex-direction: column;
                box-shadow: 0 4px 40px rgba(0, 0, 0, 0.3);
            }
            .chat-panel:hover {
                border-color: rgba(0, 184, 217, 0.18);
                box-shadow: 0 8px 60px rgba(0, 184, 217, 0.04);
                transform: translateY(-2px);
            }
            .chat-panel-ivi:hover {
                border-color: rgba(0, 184, 217, 0.3);
                box-shadow: 0 8px 60px rgba(0, 184, 217, 0.08);
            }
            .chat-panel-ivi {
                box-shadow: 0 4px 40px rgba(0, 184, 217, 0.03);
            }
            .chat-header {
                display: flex; align-items: center; gap: 10px;
                padding: 14px 20px;
                border-bottom: 1px solid rgba(255, 255, 255, 0.05);
                background: rgba(0, 0, 0, 0.25);
            }
            .chat-indicator {
                width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
            }
            .chat-indicator.generic {
                background: #4b5563;
                box-shadow: 0 0 6px rgba(75, 85, 99, 0.2);
            }
            .chat-indicator.personalized {
                background: #00b8d9;
                box-shadow: 0 0 8px rgba(0, 184, 217, 0.5);
                animation: indicator-pulse 2s infinite ease-in-out;
            }
            .chat-label {
                font-family: 'Sora', sans-serif;
                font-size: 13px; font-weight: 600;
                color: #e2e8f0; white-space: nowrap;
            }
            .chat-model {
                margin-left: auto;
                font-family: 'JetBrains Mono', monospace;
                font-size: 9px; text-transform: uppercase;
                letter-spacing: 0.12em; color: rgba(255, 255, 255, 0.15);
                white-space: nowrap;
            }
            .chat-messages {
                padding: 16px 18px;
                min-height: 420px; max-height: 480px;
                overflow-y: auto;
                display: flex; flex-direction: column; gap: 14px;
                scrollbar-width: thin;
                scrollbar-color: rgba(255,255,255,0.05) transparent;
            }
            .chat-messages::-webkit-scrollbar { width: 4px; }
            .chat-messages::-webkit-scrollbar-thumb {
                background: rgba(255,255,255,0.06); border-radius: 2px;
            }
            .chat-message {
                display: flex; flex-direction: column;
                max-width: 90%;
                animation: msg-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) forwards;
                opacity: 0;
            }
            .chat-message.user {
                align-self: flex-end; align-items: flex-end;
            }
            .chat-message.bot {
                align-self: flex-start; align-items: flex-start;
            }
            .chat-message .role-tag {
                font-family: 'JetBrains Mono', monospace;
                font-size: 9px; text-transform: uppercase;
                letter-spacing: 0.1em; margin-bottom: 5px;
                padding: 0 4px; opacity: 0.5;
            }
            .chat-message.user .role-tag { color: #00b8d9; opacity: 0.7; }
            .chat-message.bot .role-tag { color: rgba(255,255,255,0.35); }
            .chat-message .bubble {
                padding: 12px 16px;
                border-radius: 14px;
                font-size: 13px; line-height: 1.65;
                color: #e2e8f0;
                white-space: pre-wrap;
                word-wrap: break-word;
            }
            .chat-message.user .bubble {
                background: rgba(0, 184, 217, 0.1);
                border: 1px solid rgba(0, 184, 217, 0.12);
                border-bottom-right-radius: 4px;
                color: #dde8f2;
            }
            .chat-message.bot .bubble {
                background: rgba(255, 255, 255, 0.03);
                border: 1px solid rgba(255, 255, 255, 0.05);
                border-bottom-left-radius: 4px;
            }
            .chat-footer {
                padding: 10px 20px;
                border-top: 1px solid rgba(255, 255, 255, 0.03);
                display: flex; align-items: center; gap: 8px;
                background: rgba(0, 0, 0, 0.15);
            }
            .dot-pulse {
                display: inline-block;
                width: 6px; height: 6px; border-radius: 50%;
                background: #4b5563;
                animation: dot-pulse 1.4s infinite both;
            }
            .dot-pulse.personalized-pulse {
                background: #00b8d9;
            }
            
            /* Typing cursor animation */
            .typing-cursor::after {
                content: '▌';
                animation: blink-cursor 0.7s step-end infinite;
                color: #00b8d9;
                font-weight: 300;
                margin-left: 2px;
                opacity: 0.7;
            }
            
            @keyframes blink-cursor {
                50% { opacity: 0; }
            }
            @keyframes msg-in {
                from { opacity: 0; transform: translateY(8px) scale(0.97); }
                to { opacity: 1; transform: translateY(0) scale(1); }
            }
            @keyframes indicator-pulse {
                0%, 100% { opacity: 1; transform: scale(1); }
                50% { opacity: 0.4; transform: scale(0.85); }
            }
            @keyframes dot-pulse {
                0%, 80%, 100% { transform: scale(0.75); opacity: 0.3; }
                40% { transform: scale(1.1); opacity: 1; }
            }
            
            /* Data cleaning panel */
            .data-panel {
                background: rgba(12, 16, 28, 0.88);
                border: 1px solid rgba(255, 255, 255, 0.06);
                border-radius: 16px;
                overflow: hidden;
                backdrop-filter: blur(24px);
                -webkit-backdrop-filter: blur(24px);
                box-shadow: 0 4px 40px rgba(0, 0, 0, 0.3);
                transition: border-color 0.4s ease, box-shadow 0.4s ease;
            }
            .data-panel:hover {
                border-color: rgba(0, 184, 217, 0.18);
                box-shadow: 0 8px 60px rgba(0, 184, 217, 0.04);
            }
            .data-panel-header {
                display: flex; align-items: center; gap: 10px;
                padding: 14px 20px;
                border-bottom: 1px solid rgba(255, 255, 255, 0.05);
                background: rgba(0, 0, 0, 0.25);
            }
            .data-panel-dot {
                width: 8px; height: 8px; border-radius: 50%;
                background: #00b8d9;
                box-shadow: 0 0 8px rgba(0, 184, 217, 0.5);
                animation: indicator-pulse 2s infinite ease-in-out;
                flex-shrink: 0;
            }
            .data-panel-content {
                padding: 24px 28px;
                font-family: 'JetBrains Mono', monospace;
                font-size: 13px;
                line-height: 1.8;
            }
            .data-line {
                display: flex; align-items: center; gap: 8px;
                padding: 4px 0;
                position: relative;
            }
            .data-line-empty {
                height: 12px;
            }
            .data-line-spacer {
                height: 8px;
            }
            .data-section-title {
                font-family: 'Sora', sans-serif;
                font-size: 11px;
                font-weight: 700;
                letter-spacing: 0.1em;
                color: rgba(255, 255, 255, 0.15);
                padding: 4px 0 8px 0;
                text-transform: uppercase;
            }
            .data-tags {
                display: flex !important;
                flex-wrap: wrap;
                gap: 6px;
                padding-top: 12px !important;
            }
            .data-tag {
                font-family: 'Sora', sans-serif;
                font-size: 10px;
                text-transform: uppercase;
                letter-spacing: 0.08em;
                padding: 3px 8px;
                border-radius: 4px;
                background: rgba(0, 184, 217, 0.08);
                border: 1px solid rgba(0, 184, 217, 0.12);
                color: rgba(0, 184, 217, 0.6);
            }
            .data-label {
                color: rgba(255, 255, 255, 0.25);
                min-width: 105px;
                flex-shrink: 0;
            }
            .data-value {
                color: #e2e8f0;
            }
            .data-clean {
                animation: data-fade-out 0.6s ease-out 1.5s forwards;
            }
            .data-redact {
                position: absolute;
                left: 113px;
                color: transparent;
                background: rgba(220, 38, 38, 0.35);
                border-radius: 3px;
                padding: 1px 4px;
                letter-spacing: 1px;
                animation: data-redact-in 0.5s ease-out 2s forwards;
                opacity: 0;
                max-width: 0;
                overflow: hidden;
                white-space: nowrap;
            }
            .data-desc {
                color: rgba(255, 255, 255, 0.45);
                font-family: 'Sora', sans-serif;
                font-size: 13px;
                line-height: 1.6;
            }
            .data-status {
                gap: 8px;
                align-items: center;
                padding: 8px 12px;
                background: rgba(0, 184, 217, 0.06);
                border-radius: 8px;
                border: 1px solid rgba(0, 184, 217, 0.08);
            }
            @keyframes data-fade-out {
                0% { opacity: 1; }
                100% { opacity: 0; }
            }
            @keyframes data-redact-in {
                0% { opacity: 0; max-width: 0; padding: 1px 0; }
                100% { opacity: 1; max-width: 300px; padding: 1px 4px; }
            }
            
            /* ===== V5 IMPROVEMENTS ===== */

            /* Data panel scan-line effect */
            .data-scan-line {
                position: absolute;
                top: 0; left: 0; right: 0;
                height: 2px;
                background: linear-gradient(90deg, transparent, rgba(0, 184, 217, 0.6), rgba(0, 184, 217, 0.9), rgba(0, 184, 217, 0.6), transparent);
                box-shadow: 0 0 12px rgba(0, 184, 217, 0.4), 0 0 30px rgba(0, 184, 217, 0.15);
                opacity: 0;
                pointer-events: none;
                z-index: 10;
            }
            .data-scan-line.scanning {
                animation: scan-sweep 1.4s ease-in-out forwards;
            }
            @keyframes scan-sweep {
                0% { top: 0; opacity: 0; }
                5% { opacity: 1; }
                90% { opacity: 1; }
                100% { top: 100%; opacity: 0; }
            }
            /* Data panel states for loop */
            .data-clean.is-hidden { opacity: 0; transition: opacity 0.5s ease; }
            .data-clean.is-visible { opacity: 1; transition: opacity 0.5s ease; }
            .data-redact.is-hidden { opacity: 0; max-width: 0; transition: opacity 0.4s ease, max-width 0.4s ease, padding 0.4s ease; }
            .data-redact.is-redacted { 
                opacity: 1; max-width: 300px; padding: 1px 4px;
                transition: opacity 0.5s ease 0.15s, max-width 0.5s ease 0.15s, padding 0.5s ease 0.15s;
            }
            .data-panel-content { position: relative; }

            /* ===== Mobile hamburger menu ===== */
            .hamburger {
                display: none;
                flex-direction: column;
                gap: 5px;
                width: 24px;
                height: 20px;
                cursor: pointer;
                background: none;
                border: none;
                padding: 0;
                z-index: 60;
            }
            .hamburger span {
                display: block;
                width: 100%;
                height: 2px;
                background: #e2e8f0;
                border-radius: 1px;
                transition: transform 0.3s ease, opacity 0.3s ease;
            }
            .hamburger.active span:nth-child(1) {
                transform: translateY(7px) rotate(45deg);
            }
            .hamburger.active span:nth-child(2) {
                opacity: 0;
            }
            .hamburger.active span:nth-child(3) {
                transform: translateY(-7px) rotate(-45deg);
            }
            .mobile-menu {
                position: fixed;
                top: 0; left: 0; right: 0; bottom: 0;
                z-index: 55;
                background: rgba(11, 15, 23, 0.96);
                backdrop-filter: blur(24px);
                -webkit-backdrop-filter: blur(24px);
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
                gap: 32px;
                opacity: 0;
                pointer-events: none;
                transition: opacity 0.35s ease;
            }
            .mobile-menu.open {
                opacity: 1;
                pointer-events: auto;
            }
            .mobile-menu-close {
                position: absolute;
                top: 26px;
                right: 24px;
                display: inline-flex;
                align-items: center;
                gap: 8px;
                min-height: 40px;
                border: 1px solid rgba(0, 184, 217, 0.24);
                background: rgba(0, 184, 217, 0.06);
                color: #cbd5e1;
                padding: 8px 12px;
                font-family: 'JetBrains Mono', monospace;
                font-size: 10px;
                text-transform: uppercase;
                letter-spacing: 0.16em;
                transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
            }
            .mobile-menu-close:hover {
                border-color: rgba(0, 184, 217, 0.68);
                color: #67e8f9;
                background: rgba(0, 184, 217, 0.1);
            }
            .mobile-menu a {
                font-family: 'JetBrains Mono', monospace;
                font-size: 12px;
                text-transform: uppercase;
                letter-spacing: 0.2em;
                color: #94a3b8;
                transition: color 0.25s ease;
                text-decoration: none;
            }
            .mobile-menu a:hover,
            .mobile-menu a.active {
                color: #00b8d9;
            }
            .nav-separator {
                width: 1px;
                height: 12px;
                background: linear-gradient(180deg, transparent, rgba(0, 184, 217, 0.45), transparent);
                display: inline-block;
                opacity: 0.7;
            }

            .projects-dropdown {
                background: rgba(8, 15, 30, 0.85) !important;
                backdrop-filter: blur(16px);
                -webkit-backdrop-filter: blur(16px);
                border: 1px solid rgba(0, 184, 217, 0.15);
                box-shadow: 0 10px 30px -10px rgba(0, 184, 217, 0.2), inset 0 1px 0 0 rgba(255, 255, 255, 0.05);
            }
            .projects-dropdown-item {
                position: relative;
                overflow: hidden;
            }
            .projects-dropdown-item::before {
                content: '';
                position: absolute;
                bottom: 0; left: 0; width: 0; height: 1px;
                background: linear-gradient(90deg, transparent, rgba(0, 184, 217, 0.5));
                transition: width 0.3s ease;
            }
            .projects-dropdown-item:hover::before {
                width: 100%;
            }

            @media (max-width: 1023px) {
                .hamburger { display: flex; }
            }

            /* ===== Scroll spy active nav link ===== */
            .nav-link.active {
                color: #00b8d9 !important;
                position: relative;
            }
            .nav-link.active::after {
                content: '';
                position: absolute;
                bottom: -4px;
                left: 0; right: 0;
                height: 1px;
                background: rgba(0, 184, 217, 0.5);
            }

            /* ===== Staggered reveal for grid children ===== */
            .stagger-child {
                opacity: 0;
                transform: translateY(20px);
                transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1),
                            transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
            }
            .stagger-child.visible {
                opacity: 1;
                transform: translateY(0);
            }

            /* ===== Service cards micro-interaction ===== */
            .service-card {
                position: relative;
                overflow: hidden;
            }
            .service-card::after {
                content: '';
                position: absolute;
                bottom: 0;
                left: 50%; right: 50%;
                height: 2px;
                background: linear-gradient(90deg, transparent, #00b8d9, transparent);
                transition: left 0.4s ease, right 0.4s ease;
            }
            .service-card:hover::after {
                left: 10%;
                right: 10%;
            }
            .service-card:hover i[data-lucide] {
                filter: drop-shadow(0 0 8px rgba(0, 184, 217, 0.4));
                transition: filter 0.3s ease;
            }
            .service-card .service-num {
                font-family: 'JetBrains Mono', monospace;
                font-size: 11px;
                color: rgba(0, 184, 217, 0.4);
                letter-spacing: 0.05em;
            }

            /* ===== Project cards with images ===== */
            .project-thumb {
                width: 100%;
                aspect-ratio: 16 / 9;
                overflow: hidden;
                border-radius: 12px 12px 0 0;
                position: relative;
                margin: -28px -28px 20px -28px;
                width: calc(100% + 56px);
            }
            .project-thumb img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                filter: brightness(0.5) saturate(0.7);
                transition: filter 0.4s ease, transform 0.5s ease;
            }
            .project-thumb::after {
                content: '';
                position: absolute;
                inset: 0;
                background: linear-gradient(to bottom, transparent 40%, rgba(12, 16, 28, 0.95));
                pointer-events: none;
            }
            .glass-card:hover .project-thumb img {
                filter: brightness(0.65) saturate(0.9);
                transform: scale(1.04);
            }

            /* ===== Para-quién card upgrade ===== */
            .audience-card {
                display: flex;
                align-items: flex-start;
                gap: 14px;
                padding: 20px !important;
            }
            .audience-card .audience-icon {
                flex-shrink: 0;
                color: #00b8d9;
                opacity: 0.7;
                transition: opacity 0.3s ease;
            }
            .audience-card:hover .audience-icon {
                opacity: 1;
            }
            .audience-card .audience-text h4 {
                font-size: 15px;
                font-weight: 600;
                color: #e2e8f0;
                margin-bottom: 4px;
            }
            .audience-card .audience-text p {
                font-size: 12px;
                color: #64748b;
                line-height: 1.5;
                margin: 0;
            }

            /* ===== Line card LED + tags ===== */
            .line-header {
                display: flex;
                align-items: center;
                gap: 10px;
            }
            .line-led {
                width: 6px; height: 6px;
                border-radius: 50%;
                background: #00b8d9;
                box-shadow: 0 0 6px rgba(0, 184, 217, 0.4);
                animation: indicator-pulse 2.5s infinite ease-in-out;
                flex-shrink: 0;
            }
            .line-tag {
                font-family: 'Sora', sans-serif;
                font-size: 9px;
                text-transform: uppercase;
                letter-spacing: 0.08em;
                padding: 2px 8px;
                border-radius: 4px;
                background: rgba(0, 184, 217, 0.08);
                border: 1px solid rgba(0, 184, 217, 0.12);
                color: rgba(0, 184, 217, 0.6);
                margin-left: auto;
            }

            /* ===== Footer links ===== */
            .footer-links {
                display: flex;
                flex-direction: column;
                gap: 8px;
            }
            .footer-links a {
                font-family: 'JetBrains Mono', monospace;
                font-size: 10px;
                text-transform: uppercase;
                letter-spacing: 0.1em;
                color: #64748b;
                text-decoration: none;
                transition: color 0.25s ease;
            }
            .footer-links a:hover {
                color: #00b8d9;
            }

            /* ===== Contact + newsletter ===== */
            .contact-grid {
                display: grid;
                grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
                gap: 24px;
                align-items: stretch;
            }
            .contact-panel {
                min-width: 0;
                padding: 28px;
                border: 1px solid rgba(255, 255, 255, 0.06);
                background: rgba(12, 16, 28, 0.82);
                backdrop-filter: blur(20px);
                -webkit-backdrop-filter: blur(20px);
                border-radius: 8px;
                box-shadow: 0 4px 40px rgba(0, 0, 0, 0.22);
            }
            .contact-panel h3 {
                font-size: 26px;
                line-height: 1.12;
                font-weight: 800;
                color: #f8fafc;
                margin-bottom: 14px;
                text-wrap: balance;
            }
            .contact-panel p {
                color: #94a3b8;
                font-size: 14px;
                line-height: 1.75;
                margin-bottom: 24px;
            }
            .contact-action {
                display: inline-flex;
                align-items: center;
                justify-content: center;
                gap: 10px;
                width: fit-content;
                min-height: 44px;
                padding: 12px 18px;
                border: 1px solid rgba(0, 184, 217, 0.35);
                color: #00b8d9;
                font-family: 'JetBrains Mono', monospace;
                font-size: 11px;
                text-transform: uppercase;
                letter-spacing: 0.12em;
                text-decoration: none;
                transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
            }
            .contact-action:hover {
                background: #00b8d9;
                border-color: #00b8d9;
                color: #081b3a;
            }
            .contact-mail-highlight {
                display: block;
                width: fit-content;
                margin-top: 18px;
                padding: 9px 12px;
                border: 1px solid rgba(0, 184, 217, 0.18);
                border-left-color: rgba(0, 184, 217, 0.72);
                border-left-width: 2px;
                background: rgba(0, 184, 217, 0.07);
                color: #e2e8f0;
                font-family: 'JetBrains Mono', monospace;
                font-size: 12px;
                letter-spacing: 0.04em;
                text-decoration: none;
                transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
            }
            .contact-mail-highlight:hover {
                border-color: #00b8d9;
                color: #67e8f9;
                background-color: rgba(0, 184, 217, 0.06);
            }
            .newsletter-form {
                display: grid;
                gap: 12px;
                margin-top: 4px;
                text-align: left;
            }
            .newsletter-form label:not(.consent-row) {
                font-family: 'JetBrains Mono', monospace;
                font-size: 10px;
                text-transform: uppercase;
                letter-spacing: 0.16em;
                color: #94a3b8;
            }
            .newsletter-form input[type='text'],
            .newsletter-form input[type='email'] {
                width: 100%;
                min-height: 46px;
                border: 1px solid rgba(255, 255, 255, 0.08);
                background: rgba(2, 6, 23, 0.55);
                color: #f8fafc;
                padding: 12px 14px;
                border-radius: 6px;
                font-size: 14px;
                transition: border-color 0.2s ease, background-color 0.2s ease;
            }
            .newsletter-form input[type='text']:hover,
            .newsletter-form input[type='email']:hover {
                border-color: rgba(0, 184, 217, 0.25);
                background: rgba(2, 6, 23, 0.7);
            }
            .newsletter-form input::placeholder {
                color: #64748b;
            }
            .consent-row {
                display: flex;
                align-items: flex-start;
                gap: 10px;
                margin-top: 2px;
                color: #94a3b8;
                font-size: 12px;
                line-height: 1.5;
                cursor: pointer;
            }
            .consent-row input {
                width: 16px;
                height: 16px;
                margin-top: 2px;
                accent-color: #00b8d9;
                flex: 0 0 auto;
            }
            .newsletter-submit {
                margin-top: 6px;
                cursor: pointer;
                background: transparent;
            }
            .newsletter-submit[disabled] {
                cursor: progress;
                opacity: 0.65;
            }
            .newsletter-status {
                min-height: 20px;
                margin: 0;
                color: #94a3b8;
                font-size: 12px;
                line-height: 1.5;
            }
            .newsletter-status.success {
                color: #67e8f9;
            }
            .newsletter-status.error {
                color: #fca5a5;
            }
            .hp-field {
                position: absolute !important;
                left: -10000px !important;
                width: 1px !important;
                height: 1px !important;
                overflow: hidden !important;
            }

            @media (prefers-reduced-motion: reduce) {
                *,
                *::before,
                *::after {
                    animation-duration: 0.001ms !important;
                    animation-iteration-count: 1 !important;
                    scroll-behavior: auto !important;
                    transition-duration: 0.001ms !important;
                }
                #mouseTrailCanvas,
                .glow-orb,
                .glow-orb-cursor,
                .hero-laptops {
                    display: none;
                }
            }

            /* ===== Responsive ===== */
            @media (max-width: 900px) {
                .contact-grid {
                    grid-template-columns: 1fr;
                }
            }
            @media (max-width: 640px) {
                .data-panel-content {
                    padding: 16px;
                    font-size: 11px;
                }
                .data-label {
                    min-width: 50px;
                }
                .data-redact {
                    left: 58px;
                }
                .project-thumb {
                    margin: -28px -28px 16px -28px;
                }
                .audience-card {
                    padding: 14px !important;
                }
                .contact-panel {
                    padding: 22px;
                }
                .contact-action {
                    width: 100%;
                }
                .contact-mail-highlight {
                    width: 100%;
                    text-align: center;
                }
            }
        
