/* Chef Sach: warm, expressive typography and a considered table-to-kitchen palette. */
:root{--paper:#211f19;--ink:#f5eddf;--muted:#c8beac;--line:#e9d7b52b;--accent:#c1ad8c;--serif:'Fraunces',Georgia,serif}
body{font-size:15px;line-height:1.8;background:var(--paper)}
h1,h2,h3{font-weight:600;letter-spacing:-.045em;line-height:1.08;font-variation-settings:'SOFT' 70,'WONK' 1}
h1{font-size:clamp(72px,8.8vw,132px);line-height:.98;letter-spacing:-.065em}h1 em{margin-top:0}
h2{font-size:clamp(40px,4.3vw,66px)}h3{font-size:28px;letter-spacing:-.035em}em{font-weight:600}
header{background:#211f19f5;border-bottom:1px solid var(--line);padding-block:18px;min-height:116px}
header nav{font-size:13px;letter-spacing:.1px;text-transform:none;gap:26px}
.nav-cta,.button,.menu-toggle{border-radius:999px}
.nav-cta{background:var(--accent);color:#211f19;border-color:var(--accent);padding:11px 25px;font-weight:600}
.button{background:var(--accent);border-color:var(--accent);color:#211f19;text-transform:none;letter-spacing:.2px;font-size:14px;padding:15px 28px}
.button:hover,.nav-cta:hover{background:var(--ink);border-color:var(--ink);color:#211f19}
.text-link{letter-spacing:0;font-size:14px;border-bottom-color:currentColor}
.eyebrow,.menu-content>.eyebrow,.notebook .eyebrow{font-size:10px;letter-spacing:2.2px;font-weight:600}
.hero{background:var(--paper);min-height:850px;min-height:95svh}
.hero-copy{padding-top:210px;padding-bottom:150px}
.hero .hero-image{left:45%;top:155px;right:5%;bottom:110px;overflow:hidden;border-radius:220px 220px 24px 24px;background:#343124}
.hero .hero-image img{filter:brightness(.78) saturate(.95)}
.hero .hero-image:after{background:linear-gradient(90deg,#211f19a0,transparent 50%),linear-gradient(0deg,#211f1955,transparent 35%)}
.hero-copy h1{max-width:700px;text-shadow:0 2px 24px #211f1940}
.hero-copy .intro{max-width:410px;color:var(--ink);font-size:15px}
.hero .eyebrow{max-width:430px}.hero-foot{font-size:9px;letter-spacing:1.6px;color:var(--muted)}
.hero-slideshow-controls{bottom:125px;right:8%;background:#211f1970}
.section{padding-top:100px;padding-bottom:100px}
/* Linen panels frame the two bookable experiences. */
#experience,#classes{--ink:#302f25;--muted:#64604f;--accent:#6b6045;--line:#726a502f;background:#f1e7d6;color:var(--ink)}
#classes{background:#e7dcc7;border-top:1px solid var(--line)}
#experience h2,#classes h2{max-width:800px}
.package-grid{gap:20px;margin-top:40px;grid-template-columns:repeat(2,minmax(0,1fr))}
.package-grid article{padding:32px;border:1px solid var(--line);border-radius:20px;background:#fff9ec70;display:flex;flex-direction:column;align-items:flex-start}
.package-grid h3{font-size:30px;margin-bottom:16px}.package-grid p{line-height:1.8;margin-bottom:18px}.package-grid .text-link{margin-top:auto}
.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2;font-size:15px}.section-heading h2{margin-bottom:0}
.menu-section{background:#34382c;padding-top:100px;padding-bottom:100px;--accent:#ddc8a2;--muted:#d2cebd}
.season-photo{border-radius:220px 220px 24px 24px;min-height:690px;padding:36px}
.season-photo h2{font-size:43px}.season-photo .eyebrow{font-size:10px}.season-photo .text-link{color:#f5eddf}
.menu-content h2{font-size:clamp(42px,4.5vw,66px)}
.tabs{gap:8px;border-bottom:0;flex-wrap:wrap}.tabs button{border:1px solid #ddc8a240;border-radius:999px;padding:10px 16px;color:var(--ink)}
.tabs button[aria-selected=true]{background:var(--accent);color:#292e23;border:1px solid var(--accent)}
.course{padding:24px 0}.course h3{font-size:25px;line-height:1.2}.course p{font-size:14px}
.about{padding-top:110px;padding-bottom:100px}.about h2{font-size:clamp(43px,5.4vw,78px)}.about-body{font-size:15px;gap:36px}.signature{font-size:29px}
.notebook{padding:55px;border:1px solid var(--line);border-radius:24px;background:#2a281f;gap:60px}.notebook h2{font-size:40px}.guide h3{font-size:30px}
.process h3{font-size:26px}.process p{font-size:14px}
.booking-details{background:#29271f}.services h3{font-size:28px}.booking-faq{max-width:100%}.booking-faq summary{font-size:16px}.booking-faq details{padding:24px 0}
.inquiry{background:#e9dfcd;color:#302f25;--ink:#302f25;--muted:#64604f;--accent:#6b6045;--line:#726a5038;gap:70px;padding-top:100px;padding-bottom:100px}
.inquiry h2{font-size:clamp(43px,5.4vw,78px);line-height:1.08}.contact-intro>p:not(.eyebrow){font-size:15px}
input,textarea,select{border:1px solid var(--line);border-radius:10px;background:#fff9ee80;padding:13px 14px;margin-top:8px;font-size:16px}
input::placeholder,textarea::placeholder{color:#78715e}input[type=date]{color-scheme:light}select option{background:#f1e7d6;color:#302f25}
.inquiry .button{background:#34382c;color:#f5eddf;border-color:#34382c}.inquiry .button:hover{background:#4a513d}
footer{padding-top:45px;padding-bottom:45px;flex-wrap:wrap;background:#211f19;font-size:12px}footer .footer-brand{width:100px;height:80px;overflow:hidden}footer p,footer>span{font-size:11px}
.back-top{background:#34382c;color:#f5eddf;border-radius:999px;letter-spacing:0;padding:10px 18px}
.editorial{padding-top:185px}.editorial h1{font-size:clamp(48px,7.4vw,100px);line-height:1.06;letter-spacing:-.055em}.reading{max-width:850px}.reading p{font-size:16px;line-height:1.95}.reading .lead{font-size:21px;color:var(--ink)}.reading h2{font-size:42px}
.gallery-photo,.media-feature img{border-radius:18px}.gallery-page h1{font-size:clamp(46px,6.5vw,86px)}.photo-gallery{column-gap:24px}.gallery-photo{margin-bottom:24px}
.media-grid article,.ingredient-grid article{border-top:1px solid var(--line);padding-top:28px}.ingredient-grid h3{font-size:29px}.ingredient-grid p{font-size:15px}.guide-jumps{gap:12px 25px}.guide-jumps a{font-size:13px}
@media(min-width:901px) and (max-width:1100px){header nav{gap:16px;font-size:12px}.hero h1{font-size:100px}}
@media(max-width:900px){header{background:#211f19fa;min-height:100px;padding-block:14px}header nav{font-size:16px}.hero{min-height:760px}.hero-copy{padding-top:100px}.hero .hero-image{top:45px;bottom:95px;left:38%;right:4%}.hero h1{font-size:clamp(68px,11vw,100px)}.editorial{padding-top:65px}.notebook{padding:35px;gap:35px}.inquiry{gap:40px}.hero-slideshow-controls{bottom:110px}}
@media(max-width:650px){
 header nav .nav-cta{color:#211f19}header .chef-sach-brand{width:84px;height:68px}
 .hero{min-height:760px;display:block;padding-bottom:70px}.hero-copy{padding:44px 7% 28px}.hero h1{font-size:clamp(66px,18vw,100px);letter-spacing:-.06em}.hero .eyebrow{font-size:9px;max-width:100%;margin-bottom:24px}.hero-copy .intro{font-size:14px;margin:24px 0}.hero-actions{gap:20px}.hero-actions .button{font-size:13px;padding:13px 22px}
 .hero .hero-image{position:relative;inset:auto;margin:0 7%;height:310px;border-radius:160px 160px 18px 18px}.hero .hero-image:after{background:linear-gradient(0deg,#211f1940,transparent)}
 .hero-copy{order:0}.hero{display:flex;flex-direction:column}.hero .hero-image{order:1;flex:none;width:86%}.hero-slideshow-controls{bottom:82px;right:10%;padding:0 5px}.hero-foot{bottom:22px;font-size:7px;letter-spacing:1px}
 .section{padding:65px 7%}h2,.section-heading h2,.about h2{font-size:42px;line-height:1.1}.section-heading{display:block}.section-heading h2{margin-bottom:24px}.package-grid{grid-template-columns:1fr;gap:16px;margin-top:28px}.package-grid article{padding:26px;border-radius:16px}.package-grid h3{font-size:28px}
 .menu-section{padding:60px 7%;gap:42px}.season-photo{min-height:490px;padding:25px;border-radius:170px 170px 18px 18px}.season-photo h2{font-size:36px}.menu-content h2{font-size:44px}.tabs{gap:6px}.tabs button{font-size:11px;padding:8px 13px}.course h3{font-size:24px}
 .about-body{font-size:15px}.notebook{margin:0 7%;padding:28px;gap:28px;border-radius:18px}.notebook h2{font-size:34px}.guide h3{font-size:29px}.process h3{font-size:27px}
 .inquiry{padding:65px 7%;gap:35px}.inquiry h2{font-size:46px}.form-grid{gap:10px 16px}.contact-link{font-size:17px}.editorial{padding:55px 7% 65px}.editorial h1,.media-page h1,.gallery-page h1{font-size:clamp(42px,11vw,61px);margin-bottom:30px;overflow-wrap:break-word}.reading .lead{font-size:19px}.reading h2{font-size:35px}.gallery-photo{border-radius:14px}.media-feature h2{font-size:35px}.ingredient-section h2{font-size:37px}
 footer{padding:35px 7% 85px;gap:22px;font-size:11px}.back-top{font-size:11px}.photo-viewer{border-radius:16px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Portfolio pages sit beneath About; main navigation remains unchanged. */
.portfolio-back{display:inline-flex;align-items:center;min-height:44px;color:var(--accent);font-size:13px;margin-bottom:30px;text-decoration:none}
.portfolio-section{padding:38px 0;border-top:1px solid var(--line);margin-top:38px;scroll-margin-top:130px}
.portfolio-section h2{font-size:clamp(29px,4vw,42px);line-height:1.2;margin-bottom:22px}
.portfolio-section h3{font-size:25px;line-height:1.3;margin:28px 0 15px}
.portfolio-section li{font-size:16px;line-height:1.9;color:var(--muted);margin-bottom:14px}
.portfolio-section ul{padding-left:22px;max-width:770px}
.portfolio-section p{margin:18px 0}.portfolio-role{color:var(--accent)!important;font-size:13px!important}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px;margin-top:34px}
.portfolio-card{position:relative;display:block;text-decoration:none;padding:28px 35px 28px 0;border-top:1px solid var(--line)}
.portfolio-card h3{font-size:29px;margin:0 0 12px}.portfolio-card p{font-size:15px;color:var(--muted);margin:0;line-height:1.7}.portfolio-card span{position:absolute;right:2px;top:29px;color:var(--accent);font-size:23px}
.portfolio-card:hover h3{color:var(--accent)}.portfolio-card:focus-visible,.portfolio-back:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
header nav a[aria-current]{color:var(--accent)}
@media(max-width:650px){.portfolio-grid{grid-template-columns:1fr;gap:0}.portfolio-section{padding-top:28px;margin-top:28px}.portfolio-card h3{font-size:27px}.portfolio-back{margin-bottom:22px}}

/* Floating control clears the footer as it enters the viewport. */
.back-top{position:fixed;bottom:var(--back-top-bottom,20px);display:inline-flex;align-items:center;min-height:44px}

/* A quiet, standalone quotation on the homepage. */
.home-quote{padding:85px 7%;text-align:center;border-block:1px solid var(--line);background:#29271f}
.home-quote figure{max-width:900px;margin:0 auto}
.home-quote blockquote{margin:0}
.home-quote blockquote p{font-family:Georgia,serif;font-size:clamp(25px,3.2vw,42px);font-weight:400;line-height:1.5;color:var(--ink);margin:0;text-wrap:pretty}
.home-quote figcaption{margin-top:28px;color:var(--accent);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
@media(max-width:650px){.home-quote{padding:58px 7%}.home-quote figcaption{font-size:11px;letter-spacing:.12em}}
