        /* BASE STYLES & CSS VARIABLES */
        * { margin: 0; padding: 0; box-sizing: border-box; }

        :root {
            --primary: #000000;
            --accent: #0052FF;
            --accent-light: #3377FF;
            --text: #171717;
            --text-muted: #595959;
            --border: #e5e5e5;
            --bg: #ffffff;
            --bg-alt: #fafafa;
            --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
            --transition-base: 300ms;
            --spacing-xs: 0.5rem;
            --spacing-sm: 1rem;
            --spacing-md: 2rem;
            --spacing-lg: 4rem;
            --spacing-xl: 6rem;
            --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
            --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
            --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
        }

        @font-face {
            font-family: 'Inter Fallback';
            src: local('BlinkMacSystemFont'), local('Segoe UI'), local('Arial');
            ascent-override: 90.49%;
            descent-override: 22.48%;
            line-height-override: 1.2;
            size-adjust: 107.64%;
        }

        html { scroll-behavior: smooth; }

        body {
            font-family: 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            color: var(--text);
            line-height: 1.6;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            padding: 0 2rem;
        }

        section { padding: var(--spacing-xl) 0; }

        /* Navigation */
        nav {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            background: rgba(255, 255, 255, 0.72);
            backdrop-filter: saturate(180%) blur(20px);
            -webkit-backdrop-filter: saturate(180%) blur(20px);
            border-bottom: 1px solid transparent;
            transition: background 200ms var(--ease-out-expo),
                        border-color 200ms var(--ease-out-expo),
                        box-shadow 200ms var(--ease-out-expo),
                        padding 200ms var(--ease-out-expo);
        }

        nav.scrolled {
            background: rgba(255, 255, 255, 0.92);
            border-bottom: 1px solid var(--border);
            box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
        }
        nav.scrolled .nav-content { padding-top: 0.625rem; padding-bottom: 0.625rem; }

        .nav-content {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 2rem;
            padding: 0.875rem 2rem;
            max-width: 1280px;
            margin: 0 auto;
            transition: padding 200ms var(--ease-out-expo);
        }

        .logo {
            display: flex;
            align-items: center;
            line-height: 0;
        }
        .logo a {
            display: inline-flex;
            align-items: center;
            text-decoration: none;
            line-height: 0;
        }
        .logo img {
            display: block;
            transition: opacity 150ms ease;
        }
        .logo a:hover img { opacity: 0.85; }

        .nav-links {
            display: flex;
            gap: 0.25rem;
            list-style: none;
            align-items: center;
            margin: 0 auto;
        }

        .nav-links a {
            position: relative;
            display: inline-flex;
            align-items: center;
            color: var(--text-muted);
            font-size: 0.875rem;
            font-weight: 500;
            text-decoration: none;
            padding: 0.5rem 0.875rem;
            border-radius: 6px;
            transition: color 150ms ease, background 150ms ease;
        }

        .nav-links a:hover {
            color: var(--primary);
            background: rgba(0, 0, 0, 0.04);
        }
        .nav-links a.is-active {
            color: var(--primary);
        }
        .nav-links a.is-active::after {
            content: "";
            position: absolute;
            bottom: 2px;
            left: 50%;
            transform: translateX(-50%);
            width: 4px;
            height: 4px;
            border-radius: 50%;
            background: var(--accent);
        }

        .nav-actions {
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .nav-mobile-cta { display: none; }

        .nav-cta {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.6rem 1.1rem;
            background: var(--primary);
            color: white;
            font-size: 0.8125rem;
            font-weight: 600;
            border-radius: 6px;
            text-decoration: none;
            white-space: nowrap;
            transition: background 200ms var(--ease-out-expo),
                        transform 200ms var(--ease-out-expo),
                        box-shadow 200ms var(--ease-out-expo);
        }
        .nav-cta::after {
            content: "→";
            font-weight: 400;
            transition: transform 200ms var(--ease-out-expo);
        }
        .nav-cta:hover {
            background: var(--accent);
            transform: translateY(-1px);
            box-shadow: 0 8px 16px -6px rgba(0, 82, 255, 0.35);
        }
        .nav-cta:hover::after { transform: translateX(2px); }

        /* Compact language pill */
        .lang-selector {
            position: relative;
            display: inline-flex;
            align-items: center;
            background: rgba(0, 0, 0, 0.04);
            border-radius: 6px;
            padding: 2px;
            font-family: 'JetBrains Mono', ui-monospace, monospace;
        }
        .lang-button {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.35rem 0.6rem;
            background: transparent;
            border: 0;
            border-radius: 4px;
            cursor: pointer;
            font-size: 0.75rem;
            font-weight: 600;
            color: var(--text);
            font-family: inherit;
            transition: background 150ms ease;
        }
        .lang-button:hover { background: rgba(0, 0, 0, 0.04); }
        .lang-flag { font-size: 0.95rem; line-height: 1; }

        .lang-dropdown {
            position: absolute;
            top: calc(100% + 0.5rem);
            right: 0;
            background: white;
            border: 1px solid var(--border);
            border-radius: 8px;
            box-shadow: 0 12px 28px -10px rgba(0, 0, 0, 0.15), 0 4px 8px -2px rgba(0, 0, 0, 0.05);
            min-width: 160px;
            padding: 0.35rem;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-6px);
            transition: opacity 180ms var(--ease-out-expo),
                        transform 180ms var(--ease-out-expo),
                        visibility 0s linear 180ms;
            z-index: 1001;
        }

        .lang-selector.active .lang-dropdown {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            transition-delay: 0s;
        }

        .lang-option {
            display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.55rem 0.75rem;
            cursor: pointer;
            border: none;
            background: none;
            width: 100%;
            text-align: left;
            font-size: 0.8125rem;
            color: var(--text);
            font-family: inherit;
            border-radius: 5px;
            transition: background 150ms ease;
        }
        .lang-option:hover { background: var(--bg-alt); }
        .lang-option.selected {
            background: var(--bg-alt);
            color: var(--primary);
            font-weight: 600;
        }
        .lang-option.selected::after {
            content: "✓";
            margin-left: auto;
            color: var(--accent);
        }

        /* Hero Section */
        /* Scroll progress bar */
        .scroll-progress {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            height: 2px;
            background: transparent;
            z-index: 9999;
            pointer-events: none;
        }
        .scroll-progress-bar {
            height: 100%;
            width: 0;
            background: linear-gradient(90deg, var(--accent), var(--accent-light));
            transition: width 80ms linear;
        }

        .hero {
            min-height: clamp(600px, 100vh, 900px);
            display: flex;
            align-items: center;
            padding-top: 80px;
            position: relative;
            overflow: hidden;
        }

        .hero .container { position: relative; z-index: 1; }
        .hero::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 1px;
            background: var(--border);
            z-index: 0;
        }

        .badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0;
            background: transparent;
            border: 0;
            color: var(--text-muted);
            font-family: 'JetBrains Mono', ui-monospace, monospace;
            font-size: 0.75rem;
            font-weight: 500;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 2rem;
        }
        .badge::before {
            content: "—";
            color: var(--accent);
            font-weight: 700;
        }

        .hero h1 {
            font-size: clamp(2.75rem, 5.5vw, 4.5rem);
            font-weight: 700;
            line-height: 1.02;
            letter-spacing: -0.04em;
            margin-bottom: 1.75rem;
            max-width: 18ch;
        }

        .hero p {
            font-size: 1.25rem;
            color: var(--text-muted);
            max-width: 650px;
            margin-bottom: 2rem;
        }

        .hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }

        .hero-trust {
            display: flex;
            align-items: center;
            gap: 1.25rem;
            margin-top: 2.5rem;
            padding-top: 2rem;
            border-top: 1px solid var(--border);
            flex-wrap: wrap;
        }
        .hero-trust-item {
            display: flex;
            flex-direction: column;
            gap: 0.15rem;
        }
        .hero-trust-item strong {
            font-size: 1.5rem;
            font-weight: 800;
            line-height: 1;
            letter-spacing: -0.02em;
            font-family: 'JetBrains Mono', ui-monospace, monospace;
            color: var(--primary);
        }
        .hero-trust-item span {
            font-size: 0.78rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.06em;
            font-weight: 500;
        }
        .hero-trust-divider {
            width: 1px;
            height: 32px;
            background: var(--border);
        }
        @media (max-width: 600px) {
            .hero-trust { gap: 1rem; }
            .hero-trust-divider { display: none; }
            .hero-trust-item { min-width: 90px; }
        }

        /* Hero 2-col grid */
        .hero-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
            align-items: center;
        }

        /* Hero right — code terminal card */
        .hero-visual {
            display: flex;
            flex-direction: column;
            gap: 0.75rem;
            animation: heroFloat 6s ease-in-out infinite;
        }
        @keyframes heroFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-10px); }
        }
        .code-card {
            background: #0d1117;
            border-radius: 10px;
            overflow: hidden;
            box-shadow: 0 24px 60px -12px rgba(0,0,0,0.22), 0 0 0 1px rgba(255,255,255,0.07);
        }
        .code-header {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.7rem 1rem;
            background: #161b22;
            border-bottom: 1px solid rgba(255,255,255,0.06);
        }
        .code-dots { display: flex; gap: 0.4rem; }
        .code-dots span { width: 11px; height: 11px; border-radius: 50%; display: block; }
        .code-filename {
            flex: 1;
            text-align: center;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.7rem;
            color: rgba(255,255,255,0.35);
            padding-right: 3rem;
        }
        .code-body {
            margin: 0;
            padding: 1.25rem 1.5rem 1.5rem;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.78rem;
            line-height: 1.8;
            color: #e6edf3;
            overflow: hidden;
        }
        .c-kw  { color: #ff7b72; }
        .c-id  { color: #79c0ff; }
        .c-key { color: #7ee787; }
        .c-str { color: #a5d6ff; }
        .c-num { color: #f8c555; }
        .c-fn  { color: #d2a8ff; }
        .c-cm  { color: #8b949e; }
        .code-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            align-self: flex-start;
            padding: 0.5rem 0.9rem;
            background: rgba(39, 201, 63, 0.08);
            border: 1px solid rgba(39, 201, 63, 0.22);
            border-radius: 6px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.72rem;
            color: #27c93f;
        }
        .code-badge-dot {
            width: 7px;
            height: 7px;
            border-radius: 50%;
            background: #27c93f;
            flex-shrink: 0;
            animation: codePulse 2s ease-in-out infinite;
        }
        @keyframes codePulse {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.4; }
        }

        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            padding: 0.875rem 1.75rem;
            font-size: 0.9375rem;
            font-weight: 600;
            border-radius: 6px;
            text-decoration: none;
            transition: all var(--transition-base);
            cursor: pointer;
        }

        .btn-primary {
            background: var(--accent);
            color: white;
            border: 1px solid var(--accent);
            box-shadow: 0 1px 2px rgba(0, 82, 255, 0.1);
        }

        .btn-primary:hover {
            background: var(--accent-light);
            transform: translateY(-2px);
            box-shadow: 0 12px 24px -8px rgba(0, 82, 255, 0.4), 0 4px 8px -2px rgba(0, 82, 255, 0.2);
        }

        .btn-secondary {
            background: white;
            color: var(--text);
            border: 1px solid var(--border);
        }

        .btn-secondary:hover {
            border-color: var(--primary);
            transform: translateY(-2px);
            box-shadow: 0 8px 16px -4px rgba(0, 0, 0, 0.1);
        }

        /* Section Styles */
        .services { background: var(--bg-alt); }

        .section-header {
            text-align: center;
            max-width: 700px;
            margin: 0 auto var(--spacing-lg);
        }

        .section-label {
            font-size: 0.75rem;
            font-weight: 700;
            color: var(--accent);
            text-transform: uppercase;
            letter-spacing: 0.15em;
            margin-bottom: 1rem;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }
        .section-label::before {
            content: "";
            width: 24px;
            height: 1px;
            background: var(--accent);
        }
        .section-header h2 {
            letter-spacing: -0.025em;
        }

        .services-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(min(350px, 100%), 1fr));
            gap: 1.5rem;
        }

        .service-card {
            background: white;
            border: 1px solid var(--border);
            padding: 2rem;
            border-radius: 10px;
            position: relative;
            overflow: hidden;
            transition: border-color var(--transition-base) var(--ease-out-expo),
                        box-shadow var(--transition-base) var(--ease-out-expo),
                        transform var(--transition-base) var(--ease-out-expo);
        }
        .service-card::before {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 3px;
            background: linear-gradient(90deg, var(--accent), var(--accent-light));
            transform: scaleX(0);
            transform-origin: left;
            transition: transform var(--transition-base) var(--ease-out-expo);
        }
        .service-card:hover {
            border-color: rgba(0, 82, 255, 0.35);
            box-shadow: 0 20px 40px -12px rgba(0, 82, 255, 0.15);
            transform: translateY(-4px);
        }
        .service-card:hover::before { transform: scaleX(1); }

        .service-card h3 {
            font-size: 1.25rem;
            font-weight: 700;
            margin-bottom: 1rem;
            letter-spacing: -0.01em;
        }

        .service-card p {
            font-size: 1rem;
            color: var(--text-muted);
            line-height: 1.7;
            margin-bottom: 1rem;
        }

        .service-card strong {
            color: var(--text);
            font-size: 0.875rem;
            display: block;
            margin-top: 1rem;
        }

        .service-icon {
            width: 48px;
            height: 48px;
            margin-bottom: 1.25rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            background: linear-gradient(135deg, rgba(0, 82, 255, 0.08), rgba(0, 82, 255, 0.02));
            border: 1px solid rgba(0, 82, 255, 0.15);
            border-radius: 10px;
            color: var(--accent);
            transition: transform var(--transition-base) var(--ease-out-expo),
                        background var(--transition-base) var(--ease-out-expo);
        }
        .service-card:hover .service-icon {
            transform: translateY(-2px) scale(1.05);
            background: linear-gradient(135deg, rgba(0, 82, 255, 0.18), rgba(0, 82, 255, 0.06));
        }
        .service-icon svg { width: 24px; height: 24px; stroke: currentColor; fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

        /* Tech stack — editorial monochrome */
        .tech-stack {
            padding: var(--spacing-xl) 0;
            background: var(--bg);
            border-top: 1px solid var(--border);
            border-bottom: 1px solid var(--border);
        }
        .tech-cats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2.5rem;
            margin-top: 3rem;
        }
        .tech-cat-label {
            font-family: 'JetBrains Mono', ui-monospace, monospace;
            font-size: 0.7rem;
            font-weight: 500;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.12em;
            margin-bottom: 1rem;
            padding-bottom: 0.5rem;
            border-bottom: 1px solid var(--border);
        }
        .tech-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
        }
        .tech-tag {
            display: inline-flex;
            align-items: center;
            padding: 0.35rem 0.75rem;
            font-family: 'JetBrains Mono', ui-monospace, monospace;
            font-size: 0.78rem;
            font-weight: 500;
            color: var(--text);
            background: var(--bg-alt);
            border: 1px solid var(--border);
            border-radius: 4px;
            transition: border-color 200ms var(--ease-out-expo),
                        color 200ms var(--ease-out-expo);
        }
        .tech-tag:hover {
            border-color: var(--primary);
            color: var(--primary);
        }

        /* About Section */
        .about-content {
            max-width: 800px;
            margin: 0 auto;
        }

        .about h2 {
            font-size: 2.5rem;
            font-weight: 800;
            margin-bottom: 1.5rem;
        }

        .about p {
            font-size: 1.125rem;
            color: var(--text-muted);
            line-height: 1.8;
            margin-bottom: 1.5rem;
        }

        .values-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 1.25rem;
            margin-top: var(--spacing-lg);
        }
        .value-item {
            padding: 1.5rem;
            background: var(--bg-alt);
            border: 1px solid var(--border);
            border-radius: 8px;
            transition: border-color var(--transition-base) var(--ease-out-expo),
                        background var(--transition-base) var(--ease-out-expo);
        }
        .value-item:hover {
            border-color: rgba(0, 82, 255, 0.3);
            background: white;
        }
        .value-item h3 {
            font-size: 1.0625rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
        }
        .value-item h3::before {
            content: "";
            width: 8px;
            height: 8px;
            background: var(--accent);
            border-radius: 50%;
            flex-shrink: 0;
        }

        .value-item p {
            font-size: 0.9375rem;
            color: var(--text-muted);
            line-height: 1.6;
        }

        /* Process Section */
        .process { background: var(--bg-alt); }

        .process-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 2rem;
            margin-top: var(--spacing-lg);
            position: relative;
            counter-reset: step;
        }
        /* Connector line between steps */
        .process-grid::before {
            content: "";
            position: absolute;
            top: 32px;
            left: 60px;
            right: 60px;
            height: 1px;
            background: linear-gradient(90deg, transparent 0%, rgba(0, 82, 255, 0.25) 10%, rgba(0, 82, 255, 0.25) 90%, transparent 100%);
            z-index: 0;
            pointer-events: none;
        }
        @media (max-width: 768px) {
            .process-grid::before { display: none; }
        }

        .process-step {
            background: white;
            padding: 2rem;
            border-radius: 8px;
            border: 1px solid var(--border);
            position: relative;
            counter-increment: step;
            transition: border-color var(--transition-base) var(--ease-out-expo),
                        transform var(--transition-base) var(--ease-out-expo),
                        box-shadow var(--transition-base) var(--ease-out-expo);
        }
        .process-step:hover {
            border-color: var(--accent);
            transform: translateY(-4px);
            box-shadow: 0 12px 24px -8px rgba(0, 82, 255, 0.15);
        }
        .process-step::before {
            content: counter(step, decimal-leading-zero);
            position: absolute;
            top: -16px;
            left: 24px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            background: var(--primary);
            color: white;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.85rem;
            font-weight: 600;
            border-radius: 50%;
            border: 3px solid var(--bg-alt);
            z-index: 2;
        }
        .process-step:hover::before {
            background: var(--accent);
        }

        .process-step h3 {
            font-size: 1.25rem;
            font-weight: 700;
            margin: 0.75rem 0 1rem;
            color: var(--primary);
            letter-spacing: -0.01em;
        }

        .process-step p {
            color: var(--text-muted);
            line-height: 1.7;
        }

        .process-step ul {
            margin-top: 1rem;
            padding-left: 1.5rem;
        }

        .process-step li {
            color: var(--text-muted);
            margin-bottom: 0.5rem;
            line-height: 1.6;
        }

        /* Case Studies */
        /* Case Study redesign */
        .case-study {
            background: white;
            border: 1px solid var(--border);
            padding: 2.5rem;
            margin-bottom: 2rem;
            border-radius: 12px;
            position: relative;
            overflow: hidden;
            transition: border-color 250ms var(--ease-out-expo), box-shadow 250ms var(--ease-out-expo);
        }
        .case-study:hover {
            border-color: rgba(0, 82, 255, 0.25);
            box-shadow: 0 14px 40px -16px rgba(0, 0, 0, 0.08);
        }
        .case-study-tag {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.3rem 0.7rem;
            background: rgba(0, 82, 255, 0.06);
            color: var(--accent);
            font-family: 'JetBrains Mono', ui-monospace, monospace;
            font-size: 0.7rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            border-radius: 4px;
            margin-bottom: 1rem;
        }
        .case-study-tag::before {
            content: "";
            width: 5px;
            height: 5px;
            border-radius: 50%;
            background: var(--accent);
        }

        .case-study h3 {
            font-size: clamp(1.4rem, 2.5vw, 1.75rem);
            font-weight: 700;
            line-height: 1.2;
            letter-spacing: -0.02em;
            margin-bottom: 1.5rem;
            color: var(--primary);
        }

        .case-study-meta {
            display: flex;
            flex-wrap: wrap;
            gap: 2rem;
            padding-bottom: 1.5rem;
            margin-bottom: 1.75rem;
            border-bottom: 1px solid var(--border);
            font-size: 0.875rem;
            color: var(--text-muted);
        }
        .case-study-meta > span {
            display: inline-flex;
            flex-direction: column;
            gap: 0.15rem;
        }
        .case-study-meta strong {
            font-family: 'JetBrains Mono', ui-monospace, monospace;
            font-size: 0.7rem;
            font-weight: 500;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.1em;
        }
        .case-study-meta-value {
            color: var(--primary);
            font-weight: 600;
        }

        .case-study-tech {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
            margin-bottom: 1.75rem;
        }
        .case-study-tech .tech-tag {
            padding: 0.25rem 0.6rem;
            font-size: 0.72rem;
        }

        .case-study-body {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1.75rem;
            margin-bottom: 1.75rem;
        }
        @media (max-width: 768px) {
            .case-study-body { grid-template-columns: 1fr; gap: 1.25rem; }
            .case-study { padding: 1.75rem; }
        }
        .case-study-block {
            padding: 1.25rem;
            background: var(--bg-alt);
            border-radius: 8px;
            border-left: 3px solid var(--border);
        }
        .case-study-block.problem { border-left-color: #f87171; }
        .case-study-block.solution { border-left-color: var(--accent); }
        .case-study-block-label {
            display: block;
            font-family: 'JetBrains Mono', ui-monospace, monospace;
            font-size: 0.7rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-muted);
            margin-bottom: 0.5rem;
        }
        .case-study-block.problem .case-study-block-label { color: #ef4444; }
        .case-study-block.solution .case-study-block-label { color: var(--accent); }
        .case-study-block p {
            color: var(--text);
            font-size: 0.95rem;
            line-height: 1.6;
            margin: 0;
        }

        .case-study-results {
            background: var(--primary);
            padding: 1.75rem;
            border-radius: 10px;
            margin-top: 0;
            color: white;
        }

        .case-study-results h4 {
            font-family: 'JetBrains Mono', ui-monospace, monospace;
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.12em;
            color: rgba(255, 255, 255, 0.5);
            margin-bottom: 1.25rem;
        }

        .case-study-metrics {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: 1rem;
        }
        .metric {
            padding: 1rem;
            background: rgba(255, 255, 255, 0.05);
            border-radius: 8px;
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        .metric-value {
            display: block;
            font-size: clamp(1.5rem, 2.5vw, 2rem);
            font-weight: 800;
            line-height: 1;
            letter-spacing: -0.025em;
            font-feature-settings: 'tnum';
            background: linear-gradient(135deg, #fff 0%, #c5d3ff 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            margin-bottom: 0.4rem;
        }
        .metric-label {
            font-size: 0.78rem;
            color: rgba(255, 255, 255, 0.6);
            line-height: 1.4;
        }

        /* Clients */
        .clients { background: var(--bg-alt); }
        .clients-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 1rem;
            margin-top: 2rem;
        }
        .client-card {
            display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 1rem 1.25rem;
            background: white;
            border: 1px solid var(--border);
            border-radius: 6px;
            text-decoration: none;
            color: var(--text);
            transition: border-color var(--transition-base) var(--ease-out-expo),
                        transform var(--transition-base) var(--ease-out-expo),
                        box-shadow var(--transition-base) var(--ease-out-expo);
        }
        .client-card:hover {
            border-color: var(--accent);
            transform: translateY(-2px);
            box-shadow: var(--shadow-md);
        }
        .client-card img {
            width: 32px;
            height: 32px;
            border-radius: 4px;
            flex-shrink: 0;
            background: var(--bg-alt);
        }
        .client-card-text {
            display: flex;
            flex-direction: column;
            min-width: 0;
        }
        .client-card-name {
            font-weight: 600;
            font-size: 0.95rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .client-card-tag {
            font-size: 0.75rem;
            color: var(--text-muted);
        }

        /* Calculator */
        .calculator { background: var(--bg-alt); }
        .calc-wrap {
            max-width: 760px;
            margin: 2rem auto 0;
            background: white;
            border: 1px solid var(--border);
            border-radius: 8px;
            padding: 2rem;
        }
        .calc-row { margin-bottom: 1.5rem; }
        .calc-row label.calc-label {
            display: block;
            font-weight: 600;
            margin-bottom: 0.5rem;
            font-size: 0.95rem;
        }
        .calc-row select, .calc-row input[type="email"], .calc-row input[type="text"] {
            width: 100%;
            padding: 0.75rem;
            border: 1px solid var(--border);
            border-radius: 4px;
            font-size: 1rem;
            font-family: inherit;
            background: white;
        }
        .calc-features {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
            gap: 0.5rem;
        }
        .calc-features label {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 400;
            font-size: 0.9rem;
            cursor: pointer;
            padding: 0.6rem 0.75rem;
            border: 1px solid var(--border);
            border-radius: 4px;
            transition: border-color var(--transition-base) var(--ease-out-expo), background var(--transition-base) var(--ease-out-expo);
            background: white;
        }
        .calc-features label:hover { border-color: var(--accent); }
        .calc-features input { margin: 0; cursor: pointer; }
        .calc-features label.checked { border-color: var(--accent); background: rgba(0,82,255,0.05); }
        .calc-result {
            background: var(--primary);
            color: white;
            padding: 1.75rem;
            border-radius: 6px;
            text-align: center;
            margin-top: 1.5rem;
        }
        .calc-result-amount {
            font-size: 2rem;
            font-weight: 800;
            margin: 0.5rem 0;
        }
        .calc-result-label { font-size: 0.85rem; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 0.05em; }
        .calc-result-disclaimer { font-size: 0.75rem; color: rgba(255,255,255,0.55); margin-top: 0.75rem; line-height: 1.5; }
        .calc-result .btn { background: var(--accent); color: white; border: none; margin-top: 1rem; }
        .calc-result .btn:hover { background: var(--accent-light); }

        .calc-lead { margin-top: 1rem; text-align: left; }
        .calc-lead-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 0.5rem;
            margin-bottom: 0.75rem;
        }
        @media (max-width: 540px) { .calc-lead-row { grid-template-columns: 1fr; } }
        .calc-lead input {
            width: 100%;
            padding: 0.7rem 0.85rem;
            border: 1px solid rgba(255,255,255,0.15);
            background: rgba(255,255,255,0.06);
            color: white;
            border-radius: 5px;
            font-family: inherit;
            font-size: 0.875rem;
        }
        .calc-lead input::placeholder { color: rgba(255,255,255,0.4); }
        .calc-lead input:focus {
            outline: none;
            border-color: var(--accent);
            background: rgba(255,255,255,0.1);
        }
        .calc-lead .btn {
            width: 100%;
            margin-top: 0;
        }
        .calc-lead-msg {
            margin: 0.75rem 0 0;
            padding: 0.75rem;
            border-radius: 5px;
            font-size: 0.85rem;
            text-align: center;
        }
        .calc-lead-msg.success {
            background: rgba(16, 185, 129, 0.15);
            color: #6ee7b7;
            border: 1px solid rgba(16, 185, 129, 0.3);
        }
        .calc-lead-msg.error {
            background: rgba(239, 68, 68, 0.15);
            color: #fca5a5;
            border: 1px solid rgba(239, 68, 68, 0.3);
        }

        /* FAQ */
        .faq { background: var(--bg-alt); }

        .faq-list { max-width: 800px; margin: 0 auto; }

        .faq-item {
            background: white;
            border: 1px solid var(--border);
            margin-bottom: 1rem;
            border-radius: 4px;
            overflow: hidden;
        }

        .faq-question {
            padding: 1.5rem;
            font-size: 1.125rem;
            font-weight: 600;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
            transition: background var(--transition-base);
        }

        .faq-question:hover {
            background: rgba(14, 165, 233, 0.05);
        }

        .faq-question::after {
            content: '+';
            font-size: 1.5rem;
            color: var(--primary);
            transition: transform var(--transition-base);
        }

        .faq-item.active .faq-question::after {
            transform: rotate(45deg);
        }

        .faq-answer {
            max-height: 0;
            overflow: hidden;
            transition: max-height var(--transition-base);
        }

        .faq-item.active .faq-answer { max-height: 1500px; }

        .faq-answer-content {
            padding: 0 1.5rem 1.5rem;
            color: var(--text-muted);
            line-height: 1.7;
        }

        /* Contact */
        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
        }

        .contact-info h2 {
            font-size: 2.5rem;
            font-weight: 800;
            margin-bottom: 1rem;
        }

        .contact-info > p {
            font-size: 1.125rem;
            color: var(--text-muted);
            margin-bottom: 2rem;
        }

        .contact-details { list-style: none; }
        .contact-cal-btn {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            margin: 1.25rem 0 1.5rem;
            padding: 0.75rem 1.25rem;
            border-radius: 6px;
        }

        .contact-details li { margin-bottom: 1.5rem; }

        .contact-label {
            font-size: 0.75rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            color: var(--text-muted);
            margin-bottom: 0.25rem;
        }

        .contact-value {
            font-size: 1.125rem;
            font-weight: 600;
        }

        /* Form */
        .form { display: flex; flex-direction: column; gap: 1rem; }

        .form-group label {
            display: block;
            font-size: 0.875rem;
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: var(--text);
        }

        .form-group input,
        .form-group select,
        .form-group textarea {
            width: 100%;
            padding: 0.875rem;
            border: 1px solid var(--border);
            font-family: inherit;
            font-size: 1rem;
            background: white;
            transition: all var(--transition-base);
        }

        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: var(--accent);
            box-shadow: 0 0 0 3px rgba(0, 82, 255, 0.1);
        }

        .form-group textarea {
            min-height: 150px;
            resize: vertical;
        }

        /* Form Validation Styles */
        .form-group {
            position: relative;
        }

        .form-group.success input,
        .form-group.success select,
        .form-group.success textarea {
            border-color: #10b981;
        }

        .form-group.error input,
        .form-group.error select,
        .form-group.error textarea {
            border-color: #ef4444;
        }

        .form-group.error::after {
            content: '✕';
            position: absolute;
            right: 1rem;
            top: 2.5rem;
            color: #ef4444;
            font-weight: bold;
        }

        .form-group.success::after {
            content: '✓';
            position: absolute;
            right: 1rem;
            top: 2.5rem;
            color: #10b981;
            font-weight: bold;
        }

        .error-message {
            display: none;
            color: #ef4444;
            font-size: 0.875rem;
            margin-top: 0.5rem;
        }

        .form-group.error .error-message {
            display: block;
            animation: slideDown 0.3s ease;
        }

        @keyframes slideDown {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        /* Character Counter */
        .char-counter {
            text-align: right;
            font-size: 0.75rem;
            color: var(--text-muted);
            margin-top: 0.25rem;
        }

        .char-counter.warning {
            color: #f59e0b;
        }

        .char-counter.error {
            color: #ef4444;
        }

        /* Button Loading State */
        .btn.loading {
            position: relative;
            color: transparent;
            pointer-events: none;
        }

        .btn.loading::after {
            content: '';
            position: absolute;
            width: 20px;
            height: 20px;
            top: 50%;
            left: 50%;
            margin-left: -10px;
            margin-top: -10px;
            border: 2px solid rgba(255, 255, 255, 0.3);
            border-top-color: white;
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
        }

        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        /* Success Animation */
        .btn.success {
            background: #10b981;
            border-color: #10b981;
        }

        .btn.success::after {
            content: '✓';
            color: white;
            font-size: 1.2rem;
        }

        /* Shake Animation */
        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-10px); }
            75% { transform: translateX(10px); }
        }

        .shake {
            animation: shake 0.5s ease-in-out;
        }

        /* ARIA Live Region */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border-width: 0;
        }
        .sr-only-focusable:focus {
            position: fixed; top: 0.75rem; left: 0.75rem; width: auto; height: auto;
            padding: 0.5rem 1rem; overflow: visible; clip: auto; white-space: normal;
            background: var(--accent); color: #fff; border-radius: 6px;
            font-size: 0.875rem; font-weight: 600; z-index: 10000; text-decoration: none;
        }

        /* Security Features Styles */
        .form-message {
            padding: 1rem;
            border-radius: 4px;
            margin-bottom: 1rem;
            font-size: 0.9375rem;
            display: none;
        }

        .form-message.success {
            background: #d1fae5;
            border: 1px solid #10b981;
            color: #065f46;
            display: block;
        }

        .form-message.error {
            background: #fee2e2;
            border: 1px solid #ef4444;
            color: #991b1b;
            display: block;
        }

        .checkbox-label {
            display: flex;
            align-items: flex-start;
            gap: 0.5rem;
            font-size: 0.875rem;
            font-weight: 400;
            cursor: pointer;
        }

        .checkbox-label input[type="checkbox"] {
            margin-top: 0.25rem;
            width: auto;
            flex-shrink: 0;
        }

        .checkbox-label span {
            flex: 1;
            line-height: 1.5;
        }

        .checkbox-label a {
            color: var(--accent);
            text-decoration: none;
            font-weight: 500;
        }

        .checkbox-label a:hover {
            text-decoration: underline;
        }

        .form-footer {
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px solid var(--border);
        }

        .form-footer small {
            color: var(--text-muted);
            font-size: 0.8125rem;
            line-height: 1.5;
        }

        .form-footer a {
            color: var(--accent);
            text-decoration: none;
        }

        .form-footer a:hover {
            text-decoration: underline;
        }

        .cookie-banner {
            position: fixed;
            right: 1.5rem;
            bottom: 1.5rem;
            z-index: 2000;
            width: min(380px, calc(100vw - 3rem));
            padding: 1.25rem;
            border: 1px solid var(--border);
            background: var(--bg);
            border-radius: 8px;
            box-shadow: 0 20px 50px -12px rgba(0, 0, 0, 0.18), 0 6px 12px -2px rgba(0, 0, 0, 0.06);
            display: none;
        }

        .cookie-banner.active {
            display: block;
        }

        .cookie-banner p {
            color: var(--text-muted);
            font-size: 0.875rem;
            line-height: 1.55;
            margin: 0.5rem 0 1.25rem;
        }

        .cookie-title {
            color: var(--primary);
            font-weight: 700;
            font-size: 1rem;
            letter-spacing: -0.01em;
        }

        .cookie-actions {
            display: flex;
            gap: 0.5rem;
            align-items: center;
            flex-wrap: wrap;
        }

        .cookie-actions .btn {
            min-height: 2.5rem;
            padding: 0.55rem 1rem;
            font-size: 0.875rem;
            border: 0;
            cursor: pointer;
        }
        .cookie-actions .btn-secondary {
            border: 1px solid var(--border);
            background: transparent;
        }
        .cookie-link {
            margin-left: auto;
            font-size: 0.8125rem;
            color: var(--text-muted);
            text-decoration: underline;
            text-underline-offset: 2px;
        }
        .cookie-link:hover { color: var(--primary); }

        .cookie-settings {
            display: inline;
            border: 0;
            background: none;
            color: #a3a3a3;
            cursor: pointer;
            font: inherit;
            margin-top: 0.75rem;
            text-decoration: underline;
        }

        .cookie-settings:hover,
        .cookie-settings:focus {
            color: white;
        }

        button:disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }

        /* Footer */
        footer {
            background: var(--primary);
            color: white;
            padding: 4rem 0 2rem;
        }

        .footer-content {
            display: grid;
            grid-template-columns: 2fr 1fr 1fr 1.5fr;
            gap: 2.5rem;
            margin-bottom: 3rem;
        }
        @media (max-width: 900px) { .footer-content { grid-template-columns: 1fr 1fr; } }
        @media (max-width: 540px) { .footer-content { grid-template-columns: 1fr; } }

        .footer-newsletter p { color: #a3a3a3; font-size: 0.9rem; line-height: 1.55; margin-bottom: 1rem; }
        .newsletter-form {
            display: flex;
            gap: 0.4rem;
            flex-wrap: wrap;
        }
        .newsletter-form input {
            flex: 1;
            min-width: 0;
            padding: 0.6rem 0.85rem;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 5px;
            color: white;
            font-family: inherit;
            font-size: 0.875rem;
        }
        .newsletter-form input::placeholder { color: rgba(255,255,255,0.4); }
        .newsletter-form input:focus {
            outline: none;
            border-color: var(--accent);
        }
        .newsletter-form button {
            padding: 0.6rem 1rem;
            background: var(--accent);
            color: white;
            border: none;
            border-radius: 5px;
            font-family: inherit;
            font-size: 0.85rem;
            font-weight: 600;
            cursor: pointer;
            transition: background 200ms;
        }
        .newsletter-form button:hover { background: var(--accent-light); }
        .newsletter-msg {
            margin-top: 0.6rem;
            padding: 0.5rem 0.75rem;
            border-radius: 4px;
            font-size: 0.8rem;
        }
        .newsletter-msg.success { background: rgba(16,185,129,0.15); color: #6ee7b7; }
        .newsletter-msg.error { background: rgba(239,68,68,0.15); color: #fca5a5; }

        /* Sticky mobile CTA bar */
        .sticky-cta {
            position: fixed;
            bottom: -100%;
            left: 0;
            right: 0;
            z-index: 998;
            background: rgba(255, 255, 255, 0.96);
            backdrop-filter: saturate(180%) blur(20px);
            -webkit-backdrop-filter: saturate(180%) blur(20px);
            border-top: 1px solid var(--border);
            padding: 0.75rem 1rem;
            transition: bottom 300ms var(--ease-out-expo);
            box-shadow: 0 -4px 12px -2px rgba(0,0,0,0.08);
        }
        .sticky-cta.visible { bottom: 0; }
        .sticky-cta-inner {
            max-width: 1280px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
        }
        .sticky-cta-text {
            flex: 1;
            min-width: 0;
        }
        .sticky-cta-title {
            font-size: 0.9rem;
            font-weight: 700;
            color: var(--primary);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .sticky-cta-sub {
            font-size: 0.75rem;
            color: var(--text-muted);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .sticky-cta-btn {
            padding: 0.6rem 1.25rem;
            background: var(--accent);
            color: white;
            border-radius: 6px;
            font-size: 0.85rem;
            font-weight: 600;
            text-decoration: none;
            white-space: nowrap;
            flex-shrink: 0;
            transition: background 200ms;
        }
        .sticky-cta-btn:hover { background: var(--accent-light); }
        .sticky-cta-close {
            background: none;
            border: none;
            color: var(--text-muted);
            cursor: pointer;
            font-size: 1.25rem;
            line-height: 1;
            padding: 0.25rem 0.5rem;
            flex-shrink: 0;
        }
        .sticky-cta-close:hover { color: var(--primary); }
        @media (min-width: 1024px) {
            .sticky-cta { display: none; }
        }

        .footer-brand p {
            color: #a3a3a3;
            margin-top: 1rem;
        }

        .footer-col h3 {
            font-size: 0.875rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.1em;
            margin-bottom: 1rem;
        }

        .footer-col ul { list-style: none; }

        .footer-col li { margin-bottom: 0.5rem; }

        .footer-col a {
            color: #a3a3a3;
            font-size: 0.9375rem;
            text-decoration: none;
            transition: color 150ms ease;
        }

        .footer-col a:hover { color: white; }

        .footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.1);
            padding-top: 2rem;
            text-align: center;
            color: #a3a3a3;
            font-size: 0.875rem;
        }

        /* Mobile Responsive */
        /* Hamburger menu */
        .menu-toggle {
            display: none;
            background: none;
            border: none;
            cursor: pointer;
            padding: 0.5rem;
            width: 40px;
            height: 40px;
            flex-direction: column;
            justify-content: space-around;
            margin-left: auto;
        }
        .menu-toggle span {
            display: block;
            width: 22px;
            height: 2px;
            background: var(--primary);
            transition: transform 300ms var(--ease-out-expo), opacity 200ms;
            border-radius: 1px;
        }
        .menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
        .menu-toggle.open span:nth-child(2) { opacity: 0; }
        .menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

        @media (max-width: 768px) {
            nav { position: relative; }
            .nav-content { padding: 0.75rem 1rem; gap: 0.75rem; }
            .menu-toggle { display: flex; }
            .nav-cta { display: none; }
            .hero-grid { grid-template-columns: 1fr; }
            .hero-visual { display: none; }
            .hero p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
            .nav-mobile-cta { display: block; border-top: 1px solid var(--border); padding-top: 1rem; margin-top: 0.25rem; }
            .nav-mobile-cta .btn { width: 100%; justify-content: center; }
            .nav-links {
                display: none;
                position: absolute;
                top: 100%;
                left: 0;
                right: 0;
                background: white;
                flex-direction: column;
                padding: 1.5rem 2rem;
                gap: 1rem;
                border-bottom: 1px solid var(--border);
                box-shadow: var(--shadow-md);
                margin: 0;
            }
            .nav-links.open { display: flex; }
            .nav-links a {
                font-size: 1rem;
                padding: 0.5rem 0;
                border-bottom: 1px solid var(--border);
            }
            .nav-links li:last-child a { border-bottom: none; }
            .lang-selector { margin-right: 0.5rem; }
            .hero-actions { flex-direction: column; }
            .hero-actions .btn { width: 100%; justify-content: center; }
            .cookie-banner {
                right: 1rem;
                bottom: 1rem;
                width: calc(100vw - 2rem);
            }
            .contact-grid { grid-template-columns: 1fr; }
            .footer-content { grid-template-columns: 1fr; }
            .values-grid { grid-template-columns: 1fr; }
            .case-study-meta { flex-direction: column; gap: 0.5rem; }
        }

        /* Tablet 2-col overrides */
        @media (min-width: 640px) and (max-width: 1023px) {
            .services-grid { grid-template-columns: repeat(2, 1fr); }
            .hero-actions { flex-direction: row; flex-wrap: wrap; }
            .hero-actions .btn { width: auto; }
        }

        /* Desktop clients grid — 4-col keeps rows even (12 / 4 = 3 full rows) */
        @media (min-width: 1024px) {
            .clients-grid { grid-template-columns: repeat(4, 1fr); }
            .hero p {
                display: -webkit-box;
                -webkit-line-clamp: 4;
                -webkit-box-orient: vertical;
                overflow: hidden;
            }
        }

        /* 320px nav — hide lang code text and shrink logo to prevent overflow */
        @media (max-width: 360px) {
            #currentLangCode { display: none; }
            .logo img { width: 160px; height: auto; }
        }

        /* Animations */
        .reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.6s ease, transform 0.6s ease;
        }

        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }

        /* Accessibility — respect user's motion preference */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
            .reveal, .reveal.visible, .reveal.active {
                opacity: 1 !important;
                transform: none !important;
            }
            .scroll-progress-bar { transition: none !important; }
            .badge::before { animation: none !important; }
            .hero-visual { animation: none; }
            .code-badge-dot { animation: none; }
        }

        @media print {
            nav, .scroll-progress, .sticky-cta, .cookie-banner,
            .menu-toggle, .lang-selector, .nav-cta, .sticky-cta { display: none !important; }
            body { font-size: 12pt; color: #000; background: #fff; }
            .hero { min-height: auto; padding: 2rem 0; }
            section { page-break-inside: avoid; }
            a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 0.75em; color: #555; }
            a[href^="mailto"]::after, a[href^="tel"]::after { content: none; }
        }
    
/* Founder note */
.founder-note {
  padding: 3rem 0;
  background: var(--bg-alt);
  border-top: 1px solid #e5e7eb;
  border-bottom: 1px solid #e5e7eb;
}
.founder-card {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
}
.founder-card blockquote {
  margin: 0 0 1.25rem;
}
.founder-card blockquote p {
  font-size: 1.2rem;
  line-height: 1.7;
  color: var(--text, #111);
  font-style: italic;
}
.founder-card cite {
  font-size: 0.95rem;
  color: #555;
  font-style: normal;
}
.founder-card cite strong {
  color: var(--primary, #000);
}
@media (max-width: 640px) {
  .founder-card blockquote p { font-size: 1.05rem; }
}
