:root {
  --black:#030303;
  --black-soft:#090807;
  --cream:#f7f2ea;
  --cream-2:#fffaf2;
  --gold:#c9922b;
  --gold-light:#e0ac43;
  --brown:#3b2617;
  --muted:#77716a;
  --line:rgba(201,146,43,.35);
  --max:1180px;
  --radius:10px;
  --h1: clamp(30px, 5.5vw, 46px);
  --h2: clamp(28px, 4vw, 40px);
  --h2-compact: clamp(20px, 3vw, 26px);
  --section-pad: 76px;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  color:#1e1b18;
  background:var(--black);
  font-family: Arial, Helvetica, sans-serif;
  line-height:1.5;
}
body.no-scroll { overflow:hidden; }
h1,h2,h3 {
  margin:0;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight:500;
  letter-spacing:.8px;
}
p { margin:0; }
a { color:inherit; text-decoration:none; }
img { max-width:100%; display:block; }
button { font-family:inherit; }
.wrap { width:min(100% - 40px, var(--max)); margin:auto; }
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:42px;
  padding:0 24px;
  border:1px solid var(--gold);
  color:var(--cream-2);
  font-size:12px;
  letter-spacing:.7px;
  text-transform:uppercase;
  background:transparent;
  transition:.25s ease;
  cursor:pointer;
  border-radius:3px;
}
.btn.gold { background:var(--gold); color:#111; font-weight:700; }
.btn.dark { color:#231e18; border-color:#c5b7a6; }
.btn:hover { transform:translateY(-2px); box-shadow:0 10px 26px rgba(201,146,43,.24); }
.btn:focus-visible, a:focus-visible, button:focus-visible { outline:2px solid var(--gold); outline-offset:2px; }

/* Section heading pattern -- shared by every content section */
.section-head { max-width:640px; margin:0 auto 44px; text-align:center; }
.section-head .eyebrow { justify-content:center; }
.section-head h2 { font-size:var(--h2); text-transform:uppercase; line-height:1.1; }
.section-head p { margin-top:14px; font-size:15px; line-height:1.6; }

.eyebrow {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--gold);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:1.8px;
  font-weight:700;
  margin-bottom:8px;
}

/* Header & Hero */
.site-header {
  position:relative;
  z-index:5;
  background:#020202;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.hero {
  position:relative;
  min-height:580px;
  color:#fff;
  overflow:hidden;
  background:#020202;
}
.hero::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.08) 38%, rgba(0,0,0,.06) 100%);
  pointer-events:none;
  z-index:1;
}
.hero-slider {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
}
.hero-track {
  display:flex;
  height:100%;
  transition:transform .8s ease;
  will-change:transform;
}
.hero-slide {
  flex:0 0 100%;
  height:100%;
  background-color:#040404;
  opacity:1;
  overflow:hidden;
}
.hero-slide img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.05) contrast(1.08);
}
.hero-dots, .carousel-dots {
  position:absolute;
  bottom:24px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  gap:8px;
  z-index:3;
}
.hero-dot, .carousel-dot {
  width:10px;
  height:10px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.7);
  background:rgba(255,255,255,.3);
  padding:0;
  cursor:pointer;
}
.hero-dot.is-active, .carousel-dot.is-active {
  background:var(--gold);
  border-color:var(--gold);
}
.navbar {
  position:relative;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 18px;
  gap:16px;
  background:transparent;
}
.wrap {
  position:relative;
  z-index:3;
}
.logo { width:110px; height:auto; }
.menu { display:flex; align-items:center; gap:28px; margin-left:auto; }
.menu a {
  color:#f7efe3;
  font-size:12px;
  letter-spacing:.9px;
  text-transform:uppercase;
  opacity:.85;
  padding:10px 0;
  position:relative;
  transition:opacity .2s ease;
}
.menu a:hover { opacity:1; }
.menu a.is-active { opacity:1; }
.menu a.is-active::after {
  content:"";
  position:absolute;
  left:0; right:0; bottom:4px;
  height:1px;
  background:var(--gold);
}
.nav-order { min-height:34px; padding:0 16px; }
.hero-copy {
  position:relative;
  z-index:2;
  width:min(560px, 58%);
  padding:70px 0 90px;
}
.hero-copy .eyebrow { color:var(--gold-light); }
.hero-copy h1 {
  font-size:var(--h1);
  line-height:1.1;
  text-transform:uppercase;
  margin-bottom:18px;
  text-shadow:0 8px 35px rgba(0,0,0,.75);
}
.hero-copy p {
  max-width:420px;
  font-size:15px;
  color:#eee2d1;
  margin-bottom:30px;
}
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }

