*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    background:
        linear-gradient(rgba(20,20,20,.45),
        rgba(20,20,20,.45)),
        url("images/fondo.jpg");

    background-size:cover;
    background-attachment:fixed;
    color:#f2e6c5;

    font-family:'Cormorant Garamond', serif;
    line-height:1.7;
}

/* ------------------------ */
/* BANNER */
/* ------------------------ */

.banner{
    height:180px;

    background-image:
    url("images/banner.jpg");

    background-size:cover;
    background-position:center;
}

/* ------------------------ */
/* HERO */
/* ------------------------ */

.hero{

    max-width:1300px;

    margin:auto;

    min-height:75vh;

    display:flex;

    align-items:center;

    gap:60px;

    padding:60px 40px;
}

.hero-image{
    flex:1;
    display:flex;
    justify-content:center;
}

.image-stack{
    position:relative;
    width:450px;
}

.letters{
    width:100%;
    opacity:.95;
}

.raven{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    width:260px;

    filter:drop-shadow(0 0 15px black);
}

.hero-text{
    flex:1;
}

.hero-text h1{

    font-family:'Cinzel', serif;

    color:#f6d57d;

    text-shadow:
    0 0 15px rgba(255,220,130,.5);

    line-height:1;

    margin-bottom:25px;

    font-size:clamp(3rem,6vw,5.5rem);
}

.hero-text h1 span{

    display:block;

    font-size:2rem;

    font-weight:400;
}

.intro{
    font-size:1.5rem;
    margin-bottom:25px;
}

.hero-text p{
    margin-bottom:25px;
}

/* ------------------------ */
/* BOTON */
/* ------------------------ */

.button{

    display:inline-block;

    background:black;

    color:white;

    text-decoration:none;

    padding:14px 32px;

    border-radius:10px;

    transition:.3s;
}

.button:hover{

    background:#f0c96d;

    color:black;
}

/* ------------------------ */
/* SERVICIOS */
/* ------------------------ */

.services{

    max-width:1200px;

    margin:auto;

    padding:80px 30px;
}

.services h2,
.archive h2{

    text-align:center;

    font-family:'Cinzel', serif;

    color:#f6d57d;

    margin-bottom:40px;

    font-size:2.2rem;
}

.cards{

    display:grid;

    grid-template-columns:
    repeat(auto-fit,minmax(250px,1fr));

    gap:25px;
}

.card{

    background:rgba(0,0,0,.45);

    border:1px solid rgba(255,215,130,.25);

    padding:25px;

    backdrop-filter:blur(4px);

    border-radius:12px;
}

.card h3{
    margin-bottom:15px;
}

/* ------------------------ */
/* ARCHIVO */
/* ------------------------ */

.archive{

    max-width:900px;

    margin:auto;

    padding:40px 20px 100px;
}

.letter{

    background:rgba(0,0,0,.45);

    margin-bottom:25px;

    padding:25px;

    border-left:4px solid #f6d57d;

    border-radius:10px;
}

.letter h3{
    margin-bottom:10px;
}

.letter a{

    color:#f6d57d;

    text-decoration:none;

    font-weight:bold;
}

/* ------------------------ */
/* FOOTER */
/* ------------------------ */

footer{

    text-align:center;

    padding:40px;

    background:rgba(0,0,0,.65);
}

/* ------------------------ */
/* MOVIL */
/* ------------------------ */

@media (max-width:900px){

    .hero{

        flex-direction:column;

        text-align:center;
    }

    .image-stack{

        width:280px;
    }

    .raven{

        width:170px;
    }

    .hero-text h1{

        font-size:3rem;
    }

    .hero-text h1 span{

        font-size:1.4rem;
    }

}