
:root{
    --primary:#0F5C4A;
    --primary-light:#2d7b66;
    --cream:#faf7f2;
    --text:#263238;
    --muted:#6b7280;
    --white:#fff;
    --radius:18px;
    --shadow:0 15px 35px rgba(0,0,0,.08);
    --transition:.35s ease;
}

body{
    background:var(--cream);
    color:var(--text);
}

.hero{
    min-height:90vh;
    display:grid;
    place-items:center;
    text-align:center;
    padding:6rem 2rem;
    background:
        linear-gradient(rgba(15,92,74,.55),rgba(15,92,74,.55)),
        url("../images/chef/hero.webp") center/cover no-repeat;
    color:#fff;
}

.hero-image{
    width:220px;
    height:220px;
    object-fit:cover;
    border-radius:50%;
    border:6px solid rgba(255,255,255,.95);
    box-shadow:var(--shadow);
    margin-bottom:2rem;
}

.hero h1{
    font-size:clamp(2.8rem,6vw,5rem);
    margin:.25rem 0;
}

.subtitle{
    text-transform:uppercase;
    letter-spacing:3px;
    opacity:.9;
    margin-bottom:1rem;
}

.container{
    width:min(1200px,92%);
    margin:auto;
    padding:5rem 0;
}

section h2{
    font-size:2.4rem;
    color:var(--primary);
    margin-bottom:1rem;
    position:relative;
}

section h2::after{
    content:"";
    display:block;
    width:80px;
    height:4px;
    background:var(--primary);
    margin-top:.6rem;
    border-radius:10px;
}

.chef-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:2rem;
}

.chef-grid .card{
    background:#fff;
    border-radius:var(--radius);
    padding:2rem;
    box-shadow:var(--shadow);
    border-top:4px solid var(--primary);
    transition:var(--transition);
}

.chef-grid .card:hover{
    transform:translateY(-8px);
}

.chef-grid h3{
    margin-bottom:12px;
    color:var(--primary);
}

.chef-grid p{
    margin-top:0;
}

.timeline{
    position:relative;
    margin-left:1rem;
    padding-left:2rem;
}

.timeline::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:3px;
    background:var(--primary);
}

.timeline-item{
    position:relative;
    margin-bottom:2rem;
}

.timeline-item::before{
    content:"";
    position:absolute;
    left:-2.55rem;
    top:.4rem;
    width:16px;
    height:16px;
    border-radius:50%;
    background:var(--primary);
}

.stats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:2rem;
    text-align:center;
}

.stat{
    background:#fff;
    border-radius:var(--radius);
    padding:2rem;
    box-shadow:var(--shadow);
}

.stat h3{
    font-size:3rem;
    color:var(--primary);
}

blockquote{
    font-size:1.8rem;
    font-style:italic;
    text-align:center;
    max-width:900px;
    margin:auto;
    color:var(--primary);
}

.founders{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
    gap:2rem;
}

.founder-card{
    background:#fff;
    border-radius:var(--radius);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:var(--transition);
}

.founder-card:hover{
    transform:translateY(-8px);
}

.founder-card img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.founder-card .content{
    padding:2rem;
}

.btn{
    display:inline-block;
    padding:14px 28px;
    border-radius:999px;
    background:var(--primary);
    color:#fff;
    text-decoration:none;
    transition:var(--transition);
    margin:.5rem;
}

.btn:hover{
    background:var(--primary-light);
    transform:translateY(-3px);
}

.btn-outline{
    background:transparent;
    border:2px solid #fff;
}

.btn-outline:hover{
    background:#fff;
    color:var(--primary);
}

.cta{
    background:var(--primary);
    color:#fff;
    border-radius:30px;
    padding:5rem 2rem;
    text-align:center;
}

.cta h2,
.cta p{
    color:#fff;
}

.gallery{
    columns:3 280px;
    column-gap:1rem;
}

.gallery img{
    width:100%;
    margin-bottom:1rem;
    border-radius:16px;
    display:block;
}

.testimonial{
    background:#fff;
    padding:2rem;
    border-radius:var(--radius);
    box-shadow:var(--shadow);
    margin-bottom:2rem;
}

.fade-up{
    opacity:0;
    transform:translateY(40px);
    animation:fadeUp .8s forwards;
}

@keyframes fadeUp{
    to{
        opacity:1;
        transform:none;
    }
}

@media(max-width:768px){

.hero{
    min-height:75vh;
    padding:4rem 1rem;
}

.hero-image{
    width:170px;
    height:170px;
}

.hero h1{
    font-size:2.5rem;
}

section h2{
    font-size:2rem;
}

blockquote{
    font-size:1.3rem;
}

.gallery{
    columns:1;
}

}

footer{
    background:#10392f;
    color:#fff;
    text-align:center;
    padding:2rem;
}