.menu-toggle {
  display:none;
  width:40px;
  height:38px;
  border:1px solid var(--gold);
  background:transparent;
  color:var(--cream-2);
  border-radius:3px;
  align-items:center;
  justify-content:center;
  cursor:pointer;
}
.menu-toggle svg { width:20px; height:20px; }

/* Story / About */
.story { background:var(--cream); padding:var(--section-pad) 0; }
.story .section-head h2 { color:#2a241e; }
.story .section-head p { color:#5c554d; }
.timeline { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; position:relative; padding-top:7px; }
.timeline::before {
  content:"";
  position:absolute;
  left:9%; right:9%; top:29px;
  border-top:1px dashed var(--gold);
}
.milestone { text-align:center; position:relative; z-index:1; }
.icon {
  width:44px; height:44px; margin:0 auto 16px;
  display:grid; place-items:center;
  border:1px solid var(--gold);
  border-radius:50%; color:var(--brown); font-family:Georgia,serif; font-size:17px; font-weight:600;
  background:var(--cream-2);
}
.year { font-family:Georgia,serif; font-size:20px; margin-bottom:6px; color:#29241f; }
.milestone p { font-size:12px; color:#665d53; max-width:140px; margin:auto; line-height:1.5; }
.story-cta { text-align:center; margin-top:44px; }
.script { font-family:Georgia, serif; font-style:italic; color:#4b3a2b; font-size:19px; margin-bottom:16px; }

/* Craft / Quality section */
.craft { background:#030303; color:#fff; padding:var(--section-pad) 0; }
.craft .section-head h2 { color:#fff; }
.craft .section-head p { color:#cfc6ba; }
.craft-body { display:grid; grid-template-columns:minmax(260px,40%) 1fr; gap:36px; align-items:stretch; }
.chef-img {
    background: url('../../img/about-kitchen.png') center/cover no-repeat;
    min-height: 280px;
    border-radius: var(--radius);
}
.features { display:grid; grid-template-columns:1fr 1fr; gap:28px 30px; align-content:center; }
.feature { display:grid; grid-template-columns:40px 1fr; gap:14px; align-items:start; }
.feature .ficon {
  width:40px; height:40px; border-radius:50%;
  border:1px solid var(--line);
  display:grid; place-items:center;
  color:var(--gold);
}
.feature .ficon svg { width:19px; height:19px; }
.feature h3 { color:#fff0d4; font-size:13.5px; text-transform:uppercase; font-family:Arial, sans-serif; font-weight:700; letter-spacing:.7px; margin-bottom:5px; }
.feature p { font-size:12.5px; color:#beb4a7; line-height:1.6; }

/* Dishes */
.dishes { background:var(--cream-2); padding:var(--section-pad) 0; }
.dishes .section-head h2 { color:#241f19; }
.dishes .section-head p { color:#696057; }
.product-carousel { position:relative; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; }
.carousel-viewport { min-width:0; }
.carousel-track {
  display:flex;
  gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -ms-overflow-style:none;
  scrollbar-width:none;
  padding:2px;
}
.carousel-track::-webkit-scrollbar { display:none; }
.product-card {
  flex:0 0 260px;
  scroll-snap-align:start;
  background:#fffaf2;
  border:1px solid rgba(91,65,38,.2);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 8px 18px rgba(0,0,0,.06);
}
.product-card .card-img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
.product-card .card-body { padding:16px 16px 18px; }
.product-card h3 { font-size:15px; color:#221b15; text-transform:uppercase; letter-spacing:.4px; margin-bottom:8px; }
.product-card p { font-size:12.5px; color:#6a604e; line-height:1.6; }
.product-meta { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:8px; }
.product-tag { font-size:10px; text-transform:uppercase; letter-spacing:1px; color:var(--gold); font-weight:700; }
.price { font-size:13px; font-weight:700; color:#181311; }
.order-link { width:100%; margin-top:14px; min-height:36px; font-size:11px; }
.carousel-control {
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(91,65,38,.2);
  background:#fffaf2; color:#261d15; display:grid; place-items:center; cursor:pointer;
}
.carousel-control svg { width:18px; height:18px; }
.carousel-dots { position:relative; bottom:auto; left:auto; transform:none; justify-content:center; margin:18px auto 0; }
.carousel-dot { background:rgba(0,0,0,.16); border-color:rgba(0,0,0,.16); }
.dishes-cta { text-align:center; margin-top:36px; }

/* Catering */
.catering { background:#040404; color:#fff; padding:var(--section-pad) 0; }
.catering .section-head h2 { color:#fff; }
.catering .section-head p { color:#d4cabd; }
.catering-body { display:grid; grid-template-columns:minmax(240px,34%) 1fr minmax(220px,26%); gap:28px; align-items:stretch; }
.cat-img { background:url('../../img/new-section.png') center/cover no-repeat; border-radius:var(--radius); min-height:220px; }
.cat-icons { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; align-content:center; }
.cat-icon-box { text-align:center; }
.cat-icon-box .ficon {
  width:44px; height:44px; margin:0 auto 10px; border-radius:50%;
  border:1px solid var(--line); display:grid; place-items:center; color:var(--gold);
}
.cat-icon-box .ficon svg { width:20px; height:20px; }
.cat-icon-box small { font-size:11.5px; color:#e4dacb; letter-spacing:.3px; }
.cat-cta { display:grid; place-items:center; }
.cat-box {
  width:100%; min-height:180px; border:1px solid var(--gold); border-radius:var(--radius);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; gap:14px; padding:22px;
}
.cat-box .big-icon { color:var(--gold); }
.cat-box .big-icon svg { width:36px; height:36px; }
.cat-box h3 { font-family:Georgia,serif; text-transform:uppercase; font-size:17px; line-height:1.3; }
.cat-box .btn { min-height:36px; width:100%; font-size:11px; }

/* Locations */
.locations { background:var(--cream); padding:var(--section-pad) 0; }
.locations .section-head h2 { color:#231e18; }
.loc-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; align-items:stretch; }
.loc-card {
  border:1px solid rgba(88,62,35,.2);
  background:#fffaf2;
  border-radius:var(--radius);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.loc-info { display:grid; grid-template-columns:44px 1fr; gap:16px; padding:26px 22px; }
.pin { width:44px; height:44px; border-radius:50%; border:1px solid var(--line); display:grid; place-items:center; color:var(--gold); }
.pin svg { width:20px; height:20px; }
.loc-card h3 { text-transform:uppercase; font-size:15px; margin-bottom:9px; letter-spacing:.3px; }
.loc-card p { font-size:12.5px; color:#5c554d; line-height:1.6; }
.loc-meta { display:flex; flex-wrap:wrap; gap:12px 18px; margin-top:14px; color:#5e564d; font-size:12px; }
.loc-meta span { display:inline-flex; align-items:center; gap:6px; }
.loc-meta svg { width:14px; height:14px; color:var(--gold); }
.loc-meta a { text-decoration:none; }
.loc-map { border-top:1px solid rgba(88,62,35,.15); margin-top:auto; }
.loc-map iframe { width:100%; height:220px; border:0; display:block; }

/* Reviews & Social */
.reviews { background:#030303; color:#fff; padding:var(--section-pad) 0; }
.reviews .section-head h2 { color:#f2e6d3; }
.reviews .section-head p { color:#cbbfae; }
.block-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:22px; }
.block-head h3 { font-size:15px; text-transform:uppercase; letter-spacing:.8px; color:#f2e6d3; }
.btn.sm { min-height:34px; padding:0 18px; font-size:10.5px; }
.reviews-block { margin-bottom:48px; }
.review-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.review-card {
  background:linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  border:1px solid rgba(201,146,43,.25);
  border-radius:var(--radius);
  padding:24px;
}
.stars { color:var(--gold); letter-spacing:2px; margin-bottom:12px; font-size:14px; }
.review-quote { color:#e9dfd0; font-size:13px; line-height:1.7; margin-bottom:16px; }
.review-author { font-size:11.5px; color:#cbbfae; font-weight:700; }
.review-author span { display:block; color:#8b8175; font-size:10.5px; font-weight:400; margin-top:2px; text-transform:uppercase; letter-spacing:.4px; }
.insta-block { margin-top:10px; }
.insta-widget {
  padding:20px;
  border:1px solid rgba(201,146,43,.28);
  border-radius:var(--radius);
  background:linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}
.insta-widget .instagram-media {
  background:#0d0c0b !important;
  border:1px solid rgba(201,146,43,.25) !important;
  border-radius:14px !important;
  box-shadow:none !important;
  max-width:100% !important;
  width:100% !important;
  min-width:280px;
}
.insta-grid { display:grid; grid-template-columns:repeat(6, 1fr); gap:12px; }
.insta-item { position:relative; display:block; aspect-ratio:1/1; overflow:hidden; border-radius:var(--radius); border:1px solid rgba(201,146,43,.25); }
.insta-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.insta-item:hover img { transform:scale(1.08); }
.insta-ic {
  position:absolute; inset:0;
  display:grid; place-items:center;
  background:rgba(3,3,3,.4);
  opacity:0;
  transition:opacity .25s ease;
  color:#fff;
}
.insta-item:hover .insta-ic, .insta-item:focus-visible .insta-ic { opacity:1; }
.insta-ic svg { width:22px; height:22px; }

/* Questions */
.questions { background:#060504; color:#fff; border-top:1px solid rgba(201,146,43,.28); border-bottom:1px solid rgba(201,146,43,.28); padding:52px 0; }
.question-grid { display:grid; grid-template-columns:260px 1fr 220px; gap:30px; align-items:center; }
.questions h2 { text-transform:uppercase; font-size:var(--h2-compact); line-height:1.2; margin-bottom:16px; }
.questions .question-cta { margin-top:4px; }
.faqs { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.faq {
  border:1px solid rgba(201,146,43,.3);
  border-left:3px solid var(--gold);
  min-height:44px;
  display:flex;
  align-items:center;
  padding:0 16px;
  color:#e9dfd0;
  font-size:12.5px;
  background:#0a0908;
  border-radius:2px;
}
.callbox { border:1px solid var(--gold); border-radius:var(--radius); padding:20px; color:#f7e9d1; }
.callbox .call-head { display:flex; align-items:center; gap:8px; color:var(--gold-light); font-weight:700; margin-bottom:8px; }
.callbox .call-head svg { width:16px; height:16px; }
.callbox a { font-size:19px; font-family:Georgia,serif; display:block; margin-bottom:4px; }
.callbox p { font-size:12px; color:#d8cdbc; }

/* Footer */
footer { background:#030303; color:#c9bdaa; padding:56px 0 20px; }
.footer-grid { display:grid; grid-template-columns:1.3fr .9fr 1.3fr 1fr; gap:34px; align-items:start; }
footer .logo { width:120px; margin-bottom:16px; }
.footer-brand p { font-size:12.5px; color:#a99e91; line-height:1.6; max-width:280px; }
footer p, footer li { font-size:12.5px; color:#a99e91; list-style:none; line-height:1.7; }
footer ul { padding:0; margin:0; }
footer ul a { transition:color .2s ease; }
footer ul a:hover { color:var(--gold-light); }
footer h3 { color:var(--gold); font-family:Arial,sans-serif; text-transform:uppercase; font-size:12px; letter-spacing:.9px; margin-bottom:16px; }
.footer-loc { display:flex; gap:10px; margin-bottom:14px; }
.footer-loc svg { width:16px; height:16px; color:var(--gold); flex:none; margin-top:3px; }
.footer-loc p { margin:0; }
.socials { display:flex; gap:10px; margin-top:18px; }
.socials a { width:34px; height:34px; border:1px solid rgba(201,146,43,.45); border-radius:50%; display:grid; place-items:center; color:var(--gold); }
.socials svg { width:16px; height:16px; }
.footer-order p { margin-bottom:14px; }
.footer-order .btn { width:100%; }
.copyright {
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:36px; padding-top:18px;
  color:#7f7467; font-size:11.5px; text-align:center;
}

@media (max-width: 980px) {
  :root { --section-pad:52px; }
  .wrap { width:min(100% - 32px, var(--max)); }
  .menu { display:none; }
  .site-header {
    position:sticky;
    top:0;
    z-index:10;
  }
  .navbar {
    padding:10px 0;
    gap:12px;
  }
  .hero {
    min-height:460px;
    min-height:calc(100svh - 76px);
  }
  .hero-slider,
  .hero-slide {
    height:100%;
  }
  .hero-copy { width:100%; padding:56px 0 60px; }
  .hero::after { background:linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.08) 40%, rgba(0,0,0,.22) 100%); }
  .craft-body, .catering-body { grid-template-columns:1fr; }
  .chef-img, .cat-img { min-height:220px; }
  .features, .cat-icons { grid-template-columns:1fr 1fr; }
  .timeline { grid-template-columns:repeat(2,1fr); }
  .loc-grid { grid-template-columns:1fr; }
  .review-grid { grid-template-columns:1fr; }
  .insta-grid { grid-template-columns:repeat(3, 1fr); }
  .question-grid { grid-template-columns:1fr; text-align:center; }
  .question-cta { display:flex; justify-content:center; }
  .faqs { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px 24px; }
  .footer-brand { grid-column:1 / -1; }
}

@media (max-width: 640px) {
  .hero {
    min-height:360px;
    min-height:calc(100svh - 64px);
  }
  .hero-copy h1 { font-size:clamp(28px, 8vw, 36px); }
  .navbar { flex-wrap:wrap; align-items:center; padding:8px 0; }
  .logo { width:96px; }
  .nav-order {
    width:auto;
    min-height:32px;
    padding:0 14px;
    margin-left:auto;
  }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-actions .btn { width:100%; }
  .timeline, .features, .cat-icons, .faqs { grid-template-columns:1fr; }
  .timeline::before { display:none; }
  .product-carousel { grid-template-columns:1fr; }
  .carousel-viewport { order:1; }
  .carousel-control { display:none; }
  .product-card { flex:0 0 82%; }
  .loc-info { grid-template-columns:1fr; }
  .loc-info .pin { margin-bottom:6px; }
  .insta-grid { grid-template-columns:repeat(2, 1fr); }
  .footer-grid { grid-template-columns:1fr; text-align:left; }
  .btn { width:100%; }
  .story-cta .btn, .dishes-cta .btn, .question-cta .btn { width:auto; min-width:220px; }
}

/* Mobile navigation */
@media (max-width: 980px) {
  .navbar { gap:14px; flex-wrap:wrap; }
  .menu-toggle { display:inline-flex; margin-left:auto; }
  .menu {
    order:5;
    width:100%;
    margin-left:0;
    padding:16px 0 6px;
    border-top:1px solid rgba(201,146,43,.28);
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
  }
  .menu.is-open { display:flex; }
  .menu a { width:100%; padding:12px 4px; }
  .nav-order { order:3; }
}
