html {
     scroll-behavior: smooth;
     }
body { 
    background: #FFF9F2;
    color: #3B2925;
     }
.nav-link { 
    color: #5B4540;
    transition: color .2s ease; 
    }
    .nav-link:hover {
    color: #B85C4A;
    }
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all .8s cubic-bezier(.5,0,0,1)
 }
 .reveal.active,.reveal.js-fade-show { 
    opacity: 1; transform: translateY(0); 
}
.hero-title span {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    animation: floatUp 1.2s ease-out forwards
} 

.hero-title span:nth-child(1){
    animation-delay:.2s
}
.hero-title span:nth-child(2){
    animation-delay:.4s
}
.hero-title span:nth-child(3){
    animation-delay:.6s
}
@keyframes 
floatUp{
    to{opacity:1;
        transform:translateY(0)
    }
    }

.author-card {
    background:#fff; 
    border:1px solid rgba(184,92,74,.18); 
    border-radius:.5rem;
    padding:1.5rem; 
    text-align:center; 
    color:#5B4540;
    font-size:.875rem;
    line-height:1.5;
    box-shadow:0 8px 25px rgba(59,41,37,.06); 
    transition:.3s ease;
 }
 .author-card:hover{
    border-color:rgba(184,92,74,.55);
    transform:translateY(-5px)

}
    .author-card h3{color:#3B2925;
        font-family:'Playfair Display',serif;
        font-size:1.25rem;
        font-weight:700;
        margin:.4rem 0
    }
    .author-image{
        width:8rem;
        height:8rem;
        margin:0 auto 1rem;
        object-fit:cover;
        border-radius:50%;
        border:2px solid #B85C4A;
        padding:.2rem
    }
    .author-social{
        display:flex;
        justify-content:center;
        gap:1rem;
        margin:1.25rem 0;
        color:#7C8B78
    }
    .author-social a{
        display:grid;
        place-items:center;
        width:2rem;
        height:2rem;
        border:1px solid rgba(124,139,120,.45);
        border-radius:50%;
        transition:.2s ease
    }
    .author-social a:hover{       
        color:#fff;
        background:#7C8B78
    }
    .author-actions{
    display:grid;
    grid-template-columns:1fr auto;
    gap:.5rem
}
.author-actions a,.author-actions button{
    border:1px solid rgba(184,92,74,.65);
    color:#B85C4A;
    padding:.55rem .65rem;
    font-size:.7rem;
    letter-spacing:.08em;
    text-transform:uppercase
    ;transition:.2s ease
}
.author-actions a:hover,
.author-actions button:hover{
    color:#fff;
    background:#B85C4A
}

 
.eyebrow{
    display:block;
    color:#7C8B78;
    font-size:.75rem;
    font-weight:700;
    letter-spacing:.15em;
    text-transform:uppercase;
    margin-bottom:.55rem
}
.section-title{
    font-family:'Playfair Display',serif;
    color:#3B2925;
    font-size:clamp(2.25rem,5vw,3.5rem);
    line-height:1.1
}
.section-title span{
    color:#B85C4A;
    font-style:italic;
    font-weight:400
}
.section-copy{
    color:#5B4540;
    font-size:1.08rem;
    -weight:300;
    margin:1.25rem auto 0
}
.service-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:1.5rem
}
.service-grid>div{
    background:#fff;
    border:1px solid rgba(184,92,74,.16);
    padding:2rem;
    border-radius:.45rem;
    box-shadow:0 8px 25px rgba(59,41,37,.05)
}
.service-grid i{
    color:#B85C4A;
    font-size:1.5rem
}
.service-grid h3{
    font:700 1.45rem 'Playfair Display',serif;
    color:#3B2925;
    margin:.8rem 0 1rem
}
.service-grid li{
    color:#5B4540;
    font-size:.9rem;
    line-height:1.6;
    margin-bottom:.5rem
}
.service-grid li::before{
    content:'•';
    color:#7C8B78;
    margin-right:.45rem
}
.book-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.5rem
}
.book-placeholder{
    min-height:17rem;
    display:flex;
    flex-direction:column;
    justify-content:end;
    padding:1.5rem;
    background:linear-gradient(160deg,#FFF9F2,#D9A6A0);
    border:1px solid rgba(184,92,74,.24);
    color:#5B4540
}
.book-placeholder i{
    color:#7C8B78;
    font-size:2rem;
    margin-bottom:auto
}
.book-placeholder h3{
    font:700 1.3rem 'Playfair Display',serif;
    color:#3B2925;
    margin-bottom:.25rem
}
.book-placeholder p{
    font-size:.8rem
}

.news-card{
    background:#fff;
    border:1px solid rgba(184,92,74,.16);
    border-radius:.5rem;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    color:#5B4540;
    transition:.4s ease
}
.news-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 30px rgba(59,41,37,.12);
    border-color:rgba(184,92,74,.55)

}
.news-card img{
    transition:transform .6s ease
}
.news-card:hover img{
    transform:scale(1.05)
}
.news-image-placeholder,.carousel-container{
    height:14rem;
    background:#D9A6A0
}
.carousel-container{
    position:relative;
    overflow:hidden
}
.carousel-images{
    height:100%;
    position:relative
}
.carousel-image{
    width:100%;
    height:100%;
    object-fit:cover;
    position:absolute;
    inset:0;
    opacity:0;
    transition:opacity .45s ease
}
.carousel-image.active{
    opacity:1
}
.carousel-btn{
    position:absolute;
    top:50%;
    z-index:2;
    transform:translateY(-50%);
    width:2.25rem;
    height:2.25rem;
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:#B85C4A;
    display:grid;
    place-items:center;
    box-shadow:0 2px 9px rgba(59,41,37,.18)
}
.carousel-prev{
    left:.7rem
}
.carousel-next{
    right:.7rem
}
.carousel-indicators{
    position:absolute;
    bottom:.75rem;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:.4rem;
    z-index:2
}
.indicator{
    width:.45rem;
    height:.45rem;
    border-radius:999px;
    background:rgba(255,255,255,.75);
    cursor:pointer
}
    .indicator.active{
        width:1.35rem;
        background:#B85C4A
    }
#newsGrid article>div:last-child{
    padding:1.5rem;
    flex-grow:1;
    display:flex;
    flex-direction:column
}
#newsGrid h3{
    font-family:'Playfair Display',serif;
    color:#3B2925;
    font-size:1.25rem;
    line-height:1.35
}
#newsGrid p{
    color:#5B4540
}
#newsGrid button,
#btnVerMasNoticias{
    background:transparent!important;
    border:1px solid rgba(184,92,74,.65);
    border-radius:0!important;
    color:#B85C4A!important;
    font-size:.75rem;
    letter-spacing:.1em;
    text-transform:uppercase
}
    #newsGrid button:hover,
    #btnVerMasNoticias:hover{
        background:#B85C4A!important;
        color:#fff!important
    }
    #modal-content-body 
    .carousel-container{
        height:20rem
    }
@media( max-width:768px ){
.hero-title{
    font-size:3.1rem}
    .news-image-placeholder,
    .carousel-container{height:12rem}
    .service-grid{grid-template-columns:1fr}
    .book-grid{grid-template-columns:repeat(2,1fr)
    }
}



@media screen and (max-width: 1024px) {
    .service-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .book-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .service-grid {
        grid-template-columns: 1fr;
    }
    .book-grid {
        grid-template-columns: 1fr;
    }
}

