/* Blog / Journal — page-specific styles */

.blog-page .material-symbols-outlined {
    font-variation-settings: "FILL" 0, "wght" 300, "GRAD" 0, "opsz" 24;
}

.blog-page .editorial-shadow {
    box-shadow: 0 20px 40px -10px rgba(57, 0, 9, 0.08);
}

.blog-page .fade-in-up {
    animation: blogFadeInUp 1.2s ease-out forwards;
}

@keyframes blogFadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.blog-page .hover-underline {
    position: relative;
}

.blog-page .hover-underline::after {
    content: "";
    position: absolute;
    width: 0;
    height: 1px;
    bottom: -2px;
    left: 0;
    background-color: currentColor;
    transition: width 0.4s ease;
}

.blog-page .hover-underline:hover::after {
    width: 100%;
}

.blog-page [data-blog-reveal] {
    opacity: 0;
}

.blog-page [data-blog-reveal].is-visible {
    opacity: 1;
}

/* Single article */
.blog-article .reveal-text {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1), transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.blog-article .reveal-text.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.blog-article .editorial-image-container {
    overflow: hidden;
}

.blog-article .editorial-image-container img {
    transition: transform 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}

.blog-article .editorial-image-container:hover img {
    transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
    .blog-page .fade-in-up,
    .blog-page [data-blog-reveal],
    .blog-article .reveal-text {
        animation: none !important;
        transition: none !important;
        opacity: 1 !important;
        transform: none !important;
    }

    .blog-article .editorial-image-container:hover img {
        transform: none;
    }
}
