        :root { --accent: #22d3ee; }
        
        body {
            font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
        }
        
        .font-display {
            font-family: 'Space Grotesk', 'Inter', system-ui, sans-serif;
            font-feature-settings: "ss02";
        }
        
        .section-header {
            font-size: 1.875rem;
            line-height: 1.1;
            font-weight: 700;
            letter-spacing: -.025em;
        }
        
        .nav-link {
            transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
        }
        
        .nav-link:hover {
            color: #22d3ee;
            transform: translateY(-1px);
        }
        
        .project-card {
            transition: transform 0.3s cubic-bezier(0.4, 0.0, 0.2, 1), 
                        box-shadow 0.3s cubic-bezier(0.4, 0.0, 0.2, 1),
                        border-color 0.2s;
        }
        
        .project-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
            border-color: #22d3ee;
        }
        
        .skill-pill {
            transition: all 0.2s ease;
        }
        
        .skill-pill:hover {
            background-color: #164e63;
            color: #67e8f9;
            transform: translateY(-1px);
        }
        
        .nav-active {
            color: #22d3ee;
            position: relative;
        }
        
        .nav-active:after {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            width: 100%;
            height: 2px;
            background: linear-gradient(to right, #22d3ee, #67e8f9);
        }
        
        .glass {
            background: rgba(15, 23, 42, 0.8);
            backdrop-filter: blur(20px);
        }
        
        .hero-gradient {
            background: radial-gradient(circle at 50% 30%, rgba(34, 211, 238, 0.08) 0%, transparent 60%);
        }
        
        .stat-number {
            font-variant-numeric: tabular-nums;
        }
        
        .modern-card {
            background: #0f172a;
            border: 1px solid #1e2937;
        }
        
        .accent-text {
            color: #67e8f9;
        }
        
        .prose-custom p {
            color: #cbd5e1;
            line-height: 1.75;
        }
        
        /* Sticky nav — language dropdown must not be clipped or covered */
        .bh-site-nav,
        .bh-site-nav > div,
        .bh-site-nav .max-w-screen-2xl,
        .bh-site-nav .px-6,
        .bh-site-nav .bh-header-tools {
            overflow: visible;
            position: relative;
        }
        .bh-site-nav {
            z-index: 1200;
            isolation: isolate;
        }
        .bh-site-nav .hidden.md\:flex.items-center.gap-x-8 {
            flex: 1 1 auto;
            min-width: 0;
            justify-content: center;
            flex-wrap: wrap;
            row-gap: 4px;
            pointer-events: auto;
        }
        .bh-header-tools {
            position: relative;
            z-index: 1300;
            flex-shrink: 0;
            pointer-events: auto;
        }
        .bh-header-tools .bh-lang-dropdown {
            position: relative;
            z-index: 1301;
        }

        .metric {
            font-feature-settings: "tnum";
        }
        
        @media (max-width: 768px) {
            .section-header {
                font-size: 1.5rem;
            }
        }
        
        .smooth-scroll {
            scroll-behavior: smooth;
        }
        
        .tech-badge {
            font-size: 0.75rem;
            padding: 1px 10px;
            background: #1e2937;
            color: #64748b;
            border-radius: 9999px;
            font-weight: 500;
        }

        .eco-hub {
            position: relative;
            width: min(100%, 420px);
            aspect-ratio: 1;
            margin: 0 auto;
        }
        .eco-rings {
            position: absolute;
            inset: 0;
            pointer-events: none;
            z-index: 1;
        }
        .eco-ring {
            position: absolute;
            top: 50%;
            left: 50%;
            border-radius: 50%;
            border: 1px dashed rgba(148, 163, 184, .14);
            transform: translate(-50%, -50%);
        }
        .eco-ring--inner {
            width: 68%;
            height: 68%;
            animation: eco-ring-drift 72s linear infinite reverse;
        }
        .eco-ring--outer {
            width: 88%;
            height: 88%;
            animation: eco-ring-drift 96s linear infinite;
        }
        @keyframes eco-ring-drift {
            to { transform: translate(-50%, -50%) rotate(360deg); }
        }
        .eco-hub-core {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 38%;
            height: 38%;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            background: radial-gradient(circle at 32% 28%, rgba(103, 232, 249, .45), rgba(34, 211, 238, .12) 42%, rgba(15, 23, 42, .98) 72%);
            border: 1px solid rgba(34, 211, 238, .45);
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            padding: .75rem;
            z-index: 6;
            animation: eco-sun-pulse 3.5s ease-in-out infinite;
        }
        .eco-hub-core::before {
            content: '';
            position: absolute;
            inset: -28%;
            border-radius: 50%;
            background: radial-gradient(circle, rgba(34, 211, 238, .22), transparent 68%);
            z-index: -1;
            animation: eco-corona 4s ease-in-out infinite;
        }
        @keyframes eco-sun-pulse {
            0%, 100% {
                box-shadow: 0 0 32px rgba(34, 211, 238, .28), 0 0 64px rgba(34, 211, 238, .1);
                transform: translate(-50%, -50%) scale(1);
            }
            50% {
                box-shadow: 0 0 48px rgba(34, 211, 238, .45), 0 0 96px rgba(34, 211, 238, .18);
                transform: translate(-50%, -50%) scale(1.04);
            }
        }
        @keyframes eco-corona {
            0%, 100% { opacity: .55; transform: scale(1); }
            50% { opacity: 1; transform: scale(1.08); }
        }
        .eco-orbit {
            position: absolute;
            top: 50%;
            left: 50%;
            border-radius: 50%;
            transform-origin: center center;
            animation: eco-orbit-spin var(--eco-dur, 24s) linear infinite;
            pointer-events: none;
            z-index: 3;
        }
        .eco-orbit--inner {
            width: 68%;
            height: 68%;
            margin: -34% 0 0 -34%;
        }
        .eco-orbit--outer {
            width: 88%;
            height: 88%;
            margin: -44% 0 0 -44%;
        }
        @keyframes eco-orbit-spin {
            from { transform: rotate(var(--eco-phase, 0deg)); }
            to { transform: rotate(calc(var(--eco-phase, 0deg) + 360deg)); }
        }
        .eco-planet {
            position: absolute;
            top: -2.4rem;
            left: calc(50% - 2.4rem);
            width: 4.8rem;
            height: 4.8rem;
            pointer-events: auto;
            text-decoration: none;
            color: inherit;
        }
        .eco-planet-inner {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: .2rem;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            font-size: .62rem;
            font-weight: 600;
            letter-spacing: .02em;
            border: 1px solid rgba(148, 163, 184, .25);
            background: radial-gradient(circle at 35% 30%, rgba(30, 41, 59, .95), rgba(15, 23, 42, .98));
            box-shadow: 0 0 12px rgba(0, 0, 0, .35);
            animation: eco-planet-upright var(--eco-dur, 24s) linear infinite;
            transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
        }
        @keyframes eco-planet-upright {
            from { transform: rotate(calc(-1 * var(--eco-phase, 0deg))); }
            to { transform: rotate(calc(-1 * var(--eco-phase, 0deg) - 360deg)); }
        }
        .eco-orbit:has(.eco-planet:hover) {
            animation-play-state: paused;
            z-index: 8;
        }
        .eco-planet:hover .eco-planet-inner {
            animation-play-state: paused;
            transform: scale(1.14);
            border-color: rgba(34, 211, 238, .55);
            box-shadow: 0 0 22px currentColor;
        }
        .eco-planet i { font-size: 1.2rem; }
        .eco-planet--amber .eco-planet-inner { color: #fbbf24; box-shadow: 0 0 14px rgba(251, 191, 36, .15); }
        .eco-planet--sky .eco-planet-inner { color: #38bdf8; box-shadow: 0 0 14px rgba(56, 189, 248, .15); }
        .eco-planet--teal .eco-planet-inner { color: #2dd4bf; box-shadow: 0 0 14px rgba(45, 212, 191, .15); }
        .eco-planet--rose .eco-planet-inner { color: #fb7185; box-shadow: 0 0 14px rgba(251, 113, 133, .15); }
        .eco-planet--cyan .eco-planet-inner { color: #22d3ee; box-shadow: 0 0 14px rgba(34, 211, 238, .15); }
        .eco-planet--emerald .eco-planet-inner { color: #34d399; box-shadow: 0 0 14px rgba(52, 211, 153, .15); }
        .eco-planet--violet .eco-planet-inner { color: #a78bfa; box-shadow: 0 0 14px rgba(167, 139, 250, .15); }
        .eco-planet--orange .eco-planet-inner { color: #fb923c; box-shadow: 0 0 14px rgba(251, 146, 60, .18); }
        .eco-planet--red .eco-planet-inner { color: #f87171; box-shadow: 0 0 14px rgba(248, 113, 113, .18); }

        .eco-hub-wrap {
            position: relative;
            width: min(100%, 420px);
            margin: 0 auto;
        }
        .solaskinner-cloud {
            position: absolute;
            top: -1.25rem;
            left: -0.5rem;
            z-index: 12;
            display: block;
            pointer-events: none;
        }
        .solaskinner-sun-stage {
            position: relative;
            width: 6.5rem;
            height: 6.5rem;
            pointer-events: none;
        }
        .solaskinner-cloud-glow {
            position: absolute;
            inset: -35%;
            border-radius: 50%;
            background:
                radial-gradient(ellipse 90% 70% at 50% 55%, rgba(255, 255, 255, .22) 0%, transparent 55%),
                radial-gradient(circle, rgba(255, 193, 70, .38) 0%, rgba(255, 152, 0, .14) 48%, transparent 72%);
            filter: blur(2px);
            animation: solaskinner-glow 4s ease-in-out infinite;
        }
        @keyframes solaskinner-glow {
            0%, 100% { transform: scale(1); opacity: .8; }
            50% { transform: scale(1.1); opacity: 1; }
        }
        .solaskinner-sun-rays {
            position: absolute;
            inset: 0;
            border-radius: 50%;
            background: repeating-conic-gradient(
                from 0deg,
                rgba(255, 213, 74, .38) 0deg 9deg,
                transparent 9deg 28deg
            );
            mask: radial-gradient(circle, black 26%, transparent 70%);
            -webkit-mask: radial-gradient(circle, black 26%, transparent 70%);
            animation: solaskinner-rays 32s linear infinite;
        }
        @keyframes solaskinner-rays {
            to { transform: rotate(360deg); }
        }
        .solaskinner-sun-core {
            position: absolute;
            top: 50%;
            left: 50%;
            width: 50%;
            height: 50%;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            background: radial-gradient(circle at 38% 32%, #fffef0, #ffe566 42%, #ffb300 78%, #f57c00 100%);
            box-shadow: 0 0 24px rgba(255, 213, 74, .65), 0 0 48px rgba(255, 152, 0, .35);
            animation: solaskinner-core 3.5s ease-in-out infinite;
        }
        @keyframes solaskinner-core {
            0%, 100% { transform: translate(-50%, -50%) scale(1); }
            50% { transform: translate(-50%, -50%) scale(1.06); }
        }
        .solaskinner-sun-text {
            font-size: .44rem;
            font-weight: 800;
            letter-spacing: -.02em;
            line-height: 1;
            text-align: center;
            color: #92400e;
            text-shadow: 0 1px 2px rgba(255, 255, 255, .75);
            white-space: nowrap;
            transform: scale(.92);
        }
        .eco-hub:hover .eco-orbit,
        .eco-hub:hover .eco-planet-inner {
            animation-play-state: paused;
        }
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }
        .sr-only:focus {
            position: fixed;
            left: 1rem;
            top: 1rem;
            z-index: 200;
            width: auto;
            height: auto;
            margin: 0;
            padding: .65rem 1rem;
            overflow: visible;
            clip: auto;
            white-space: normal;
            background: #fff;
            color: #0f172a;
            font-weight: 600;
            border-radius: .75rem;
            box-shadow: 0 8px 24px rgba(0,0,0,.35);
        }

        @media (prefers-reduced-motion: reduce) {
            .eco-ring--inner,
            .eco-ring--outer,
            .eco-hub-core,
            .eco-hub-core::before,
            .eco-orbit,
            .eco-planet-inner,
            .solaskinner-cloud-glow,
            .solaskinner-sun-rays,
            .solaskinner-sun-core {
                animation: none !important;
            }
        }

        /* CTA — violet on dark gradient needs light text */
        #webdev a[class*="bg-violet-500"],
        #webdev a[class*="bg-violet-500"]:hover,
        #webdev a[class*="bg-violet-500"]:active {
            color: #fff !important;
        }

        /* News — Live demo: white text on colored background (same as other product cards) */
        #news a.news-live-demo,
        #news a.news-live-demo:hover,
        #news a.news-live-demo:active {
            color: #fff !important;
        }

        #news .news-products-grid {
            display: grid;
            gap: 1.5rem;
            grid-template-columns: 1fr;
        }
        @media (min-width: 1024px) {
            #news .news-products-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }
        #news .news-links-grid {
            display: grid;
            gap: 1rem;
            grid-template-columns: 1fr;
        }
        @media (min-width: 640px) {
            #news .news-links-grid {
                grid-template-columns: repeat(2, minmax(0, 1fr));
            }
        }
        @media (min-width: 1024px) {
            #news .news-links-grid {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }
        a[class*="border-slate-700"] {
            color: #e2e8f0;
        }
        a[class*="border-slate-700"]:hover {
            color: #fff;
        }
        a[class*="text-violet-200"],
        a[class*="text-violet-300"] {
            color: #ddd6fe !important;
        }
        a[class*="text-violet-200"]:hover,
        a[class*="text-violet-300"]:hover {
            color: #fff !important;
        }

        /* Webdev sidebar — SEO / AI / 24-7 links (mobile + desktop) */
        .webdev-service-links {
            display: grid;
            grid-template-columns: 1fr;
            gap: 0.5rem;
        }
        @media (min-width: 480px) and (max-width: 1023px) {
            .webdev-service-links {
                grid-template-columns: repeat(3, minmax(0, 1fr));
            }
        }
        .webdev-service-link {
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            width: 100%;
            min-height: 2.75rem;
            padding: 0.625rem 0.75rem;
            border-radius: 0.75rem;
            border: 1px solid rgba(139, 92, 246, 0.35);
            background: rgba(15, 23, 42, 0.5);
            color: #ddd6fe;
            font-size: 0.8125rem;
            font-weight: 500;
            line-height: 1.35;
            text-align: center;
            text-wrap: balance;
            transition: background 0.2s, border-color 0.2s, color 0.2s;
        }
        .webdev-service-link span {
            min-width: 0;
            word-break: break-word;
        }
        .webdev-service-link i {
            flex-shrink: 0;
            font-size: 0.875rem;
            opacity: 0.9;
        }
        .webdev-service-link:hover {
            background: rgba(139, 92, 246, 0.2);
            border-color: rgba(167, 139, 250, 0.55);
            color: #fff;
        }
