     /* --- 404 container: full height minus navbar & footer, centered --- */
        .error-section {
            min-height: calc(100vh - 80px - 380px); /* adjust based on typical footer height, but use flex centering */
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 40px 0;
        }

        .error-card {
            text-align: center;
            max-width: 700px;
            margin: 0 auto;
            background: var(--card-bg);
            backdrop-filter: blur(8px);
            border-radius: 48px;
            padding: 60px 40px;
            border: 1px solid var(--border-soft);
            box-shadow: var(--shadow-light);
        }

        .error-code {
            font-size: 8rem;
            font-weight: 800;
            line-height: 1;
            color: var(--primary-warm);
            text-shadow: 0 10px 20px rgba(249,115,22,0.2);
            margin-bottom: 10px;
        }

        .error-title {
            font-size: 2.4rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 20px;
        }

        .error-message {
            font-size: 1.2rem;
            color: var(--text-soft);
            margin-bottom: 35px;
            max-width: 450px;
            margin-left: auto;
            margin-right: auto;
        }

        .error-btn {
            display: inline-block;
            background: var(--primary-warm);
            color: white;
            font-weight: 600;
            padding: 16px 42px;
            border-radius: 50px;
            font-size: 1.1rem;
            border: 1px solid transparent;
            transition: all 0.2s;
            box-shadow: 0 8px 16px rgba(249,115,22,0.3);
        }

        .error-btn:hover {
            background: #E15F0C;
            transform: translateY(-3px);
            box-shadow: 0 12px 24px rgba(249,115,22,0.4);
        }

        .error-btn i {
            margin-right: 8px;
        }

        /* Responsive */
        @media (max-width: 768px) {
            .error-code { font-size: 5rem; }
            .error-title { font-size: 1.8rem; }
            .error-card { padding: 40px 25px; }
        }