/* ==========================================================
   Willow Tea House
========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --bg:#f3f0e8;
    --surface:#fffdf8;
    --text:#2c332c;
    --muted:#74796f;
    --green:#546354;
    --sage:#cfd7c6;
    --gold:#b89b68;
    --border:#e4dfd3;
}

html{
    scroll-behavior:smooth;
}

body{
    background:var(--bg);
    color:var(--text);
    font-family:Inter,sans-serif;
    line-height:1.7;
}

/* ==========================================
HEADER
========================================== */

header{
    height:90px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 70px;
    background:rgba(243,240,232,.94);
    backdrop-filter:blur(14px);
    border-bottom:1px solid var(--border);
    position:sticky;
    top:0;
    z-index:100;
}

.logo{
    font-family:Marcellus,serif;
    font-size:1.9rem;
    color:var(--green);
}

nav{
    display:flex;
    gap:34px;
}

nav a{
    color:var(--muted);
    text-decoration:none;
    transition:.3s ease;
}

nav a:hover{
    color:var(--green);
}

.shop{
    padding:15px 30px;
    border-radius:999px;
    background:var(--green);
    color:white;
    text-decoration:none;
    transition:.3s ease;
}

.shop:hover{
    background:var(--gold);
}

/* ==========================================
HERO
========================================== */

.hero{
    max-width:1400px;
    margin:auto;
    padding:90px 70px;
    display:grid;
    grid-template-columns:1.08fr .92fr;
    gap:76px;
    align-items:center;
}

.hero-image{
    overflow:hidden;
    border-radius:160px 160px 34px 34px;
    box-shadow:0 24px 55px rgba(62,70,57,.12);
}

.hero-image img{
    width:100%;
    height:680px;
    object-fit:cover;
    display:block;
}

.hero-content span{
    display:inline-block;
    color:var(--gold);
    font-size:.8rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    margin-bottom:22px;
}

.hero-content h1{
    font-family:Marcellus,serif;
    font-size:4.9rem;
    line-height:.96;
    font-weight:400;
    margin-bottom:28px;
}

.hero-content p{
    max-width:520px;
    color:var(--muted);
    font-size:1.06rem;
}

.buttons{
    display:flex;
    gap:18px;
    margin-top:40px;
}

.buttons a{
    padding:18px 34px;
    border-radius:999px;
    background:var(--green);
    color:white;
    text-decoration:none;
    transition:.3s ease;
}

.buttons a:hover{
    background:var(--gold);
}

.buttons .outline{
    background:transparent;
    color:var(--green);
    border:1px solid var(--green);
}

.buttons .outline:hover{
    background:var(--green);
    color:white;
}

/* ==========================================
COLLECTIONS
========================================== */

.collections{
    max-width:1400px;
    margin:auto;
    padding:0 70px 100px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:26px;
}

.collections div{
    padding:42px;
    min-height:210px;
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:120px 120px 28px 28px;
    text-align:center;
    transition:.35s ease;
}

.collections div:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 38px rgba(62,70,57,.08);
}

.collections h3{
    font-family:Marcellus,serif;
    font-size:1.8rem;
    font-weight:400;
    margin-bottom:15px;
    color:var(--green);
}

.collections p{
    color:var(--muted);
}

/* ==========================================
FEATURED PRODUCTS
========================================== */

.featured{
    max-width:1400px;
    margin:auto;
    padding:0 70px 100px;
}

.featured h2{
    text-align:center;
    font-family:Marcellus,serif;
    font-size:3.4rem;
    font-weight:400;
    margin-bottom:56px;
}

.products{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.products article{
    background:var(--surface);
    border:1px solid var(--border);
    overflow:hidden;
    transition:.35s ease;
}

.products article:nth-child(1){
    border-radius:180px 180px 22px 22px;
}

.products article:nth-child(2){
    border-radius:22px;
}

.products article:nth-child(3){
    border-radius:22px 22px 180px 180px;
}

.products article:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 42px rgba(62,70,57,.10);
}

.products img{
    width:100%;
    height:330px;
    object-fit:cover;
    display:block;
}

.products div{
    padding:30px;
}

.products h3{
    font-family:Marcellus,serif;
    font-size:1.8rem;
    font-weight:400;
    color:var(--green);
    margin-bottom:8px;
}

.products p{
    color:var(--muted);
}

/* ==========================================
STORY
========================================== */

.story{
    max-width:1400px;
    margin:auto;
    padding:0 70px 110px;
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:72px;
    align-items:center;
}

.story h2{
    font-family:Marcellus,serif;
    font-size:3.8rem;
    line-height:1.05;
    font-weight:400;
    margin-bottom:28px;
}

.story p{
    max-width:500px;
    color:var(--muted);
    white-space:pre-line;
}

.story img{
    width:100%;
    height:560px;
    object-fit:cover;
    border-radius:34px 180px 34px 34px;
    box-shadow:0 24px 55px rgba(62,70,57,.10);
}

/* ==========================================
FOOTER
========================================== */

footer{
    background:var(--green);
    color:#e9ede6;
    text-align:center;
    padding:44px;
}

/* ==========================================
RESPONSIVE
========================================== */

@media(max-width:1000px){

    header{
        padding:0 30px;
    }

    nav,
    .shop{
        display:none;
    }

    .hero{
        grid-template-columns:1fr;
        padding:70px 30px;
    }

    .hero-image{
        border-radius:110px 110px 28px 28px;
    }

    .hero-image img{
        height:440px;
    }

    .hero-content h1{
        font-size:3.4rem;
    }

    .collections{
        grid-template-columns:1fr;
        padding:0 30px 70px;
    }

    .featured{
        padding:0 30px 70px;
    }

    .products{
        grid-template-columns:1fr;
    }

    .products article,
    .products article:nth-child(1),
    .products article:nth-child(2),
    .products article:nth-child(3){
        border-radius:28px;
    }

    .story{
        grid-template-columns:1fr;
        padding:0 30px 80px;
    }

    .story img{
        height:420px;
        border-radius:28px 100px 28px 28px;
    }
}

@media(max-width:600px){

    .hero-content h1{
        font-size:2.9rem;
    }

    .buttons{
        flex-direction:column;
        align-items:flex-start;
    }

    .featured h2,
    .story h2{
        font-size:2.6rem;
    }
}