.chefs { background: #f6f6f6; color: #3a3b3a; padding: clamp(76px, 10vw, 150px) 0; overflow: hidden; }
.chefs-inner { width: min(90%, 1360px); margin: 0 auto; }
.chefs-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.4rem; }
.chefs-heading h2 { max-width: 760px; margin: 0; font-family: Hagrid, Georgia, serif; font-weight: 400; font-size: clamp(2.6rem, 5vw, 5.5rem); line-height: 1.04; }
.chefs-intro { max-width: 380px; margin: 1rem 0 0; font-size: 1.1rem; line-height: 1.5; }
.chefs-controls { display: flex; gap: .5rem; flex-shrink: 0; }
.chefs-controls button { width: 46px; height: 46px; display: grid; place-items: center; padding: 0; border: 1px solid #3a3b3a; border-radius: 50%; background: transparent; color: #3a3b3a; cursor: pointer; font-size: 1.25rem; line-height: 1; }
.chefs-controls button:focus-visible { outline: 3px solid #9d3835; outline-offset: 3px; }
.chefs-track { position: relative; display: flex; gap: clamp(16px, 2vw, 28px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.chefs-track::-webkit-scrollbar { display: none; }
.chef-card { flex: 0 0 40%; min-width: 0; scroll-snap-align: start; }
.chef-image { position: relative; aspect-ratio: 3 / 4; overflow: hidden; background: #59655e; }
.chef-image img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; inset: 0; }
.chef-card-1 .chef-image img { object-position: center 48%; }
.chef-card-2 .chef-image img { object-position: center 40%; }
.chef-card-3 .chef-image img { object-position: center 67%; }
.chef-image::after { content: ''; position: absolute; inset: 25% 0 0; background: linear-gradient(transparent, rgba(20, 25, 21, .88)); pointer-events: none; }
.chef-overlay { position: absolute; z-index: 1; inset: auto 0 0; padding: clamp(20px, 2.5vw, 36px); color: white; }
.chef-card h3 { font-family: Hagrid, Georgia, serif; font-size: clamp(1.5rem, 2.4vw, 2.5rem); line-height: 1.12; font-weight: 400; margin: 0 0 .35rem; color: white; }
.chef-card p { margin: 0; font-size: 1rem; color: white; }
.chef-overlay span { display: block; margin-top: 1rem; font-size: .75rem; line-height: 1.3; color: white; }
.chef-bio { margin-top: .85rem; max-width: 42ch; }
.chef-bio summary { cursor: pointer; font-size: .9rem; text-decoration: underline; text-underline-offset: .2em; }
.chef-bio p { margin-top: .7rem; font-size: clamp(.86rem, 1.1vw, 1rem); line-height: 1.4; }
.chef-bio summary:focus-visible { outline: 3px solid white; outline-offset: 4px; }
.chef-card:has(.chef-bio[open]) .chef-image::after { inset: 0; background: linear-gradient(transparent 0%, rgba(20,25,21,.93) 85%); }
.legal-footer { width: 100%; max-width: 800px; padding-top: 2rem; font-size: .9rem; line-height: 1.6; }
.legal-footer summary { cursor: pointer; text-decoration: underline; text-underline-offset: .2em; }
.legal-footer p { margin: .8rem 0; }
@media (max-width: 700px) { .chefs-heading { align-items: start; flex-direction: column; gap: 1.3rem; } .chefs-heading h2 { font-size: clamp(2.5rem, 11vw, 3.5rem); } .chef-card { flex-basis: 84%; } .chef-image { aspect-ratio: 4 / 5; } .chefs-controls button { width: 44px; height: 44px; } }
