/* General CSS Base additions */
body {
    background-image: radial-gradient(circle at 100% 100%, #E0DBD8 0%, transparent 40%),
                      radial-gradient(circle at 0% 0%, #E0DBD8 0%, transparent 40%);
    background-attachment: fixed;
    /* Basic overrides */
    background-color: #FAF5F1;
    color: #292F36;
}

/* Disable scroll during loading */
.hidden-scroll {
    overflow: hidden;
}

/* Premium Animations */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }

/* Preloader Keyframes */
@keyframes drawLine {
    0% { transform: scaleX(0); }
    100% { transform: scaleX(1); }
}
@keyframes drawVertLine {
    0% { transform: scaleY(0); }
    100% { transform: scaleY(1); }
}
@keyframes riseUp {
    0% { transform: translateY(100%); }
    100% { transform: translateY(0%); }
}
@keyframes loadingBar {
    0% { transform: scaleX(0); }
    50% { transform: scaleX(0.4); }
    100% { transform: scaleX(1); }
}

/* Applying Preloader animations */
.animate-draw-line {
    animation: drawLine 1.5s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}
.animate-draw-vert-line {
    animation: drawVertLine 1.5s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}
.animate-rise-up {
    animation: riseUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.animate-loading-bar {
    animation: loadingBar 2s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}


/* PDF Card Microinteractions */
.pdf-card {
    position: relative;
    overflow: hidden;
    background-color: white;
    border: 1px solid #E0DBD8;
    padding: 2.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: all 0.5s cubic-bezier(0.2, 0.8, 0.2, 1);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.pdf-card:hover {
    box-shadow: 0 25px 50px -12px rgba(41, 47, 54, 0.15);
    transform: translateY(-5px);
    border-color: #A41F13;
}

.pdf-card::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 6px; 
    background-color: #A41F13;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.pdf-card:hover::after {
    transform: scaleX(1);
}

/* Custom Horizontal styling */
.line-accent {
    width: 3rem;
    height: 1px;
    background-color: #8F7A6E;
    display: inline-block;
    vertical-align: middle;
    margin-right: 1.5rem;
}
