
/* ==========================================================
   JMAVILA
   style.css
   Diseño Editorial Minimal
   ========================================================== */

/* ------------------------------
   RESET
---------------------------------*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#f7f5f1;
    color:#1d1d1d;

    font-family:'Inter',sans-serif;
    font-size:17px;
    line-height:1.8;

    -webkit-font-smoothing:antialiased;
}

img{

    display:block;
    width:100%;
    height:auto;

}

a{

    text-decoration:none;
    color:inherit;

}

ul{

    list-style:none;

}


/* ------------------------------
   VARIABLES
---------------------------------*/

:root{

--bg:#f7f5f1;

--text:#1c1c1c;

--accent:#9d6f52;

--grey:#8c8c8c;

--line:#dedbd4;

--max:1380px;

}


/* ------------------------------
   CONTENEDOR
---------------------------------*/

.container{

    width:min(92%,var(--max));

    margin:auto;

}


/* ------------------------------
   CABECERA
---------------------------------*/

.header{

    position:sticky;

    top:0;

    background:rgba(247,245,241,.94);

    backdrop-filter:blur(12px);

    z-index:1000;

    border-bottom:1px solid var(--line);

}

.header .container{

    display:flex;

    justify-content:space-between;

    align-items:flex-end;

    padding:40px 0;

}


.logo h1{

    font-family:'Playfair Display',serif;

    font-size:42px;

    font-weight:600;

    letter-spacing:3px;

}

.logo p{

    margin-top:10px;

    color:#777;

    font-size:13px;

    line-height:1.6;

    text-transform:uppercase;

    letter-spacing:2px;

}


nav ul{

    display:flex;

    gap:45px;

}

nav a{

    position:relative;

    font-size:14px;

    text-transform:uppercase;

    letter-spacing:2px;

    transition:.35s;

}

nav a:after{

    content:"";

    position:absolute;

    bottom:-10px;

    left:0;

    width:0;

    height:1px;

    background:var(--accent);

    transition:.35s;

}

nav a:hover{

    color:var(--accent);

}

nav a:hover:after{

    width:100%;

}


/* ------------------------------
   HERO
---------------------------------*/

.hero{

    width:min(92%,1380px);

    margin:120px auto;

    display:grid;

    grid-template-columns:480px 1fr;

    gap:90px;

    align-items:center;

}

.eyebrow{

    display:block;

    margin-bottom:20px;

    color:var(--accent);

    text-transform:uppercase;

    font-size:13px;

    letter-spacing:3px;

}

.hero h2{

    font-family:'Playfair Display',serif;

    font-size:64px;

    line-height:1.05;

    margin-bottom:30px;

    font-weight:500;

}

.hero p{

    max-width:430px;

    color:#555;

    margin-bottom:40px;

}

.btn{

    display:inline-block;

    border:1px solid #1d1d1d;

    padding:15px 34px;

    transition:.35s;

    text-transform:uppercase;

    font-size:13px;

    letter-spacing:2px;

}

.btn:hover{

    background:#1d1d1d;

    color:white;

}


.hero-image{

    overflow:hidden;

}

.hero-image img{

    aspect-ratio:4/3;

    object-fit:cover;

    filter:grayscale(100%);

    transition:1s;

}

.hero-image:hover img{

    filter:grayscale(0);

    transform:scale(1.03);

}


/* ------------------------------
   TITULOS SECCION
---------------------------------*/

.section-title{

    width:min(92%,1380px);

    margin:140px auto 70px;

    border-top:1px solid var(--line);

    padding-top:25px;

}

.section-title h3{

    font-family:'Playfair Display',serif;

    font-size:42px;

    font-weight:500;

}


/* ------------------------------
   GRID ARTICULOS
---------------------------------*/

.grid{

    width:min(92%,1380px);

    margin:auto;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:55px;

}

.card{

    transition:.35s;

}

.card .image{

    overflow:hidden;

    margin-bottom:25px;

}

.card img{

    aspect-ratio:4/3;

    object-fit:cover;

    filter:grayscale(100%);

    transition:1s;

}

.card:hover img{

    filter:grayscale(0);

    transform:scale(1.05);

}

.card span{

    color:var(--accent);

    font-size:13px;

    letter-spacing:2px;

}

.card h4{

    margin:18px 0;

    font-family:'Playfair Display',serif;

    font-size:31px;

    line-height:1.2;

    font-weight:500;

}

.card p{

    color:#777;

}

.more{

    margin-top:30px;

    font-size:13px;

    text-transform:uppercase;

    letter-spacing:2px;

}


/* ------------------------------
   SOBRE MI
---------------------------------*/

.about-home{

    width:min(92%,1380px);

    margin:170px auto;

    display:grid;

    grid-template-columns:420px 1fr;

    gap:90px;

    align-items:center;

}

.about-home img{

    filter:grayscale(100%);

}

.about-home span{

    color:var(--accent);

    text-transform:uppercase;

    letter-spacing:3px;

    font-size:13px;

}

.about-home h3{

    font-family:'Playfair Display',serif;

    font-size:52px;

    margin:20px 0 35px;

    font-weight:500;

}

.about-home p{

    margin-bottom:25px;

    max-width:720px;

    color:#555;

}


/* ------------------------------
   FOOTER
---------------------------------*/

footer{

    margin-top:140px;

    border-top:1px solid var(--line);

}

.footer{

    display:flex;

    justify-content:space-between;

    padding:70px 0;

}

.footer h4{

    font-family:'Playfair Display',serif;

    font-size:32px;

    margin-bottom:15px;

}

.footer p{

    color:#666;

}

.footer a:hover{

    color:var(--accent);

}

.copyright{

    text-align:center;

    padding:25px;

    border-top:1px solid var(--line);

    font-size:13px;

    color:#888;

}


/* ------------------------------
   RESPONSIVE
---------------------------------*/

@media(max-width:1100px){

.hero{

grid-template-columns:1fr;

}

.about-home{

grid-template-columns:1fr;

}

.grid{

grid-template-columns:repeat(2,1fr);

}

}


@media(max-width:760px){

.header .container{

flex-direction:column;

align-items:flex-start;

gap:30px;

}

nav ul{

flex-wrap:wrap;

gap:20px;

}

.hero{

margin-top:60px;

gap:50px;

}

.hero h2{

font-size:46px;

}

.grid{

grid-template-columns:1fr;

}

.about-home h3{

font-size:40px;

}

}