@media screen {
    :root {
        --arena-orange: #d65b20;
        --arena-orange-dark: #a63d11;
        --arena-ink: #29211c;
        --arena-muted: #6b5c53;
        --arena-surface: #fffdf9;
        --arena-border: rgba(68, 45, 31, .14);
        --arena-sand: #f6f0e5;
    }

    body.bg-light { background: var(--arena-sand) !important; color: var(--arena-ink); }
    a { color: #a13d16; text-underline-offset: .2em; }
    a:hover { color: #772b0e; }
    :focus-visible { outline: 3px solid #e66c2c; outline-offset: 3px; }
    .site-navbar {
        min-height: 88px;
        background: #30251d;
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }
    .site-navbar .container { min-height: 88px; }
    .navbar-brand { width: 140px; height: 88px; flex-basis: 140px; align-items: center; justify-content: center; perspective: 600px; }
    .navbar-brand__scene {
        position: relative;
        display: block;
        height: 72px;
        aspect-ratio: 640 / 520;
        transform-style: preserve-3d;
        animation: arena-brand-float 7s ease-in-out infinite;
        --arena-sun-lift: -1px;
        --arena-sun-depth: 5px;
        --arena-sand-drift: 1px;
        --arena-sand-lift: 1px;
        --arena-sand-depth: 3px;
    }
    .navbar-brand__layer { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
    .navbar-brand__sun { animation: arena-brand-sun 7s ease-in-out infinite; }
    .navbar-brand__sand { animation: arena-brand-sand 7s ease-in-out infinite; }
    .navbar-brand__name-layer { filter: brightness(0) invert(1); }
    @keyframes arena-brand-float {
        0%, 100% { transform: rotateX(0deg) rotateY(-5deg); }
        50% { transform: rotateX(3deg) rotateY(5deg); }
    }
    @keyframes arena-brand-sun {
        0%, 100% { transform: translate3d(0, 0, 0); }
        50% { transform: translate3d(0, var(--arena-sun-lift, -6px), var(--arena-sun-depth, 15px)); }
    }
    @keyframes arena-brand-sand {
        0%, 100% { transform: translate3d(0, 0, 0); }
        50% { transform: translate3d(var(--arena-sand-drift, 2px), var(--arena-sand-lift, 3px), var(--arena-sand-depth, 6px)); }
    }
    .site-navbar .navbar-nav .nav-link { color: #fff9f3; font-size: .85rem; }
    .site-navbar .navbar-nav .nav-link:hover, .site-navbar .navbar-nav .nav-link.active { color: #ffc48c; }
    .site-navbar .navbar-nav .nav-link::after { background: #ffc48c; }
    .site-navbar .navbar-toggler { border-color: rgba(255, 255, 255, .5); }
    .site-navbar .btn-outline-secondary { color: #fff9f3; border-color: #d7c6b7; }
    .site-navbar .btn-outline-secondary:hover, .site-navbar .btn-outline-secondary:focus { color: #30251d; background: #fff9f3; border-color: #fff9f3; }
    .btn { font-weight: 650; transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease; }
    .btn:hover { transform: translateY(-2px); }
    .btn-arena, .btn-primary { background: #ad3f12; border-color: #ad3f12; color: #fff; }
    .btn-arena:hover, .btn-arena:focus, .btn-primary:hover, .btn-primary:focus { background: #842e0c; border-color: #842e0c; color: #fff; }
    .btn-outline-dark { color: #32271f; border-color: #6f5c50; }
    .btn-outline-dark:hover { background: #32271f; border-color: #32271f; }
    .page-shell { padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(4rem, 8vw, 7rem); }
    .page-heading {
        max-width: 860px;
        margin: 0 0 clamp(2.5rem, 5vw, 4rem);
        padding-bottom: 1.75rem;
        border-bottom: 1px solid #d5c3af;
        text-align: left;
    }
    .page-heading__eyebrow, .home-kicker { color: #a23c11; font-size: .76rem; letter-spacing: .16em; font-weight: 800; }
    .page-heading h1 { font-size: clamp(2.8rem, 6vw, 5.2rem); line-height: .98; letter-spacing: -.055em; }
    .page-heading p { max-width: 670px; color: var(--arena-muted); }
    .arena-card, .login-card, .admin-card, .card {
        border: 1px solid var(--arena-border) !important;
        border-radius: .75rem !important;
        background: var(--arena-surface);
        box-shadow: 0 10px 35px rgba(73, 48, 30, .055) !important;
    }
    .form-control, .form-select { border-color: #cbbeb0; background-color: #fff; color: #29211c; }
    .form-control:focus, .form-select:focus { border-color: #bb4b19; box-shadow: 0 0 0 .2rem rgba(187, 75, 25, .16); }
    .form-control:disabled, .form-select:disabled { background-color: #ede8df; color: #61584f; }
    .alert-info { color: #493a2a; background: #f3e5cc; border-color: #e2c9a1; }
    .table { --bs-table-bg: transparent; --bs-table-color: #29211c; }
    .list-group-item { background-color: transparent; }
    footer { background: #29211c; color: #eee3d2; padding: 3rem 0; }
    footer a { color: #f7bd83; }
    footer a:hover { color: #fff; }
    .admin-brand, .login-brand { color: #a63d11; }
    nav[aria-label="Seções administrativas"] {
        padding: 1rem 0 1.25rem;
        border-bottom: 1px solid var(--arena-border);
    }
    nav[aria-label="Seções administrativas"] .btn { font-size: .875rem; }

    @media (max-width: 991.98px) {
        .site-navbar, .site-navbar .container { min-height: 80px; }
        .navbar-brand { width: 128px; height: 80px; flex-basis: 128px; }
        .navbar-brand__scene { height: 68px; }
    }
    @media (prefers-reduced-motion: reduce) {
        *, *::before, *::after {
            animation-duration: .001ms !important;
            animation-iteration-count: 1 !important;
            scroll-behavior: auto !important;
            transition-duration: .001ms !important;
        }
        .btn:hover { transform: none; }
        .navbar-brand__scene, .navbar-brand__sun, .navbar-brand__sand { animation: none; }
    }
}
