/* ==========================================
   RESET
========================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    background:#F7F4EF;
    color:#1D1D1B;

    font-family:"Inter",sans-serif;

    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;

    animation:fade .8s ease;

}

@keyframes fade{

    from{
        opacity:0;
        transform:translateY(8px);
    }

    to{
        opacity:1;
        transform:none;
    }

}

a{

    color:inherit;
    text-decoration:none;

}


/* ==========================================
   HEADER
========================================== */

header{

    width:min(92%,1180px);

    margin:auto;

    padding:28px 0;

    display:flex;

    justify-content:space-between;

    align-items:center;

}

.logo{

    font-size:.82rem;

    font-weight:600;

    letter-spacing:.35em;

}

header a{

    color:#66615B;

    font-size:.92rem;

    transition:.25s;

}

header a:hover{

    opacity:.6;

}


/* ==========================================
   HERO
========================================== */

.hero{

    width:min(90%,720px);

    margin:auto;

    min-height:74vh;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;

    text-align:center;

}

.hero h1{

    font-family:"Cormorant Garamond",serif;

    font-size:clamp(4.2rem,11vw,7rem);

    font-weight:500;

    line-height:.9;

    letter-spacing:-.03em;

}

.hero p{

    margin-top:34px;

    max-width:420px;

    color:#66615B;

    font-size:1.05rem;

    line-height:1.9;

}

.button{

    margin-top:54px;

    display:inline-flex;

    justify-content:center;

    align-items:center;

    height:50px;

    padding:0 32px;

    background:#1D1D1B;

    color:white;

    border-radius:6px;

    transition:.25s;

    font-size:.95rem;

}

.button:hover{

    transform:translateY(-2px);

}


/* ==========================================
   NEWSLETTER
========================================== */

.newsletter{

    width:min(90%,520px);

    margin:auto;

    padding:120px 0;

    text-align:center;

}

.newsletter h2{

    font-family:"Cormorant Garamond",serif;

    font-size:2.9rem;

    font-weight:500;

}

.newsletter p{

    margin-top:18px;

    color:#66615B;

    line-height:1.8;

}


/* ==========================================
   FORM
========================================== */

#newsletter-form{

    margin-top:44px;

    display:flex;

    flex-direction:column;

    gap:14px;

}

#newsletter-form input{

    width:100%;

    height:54px;

    padding:0 18px;

    border:1px solid #DDD6CD;

    border-radius:6px;

    background:white;

    font-family:"Inter",sans-serif;

    font-size:15px;

    outline:none;

    transition:.25s;

}

#newsletter-form input:focus{

    border-color:#1D1D1B;

}

#newsletter-form button{

    width:100%;

    height:54px;

    border:none;

    border-radius:6px;

    background:#1D1D1B;

    color:white;

    cursor:pointer;

    font-family:"Inter",sans-serif;

    font-size:15px;

    transition:.25s;

}

#newsletter-form button:hover{

    transform:translateY(-2px);

}


/* ==========================================
   IMAGE
========================================== */

.image{

    margin-top:90px;

}

.image img{

    display:block;

    width:100%;

    height:520px;

    object-fit:cover;

    object-position:center 68%;

}


/* ==========================================
   FOOTER
========================================== */

footer{

    padding:48px 0 60px;

    display:flex;

    justify-content:center;

    align-items:center;

    gap:40px;

}

footer a{

    color:#66615B;

    font-size:.9rem;

    transition:.25s;

}

footer a:hover{

    opacity:.6;

}


/* ==========================================
   MOBILE
========================================== */

@media(max-width:700px){

header{

width:90%;

padding:24px 0;

}

.hero{

width:90%;

min-height:72vh;

}

.hero h1{

font-size:4.6rem;

line-height:.88;

}

.hero p{

margin-top:28px;

max-width:320px;

font-size:1rem;

line-height:1.8;

}

.button{

width:100%;

max-width:280px;

margin-top:46px;

}

.newsletter{

width:90%;

padding:90px 0;

}

.newsletter h2{

font-size:2.5rem;

}

.newsletter p{

font-size:.98rem;

}

.image{

margin-top:70px;

}

.image img{

height:420px;

object-fit:cover;

object-position:center 66%;

}

footer{

flex-direction:column;

gap:14px;

padding:38px 0 50px;

}

}