/* Forest wing pages: shared base styles of the original design (from templates/core/forest/forest_base.html), unchanged. */
    /* ── ANIMATIONS ── */
    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
    @keyframes fadeUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
    @keyframes slideLeft { from { opacity: 0; transform: translateX(-30px); } to { opacity: 1; transform: translateX(0); } }
    @keyframes slideRight { from { opacity: 0; transform: translateX(30px); } to { opacity: 1; transform: translateX(0); } }
    @keyframes scaleIn { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } }

    .forest-animate-up { animation: fadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }
    .forest-animate-left { animation: slideLeft 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }
    .forest-animate-right { animation: slideRight 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }
    .forest-animate-scale { animation: scaleIn 0.6s cubic-bezier(0.16, 1, 0.3, 1) both; }

    .d1 { animation-delay: 0.05s; }
    .d2 { animation-delay: 0.1s; }
    .d3 { animation-delay: 0.15s; }
    .d4 { animation-delay: 0.2s; }
    .d5 { animation-delay: 0.25s; }
    .d6 { animation-delay: 0.3s; }

    body {
        background-color: var(--body-bg, #f9f6ef) !important;
        background-image: none !important;
    }

    [data-theme="dark"] body {
        --body-bg: #020617;
    }

    #page-transition-container {
        position: relative;
        width: 100%;
        min-height: 80vh;
        /* Removed overflow-y: visible to prevent double scrollbars */
    }

    .forest-page-content {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        min-height: 80vh;
        will-change: transform, opacity;
        transition: transform 0.65s cubic-bezier(0.4, 0.0, 0.2, 1),
                    opacity 0.65s cubic-bezier(0.4, 0.0, 0.2, 1),
                    scale 0.65s cubic-bezier(0.4, 0.0, 0.2, 1);
    }

    .slide-active {
        position: relative;
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 1;
        z-index: 5;
    }

    .section-1 {
        position: relative;
        width: 100%;
        height: 80vh;
        background: linear-gradient(rgba(0,0,0,0.2), rgba(0,0,0,0.4)), url("../../images/pexels-stepan-vrany-591647707-27936019.webp");
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    @media (max-width: 768px) {
        .forest-page-content {
            position: relative !important;
            transform: none !important;
        }
        #page-transition-container {
            min-height: auto;
        }
        .section-1 {
            height: 50vh;
            min-height: 280px;
        }
    }
