:root { --paper:#f7f5ef; --white:#fff; --ink:#1b1b19; --muted:#686860; --line:#dcd8cf; --accent:#8a7755; --charcoal:#30312f; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; font-size:16px; line-height:1.65; text-rendering:optimizeLegibility; }
img { display:block; width:100%; }
a { color:inherit; text-decoration:none; }
.brand-bar { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; min-height:158px; padding:0 clamp(24px,6vw,96px); background:var(--paper); }
.brand-logo { display:grid; width:180px; height:146px; place-items:center; overflow:hidden; }
.brand-logo img { width:174px; }
.brand-note { color:var(--muted); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; }
.brand-note-right { text-align:right; }
nav { display:flex; align-items:center; justify-content:center; gap:clamp(24px,4vw,58px); height:78px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--white); font-size:.75rem; letter-spacing:.15em; text-transform:uppercase; }
nav a { transition:color 160ms ease; }
nav a:hover, nav a.active { color:var(--accent); }
.hero { position:relative; min-height:min(790px,calc(100svh - 90px)); overflow:hidden; }
.hero-image { position:absolute; inset:0; height:100%; object-fit:cover; }
.hero-card { position:absolute; right:clamp(24px,7vw,110px); bottom:clamp(30px,8vw,105px); width:min(500px,calc(100% - 48px)); padding:clamp(38px,5vw,68px); background:rgba(247,245,239,.97); box-shadow:0 18px 50px rgba(36,34,28,.08); }
.eyebrow, .section-label { margin:0 0 24px; color:var(--accent); font-size:.72rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
h1,h2 { margin:0; font-family:"Instrument Serif",Georgia,serif; font-weight:400; line-height:.98; letter-spacing:-.025em; }
h1 { font-size:clamp(3.3rem,5.2vw,5.8rem); }
.hero-card>p:not(.eyebrow) { margin:30px 0 28px; color:var(--muted); }
.arrow-link { display:inline-flex; align-items:center; gap:22px; padding-bottom:5px; border-bottom:1px solid var(--ink); font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; }
.arrow-link span { font-size:1.1rem; }
.concept { display:grid; grid-template-columns:.62fr 1.38fr; gap:8vw; padding:clamp(110px,13vw,190px) max(7vw,32px); }
.concept-copy { max-width:970px; }
.concept h2 { font-size:clamp(3rem,5.6vw,6.4rem); }
.concept-copy p { max-width:600px; margin:45px 0 0; color:var(--muted); }
.chefs { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.78fr); align-items:center; padding:0 max(7vw,32px) clamp(120px,12vw,180px); }
.chefs-image { height:min(880px,76vw); overflow:hidden; }
.chefs-image img { height:100%; object-fit:cover; object-position:center 38%; }
.chefs-copy { position:relative; z-index:2; margin-left:-65px; padding:clamp(46px,6vw,86px); background:var(--white); box-shadow:0 20px 55px rgba(36,34,28,.08); }
.chefs-copy h2 { font-size:clamp(3rem,5vw,5.6rem); }
.chefs-copy>p:not(.section-label) { margin:28px 0 0; color:var(--muted); }
.experiences { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(390px,.72fr); align-items:center; padding:0 max(7vw,32px) clamp(120px,12vw,180px); }
.experience-image { overflow:hidden; }
.experience-image img { height:100%; object-fit:cover; }
.portrait { height:min(820px,72vw); }
.experience-card { position:relative; z-index:2; margin-left:-70px; padding:clamp(46px,6vw,88px); background:var(--charcoal); color:var(--white); }
.experience-card h2, .gathering-copy h2 { font-size:clamp(3rem,5vw,5.6rem); }
.experience-card>p:not(.section-label) { margin:30px 0 36px; color:#d8d8d2; }
.quiet-detail { display:block; padding-top:20px; border-top:1px solid rgba(255,255,255,.2); color:#bdbdb6; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; }
.gathering { display:grid; grid-template-columns:minmax(320px,.72fr) minmax(0,1.2fr); align-items:center; gap:7vw; padding:clamp(100px,10vw,150px) max(7vw,32px); background:var(--white); }
.gathering-copy { max-width:570px; }
.gathering-copy>p:last-child { margin:34px 0 0; color:var(--muted); }
.landscape { aspect-ratio:4/3; }
.occasions { padding:clamp(110px,13vw,190px) max(7vw,32px); text-align:center; }
.occasions h2 { max-width:1000px; margin:0 auto; font-size:clamp(3rem,5.6vw,6.5rem); }
.occasion-list { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; max-width:980px; margin:60px auto 0; }
.occasion-list span { padding:12px 20px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:.76rem; letter-spacing:.08em; text-transform:uppercase; }
footer { display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; min-height:260px; padding:40px max(7vw,32px); background:var(--charcoal); color:#d8d8d2; }
footer img { width:180px; filter:invert(1) grayscale(1); }
footer p { max-width:320px; margin:0 auto; text-align:center; }
footer a { justify-self:end; border-bottom:1px solid #8f8f88; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase; }
@media (max-width:900px) {
  .brand-note { display:none; }
  .brand-bar { grid-template-columns:1fr; }
  .brand-logo { justify-self:center; }
  .concept { grid-template-columns:1fr; gap:25px; }
  .chefs { grid-template-columns:1fr; }
  .chefs-image { height:105vw; }
  .chefs-copy { width:88%; margin:-80px 0 0 auto; }
  .experiences { grid-template-columns:1fr; }
  .portrait { height:85vw; }
  .experience-card { width:88%; margin:-80px 0 0 auto; }
  .gathering { grid-template-columns:1fr; }
  .gathering-copy { padding-bottom:25px; }
}
@media (max-width:620px) {
  .brand-bar { min-height:132px; }
  .brand-logo { width:155px; height:120px; }
  .brand-logo img { width:150px; }
  nav { gap:16px; height:64px; font-size:.61rem; }
  nav a:first-child { display:none; }
  .hero { min-height:740px; }
  .hero-image { object-position:62% center; }
  .hero-card { right:18px; bottom:18px; width:calc(100% - 36px); padding:36px 28px; }
  h1 { font-size:3.55rem; }
  .concept,.chefs,.experiences,.gathering,.occasions { padding-left:22px; padding-right:22px; }
  .chefs-image { height:130vw; }
  .chefs-copy { width:94%; margin-top:-45px; padding:42px 28px; }
  .portrait { height:120vw; }
  .experience-card { width:94%; margin-top:-45px; padding:42px 28px; }
  .landscape { aspect-ratio:4/5; }
  .occasion-list { flex-direction:column; }
  footer { grid-template-columns:1fr; gap:34px; text-align:center; }
  footer img,footer a { justify-self:center; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
