/* Accessibility utilities */
        .visually-hidden {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }

        .skip-to-content {
            position: absolute;
            top: -40px;
            left: 0;
            background: #6366f1;
            color: #fff;
            padding: 10px 16px;
            border-radius: 0 0 8px 0;
            text-decoration: none;
            font-weight: 600;
            z-index: 10001;
            transition: top 0.2s ease;
        }

        .skip-to-content:focus {
            top: 0;
            outline: 3px solid #fff;
            outline-offset: 2px;
        }

        /* Stronger keyboard focus visibility */
        a:focus-visible,
        button:focus-visible,
        input:focus-visible,
        textarea:focus-visible,
        select:focus-visible,
        summary:focus-visible {
            outline: 2px solid #a855f7;
            outline-offset: 2px;
        }

        /* Prevent layout shift for content images of unknown dimensions */
        img {
            max-width: 100%;
            height: auto;
        }

        .post-card img,
        .portfolio-card img,
        article img:not(.logo-img) {
            content-visibility: auto;
        }

        /* Back to Top Button */
        .back-to-top {
            position: fixed;
            bottom: 30px;
            right: 30px;
            width: 50px;
            height: 50px;
            background: linear-gradient(135deg, #6366f1, #a855f7);
            border: none;
            border-radius: 50%;
            color: white;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 0 4px 20px rgba(99, 102, 241, 0.4);
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px);
            transition: all 0.3s ease;
            z-index: 999;
        }

        .back-to-top.visible {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
        }

        .back-to-top:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 30px rgba(99, 102, 241, 0.5);
        }

        .back-to-top:active {
            transform: translateY(0);
        }

        @media (max-width: 768px) {
            .back-to-top {
                bottom: 20px;
                right: 20px;
                width: 45px;
                height: 45px;
            }
        }
