/* Ajustes finos de estética clássica */
html, body {
    overflow-x: hidden;
    scroll-behavior: smooth;
    background-color: #F9F8F6;
    color: #111111;
    position: relative;
}

/* Textura sutil sobre toda a página para quebrar o aspecto digital */
body::before {
    content: "";
    position: fixed;
    top: 0; left: 0; width: 100vw; height: 100vh;
    background-image: url('data:image/svg+xml,%3Csvg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg"%3E%3Cfilter id="noiseFilter"%3E%3CfeTurbulence type="fractalNoise" baseFrequency="0.85" numOctaves="3" stitchTiles="stitch"/%3E%3C/filter%3E%3Crect width="100%25" height="100%25" filter="url(%23noiseFilter)"/%3E%3C/svg%3E');
    opacity: 0.03;
    pointer-events: none;
    z-index: 50;
}

/* Drop cap (Letra capitular) estilo manuscrito */
.drop-cap::first-letter {
    font-family: 'Cloister Black', serif;
    font-size: 4rem;
    float: left;
    line-height: 0.8;
    margin-right: 0.5rem;
    margin-top: 0.2rem;
    color: #B88E45; /* Dourado */
}

/* Animações de entrada */
.fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Bordas decorativas */
.border-ornament {
    position: relative;
}
.border-ornament::before,
.border-ornament::after {
    content: "✦";
    position: absolute;
    color: #B88E45;
    font-size: 0.8rem;
    top: 50%;
    transform: translateY(-50%);
}
.border-ornament::before { left: -1.5rem; }
.border-ornament::after { right: -1.5rem; }

@media (min-width: 768px) {
    .border-ornament::before { left: -2rem; }
    .border-ornament::after { right: -2rem; }
}
