/* ========================================
   GOOGLE FONTS
======================================== */

@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700;800&family=Open+Sans:wght@400;600;700&display=swap");


/* ========================================
   BASE STYLES
======================================== */

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: "Open Sans", sans-serif;
}


/* ========================================
   MATERIAL SYMBOLS
======================================== */

.material-symbols-outlined {
    font-variation-settings:
        "FILL" 0,
        "wght" 400,
        "GRAD" 0,
        "opsz" 24;
}


/* ========================================
   CTA PULSE ANIMATION
======================================== */

.cta-pulse {
    animation: pulse-orange 2s infinite;
}

@keyframes pulse-orange {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 152, 0, 0.7);
    }

    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 15px rgba(255, 152, 0, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(255, 152, 0, 0);
    }
}


/* ========================================
   TEXT HIGHLIGHT
======================================== */

.marker-highlight {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 12px;
    background-color: #ffeb3b;
    line-height: 1.4;
}


/* ========================================
   SCROLL REVEAL
======================================== */

.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition:
        opacity 0.8s ease-out,
        transform 0.8s ease-out;
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}


/* ========================================
   CONTENT LAYOUT
======================================== */

.reading-column {
    width: 100%;
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
}


/* ========================================
   EDITORIAL IMAGE CARD
======================================== */

.editorial-card {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s ease;
}

.editorial-card:hover {
    transform: translateY(-5px);
}


/* ========================================
   ACCESSIBILITY
======================================== */

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .cta-pulse {
        animation: none;
    }

    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .editorial-card {
        transition: none;
    }

    .editorial-card:hover {
        transform: none;
    }
}