            :root {
                color-scheme: light;
                --error-ink: #273322;
                --error-muted: #586451;
                --error-paper: #f7f8f2;
                --error-white: #fff;
            }

            * {
                box-sizing: border-box;
            }

            body {
                min-width: 320px;
                min-height: 100vh;
                margin: 0;
                background: var(--error-paper);
                color: var(--error-ink);
                font-family: Fredoka, Arial, sans-serif;
            }

            a {
                max-width: none;
                margin: 0;
                padding: 0;
            }

            .error-page {
                display: flex;
                min-height: 100vh;
                flex-direction: column;
            }

            .error-header {
                display: flex;
                width: min(1120px, calc(100% - 48px));
                min-height: 92px;
                align-items: center;
                margin: 0 auto;
            }

            .brand {
                display: inline-flex;
                align-items: center;
                gap: 13px;
                color: var(--error-ink);
                text-decoration: none;
            }

            .brand img {
                width: 56px;
                height: 56px;
                object-fit: contain;
            }

            .brand-name {
                display: block;
                font-family: Cooper, Georgia, serif;
                font-size: 1.12rem;
                line-height: 1.2;
            }

            .brand-tagline {
                display: block;
                margin-top: 3px;
                color: var(--error-muted);
                font-size: 0.88rem;
            }

            .brand:focus-visible,
            .error-button:focus-visible,
            .about-link:focus-visible,
            .footer-link:focus-visible {
                outline: 3px solid var(--bleu-foncer);
                outline-offset: 4px;
            }

            .color-stripe {
                display: flex;
                height: 7px;
            }

            .color-stripe span:first-child {
                flex: 1;
                background: var(--vert-foncer);
            }

            .color-stripe span:last-child {
                flex: 1;
                background: var(--maron-foncer);
            }

            .error-main {
                display: grid;
                width: min(1120px, calc(100% - 48px));
                flex: 1;
                grid-template-columns: 1.1fr 0.9fr;
                align-items: center;
                gap: 56px;
                margin: 0 auto;
                padding: 72px 0 64px;
            }

            .error-copy {
                max-width: 560px;
            }

            .error-label {
                display: inline-flex;
                align-items: center;
                gap: 9px;
                margin: 0 0 18px;
                color: var(--vert-foncer2);
                font-size: 0.9rem;
                font-weight: 600;
                letter-spacing: 0.08em;
                text-transform: uppercase;
            }

            .error-label::before {
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background: var(--jaune-foncer);
                content: "";
            }

            h1 {
                margin: 0;
                color: var(--error-ink);
                font-family: Cooper, Georgia, serif;
                font-size: clamp(2.25rem, 5vw, 3.8rem);
                font-weight: 400;
                line-height: 1.08;
            }

            .error-description {
                max-width: 500px;
                margin: 22px 0 0;
                padding: 0;
                color: var(--error-muted);
                font-size: 1.15rem;
                line-height: 1.7;
            }

            .error-actions {
                display: flex;
                flex-wrap: wrap;
                gap: 14px;
                margin-top: 32px;
            }

            .error-button {
                display: inline-flex;
                min-height: 52px;
                align-items: center;
                justify-content: center;
                padding: 12px 22px;
                border: 2px solid var(--vert-foncer2);
                border-radius: 999px;
                background: var(--vert-foncer2);
                color: var(--error-white);
                font-size: 1rem;
                font-weight: 600;
                text-decoration: none;
                transition: background-color 160ms ease, color 160ms ease, transform 160ms ease;
            }

            .error-button:hover {
                transform: translateY(-2px);
                background: #3e6200;
                color: var(--error-white);
            }

            .error-button-secondary {
                border-color: var(--maron-foncer);
                background: transparent;
                color: var(--maron-foncer);
            }

            .error-button-secondary:hover {
                background: var(--maron-foncer);
                color: var(--error-white);
            }

            .error-art {
                position: relative;
                display: grid;
                min-height: 350px;
                place-items: center;
                overflow: hidden;
                border-radius: 44% 56% 55% 45% / 52% 45% 55% 48%;
                background: #e8f2d4;
            }

            .error-art::before,
            .error-art::after {
                position: absolute;
                border: 2px solid rgba(84, 127, 0, 0.16);
                border-radius: 50%;
                content: "";
            }

            .error-art::before {
                width: 260px;
                height: 260px;
            }

            .error-art::after {
                width: 330px;
                height: 330px;
            }

            .error-code {
                position: relative;
                z-index: 1;
                color: var(--vert-foncer2);
                font-family: Cooper, Georgia, serif;
                font-size: clamp(8rem, 19vw, 13rem);
                letter-spacing: -0.08em;
                line-height: 1;
            }

            .error-note {
                position: absolute;
                z-index: 2;
                right: 2%;
                bottom: 13%;
                max-width: 190px;
                margin: 0;
                padding: 14px 19px;
                border: 2px solid #f0cc48;
                border-radius: 18px 18px 4px 18px;
                background: var(--error-white);
                color: var(--error-ink);
                font-size: 1rem;
                line-height: 1.4;
                transform: rotate(3deg);
            }

            .about-section {
                padding: 34px 24px 40px;
                border-top: 1px solid #e4e8db;
                background: var(--error-white);
                text-align: center;
            }

            .about-section h2 {
                margin: 0;
                color: var(--maron-foncer);
                font-family: Cooper, Georgia, serif;
                font-size: 1.5rem;
                font-weight: 400;
            }

            .about-section p {
                max-width: 700px;
                margin: 12px auto 17px;
                padding: 0;
                color: var(--error-muted);
                font-size: 1rem;
                line-height: 1.65;
            }

            .about-link,
            .footer-link {
                color: var(--vert-foncer2);
                font-weight: 600;
                text-decoration: underline;
                text-underline-offset: 3px;
            }

            .about-link:hover,
            .footer-link:hover {
                color: var(--maron-foncer);
            }

            .error-footer {
                display: flex;
                min-height: 64px;
                align-items: center;
                justify-content: center;
                padding: 15px 24px;
                color: var(--error-muted);
                font-size: 0.9rem;
                text-align: center;
            }

            .footer-link {
                margin-left: 6px;
            }

            @media (max-width: 760px) {
                .error-header {
                    width: min(100% - 36px, 560px);
                    min-height: 78px;
                }

                .brand img {
                    width: 48px;
                    height: 48px;
                }

                .error-main {
                    width: min(100% - 36px, 560px);
                    grid-template-columns: 1fr;
                    gap: 38px;
                    padding: 54px 0 48px;
                }

                .error-copy {
                    text-align: center;
                }

                .error-description {
                    margin-right: auto;
                    margin-left: auto;
                }

                .error-actions {
                    justify-content: center;
                }

                .error-art {
                    min-height: 270px;
                }

                .error-art::before {
                    width: 210px;
                    height: 210px;
                }

                .error-art::after {
                    width: 270px;
                    height: 270px;
                }

                .error-code {
                    font-size: clamp(8rem, 34vw, 11rem);
                }

                .error-note {
                    right: 3%;
                    bottom: 9%;
                    max-width: 160px;
                    font-size: 0.9rem;
                }
            }

            @media (max-width: 420px) {
                .error-actions {
                    flex-direction: column;
                }

                .error-button {
                    width: 100%;
                }
            }
