
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --red:#c0392b;--dark:#1a1a1a;--mid:#2c2c2c;--gold:#d4a843;
  --white:#ffffff;--off:#f9f5f0;--lgray:#ececec;
}
html{scroll-behavior:smooth}
body{font-family:'Raleway',sans-serif;color:var(--dark);background:var(--white);padding-top:76px}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}

/* NAV */
#mainNav{
  position:fixed;top:0;width:100%;z-index:999;
  background:rgba(26,26,26,.96);backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(212,168,67,.2);
  transition:box-shadow .3s;
}
.nav-inner{
  max-width:1260px;margin:0 auto;padding:10px 36px;
  display:flex;align-items:center;justify-content:space-between;
}
.nav-logo img{height:54px}
.nav-links{list-style:none;display:flex;gap:0;align-items:center}
.nav-links a{
  color:#ddd;font-size:.78rem;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;padding:8px 16px;transition:color .22s;display:block;
}
.nav-links a:hover,.nav-links a.active{color:var(--gold)}
.nav-links li:last-child a{
  background:var(--red);color:#fff;padding:9px 18px;margin-left:8px;
  transition:background .22s;
}
.nav-links li:last-child a:hover{background:#a93226}
.nav-toggle{display:none;background:none;border:none;color:#fff;font-size:1.6rem;cursor:pointer}

/* HERO */
.hero{
  position:relative;height:calc(100vh - 76px);min-height:520px;
  display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;
}
.hero-slides{position:absolute;inset:0}
.hero-slide{
  position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;
  background-size:cover;background-position:center;
}
.hero-slide.active{opacity:1}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,.55),rgba(0,0,0,.4) 60%,rgba(0,0,0,.7));z-index:1}
.hero-content{position:relative;z-index:2;color:#fff;padding:0 24px;max-width:760px}
.eyebrow{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
.hero-content h1{font-family:'Playfair Display',serif;font-size:clamp(2.6rem,6.5vw,5rem);font-weight:700;line-height:1.1;margin-bottom:22px}
.hero-content h1 span{color:var(--gold)}
.hero-content p{font-size:1.05rem;font-weight:300;opacity:.92;margin-bottom:34px;line-height:1.7}
.cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 36px;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;transition:all .25s;cursor:pointer;border:none;font-family:'Raleway',sans-serif}
.btn-red{background:var(--red);color:#fff}
.btn-red:hover{background:#a93226;transform:translateY(-2px)}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}
.btn-outline:hover{border-color:var(--gold);color:var(--gold)}
.hero-dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:10px}
.hero-dot{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:background .3s}
.hero-dot.active{background:var(--gold)}

/* MARQUEE */
.marquee{background:var(--red);padding:12px 0;overflow:hidden;white-space:nowrap}
.marquee-inner{display:inline-block;animation:mq 24s linear infinite}
.marquee-inner span{font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin:0 38px}
.marquee-inner span::before{content:'✦ ';color:rgba(255,255,255,.5)}
@keyframes mq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* SECTIONS */
section.page-section{padding:86px 36px}
.section-label{font-size:.72rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3.8vw,2.8rem);font-weight:700;margin-bottom:16px;color:var(--dark)}
.section-sub{color:#555;max-width:580px;line-height:1.78;font-size:.95rem}
.inner{max-width:1200px;margin:0 auto}
.inner-w{max-width:1360px;margin:0 auto}

/* ABOUT GRID */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.photo-collage{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.photo-collage .pc{overflow:hidden;background:#ddd}
.photo-collage .pc img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.photo-collage .pc:hover img{transform:scale(1.06)}
.photo-collage .pc:nth-child(1){aspect-ratio:3/4}
.photo-collage .pc:nth-child(2){aspect-ratio:3/4;margin-top:36px}
.photo-collage .pc:nth-child(3){aspect-ratio:3/4;margin-top:-36px}
.photo-collage .pc:nth-child(4){aspect-ratio:3/4}
.about-text .section-sub{margin-bottom:14px}
.stats{display:flex;gap:36px;margin-top:34px;flex-wrap:wrap}
.stat .num{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:700;color:var(--red);line-height:1}
.stat .lbl{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#888;margin-top:4px}

/* DARK SECTION */
.dark-section{background:var(--dark);color:#fff}
.dark-section .section-title{color:#fff}
.dark-section .section-label{color:var(--gold)}
.dark-section .section-sub{color:#aaa}

/* MENU GRID */
.menu-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:32px 0 40px}
.menu-tab{
  padding:9px 22px;background:transparent;border:1px solid #555;
  color:#bbb;cursor:pointer;font-family:'Raleway',sans-serif;
  font-size:.77rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:all .22s;
}
.menu-tab:hover,.menu-tab.active{background:var(--red);border-color:var(--red);color:#fff}
.menu-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:22px;
}
.mc{background:#242424;overflow:hidden;transition:transform .25s}
.mc:hover{transform:translateY(-5px)}
.mc .mi{aspect-ratio:4/3;overflow:hidden;background:#333}
.mc .mi img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.mc:hover .mi img{transform:scale(1.07)}
.mc .info{padding:18px 20px}
.mc .info h3{font-family:'Playfair Display',serif;font-size:1.1rem;margin-bottom:8px;color:#fff}
.mc .info p{font-size:.82rem;color:#999;line-height:1.65;margin-bottom:12px}
.mc .tag{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid var(--gold);padding:3px 10px}

/* PARTY TRAY */
.tray-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:26px;margin:38px 0}
.tray-card{background:var(--off);overflow:hidden;border-bottom:3px solid transparent;transition:border-color .25s}
.tray-card:hover{border-color:var(--red)}
.tray-card .ti{aspect-ratio:16/10;overflow:hidden;background:#ddd}
.tray-card .ti img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.tray-card:hover .ti img{transform:scale(1.06)}
.tray-card .tc{padding:20px 22px}
.tray-card .tc h3{font-family:'Playfair Display',serif;font-size:1.1rem;margin-bottom:8px}
.tray-card .tc p{font-size:.84rem;color:#555;line-height:1.65}
.order-form{background:var(--off);padding:40px;max-width:700px;margin:0 auto}
.order-form h3{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:24px;text-align:center}
.form-row{display:flex;gap:16px}
.form-group{flex:1;display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.form-group label{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--dark)}
.form-group input,.form-group select,.form-group textarea{
  padding:13px 15px;border:1px solid #ddd;font-family:'Raleway',sans-serif;
  font-size:.9rem;background:#fff;outline:none;transition:border .22s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--red)}
.form-group textarea{height:110px;resize:vertical}
.form-note{font-size:.8rem;color:#888;margin-bottom:20px;line-height:1.6;text-align:center}

/* LOCATIONS */
.locs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:28px;margin-top:40px}
.loc-card{background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.09);overflow:hidden;transition:transform .25s}
.loc-card:hover{transform:translateY(-5px)}
.loc-map{height:240px;border:0;width:100%;display:block}
.loc-info{padding:22px 24px}
.loc-info h3{font-family:'Playfair Display',serif;font-size:1.15rem;margin-bottom:8px;color:var(--dark)}
.loc-info p{font-size:.87rem;color:#555;line-height:1.65;margin-bottom:6px}
.loc-info .loc-link{display:inline-block;margin-top:12px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--red);border-bottom:1px solid var(--red);padding-bottom:2px}
.loc-info .loc-link:hover{color:var(--dark);border-color:var(--dark)}
.locs-banner{background:var(--off);padding:48px 36px;text-align:center;margin-top:60px}
.locs-banner p{max-width:580px;margin:0 auto;color:#555;line-height:1.8}

/* GALLERY */
.gallery-masonry{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:220px;
  gap:8px;
  margin-top:38px;
}
.gitem{overflow:hidden;background:#ddd;cursor:pointer;position:relative}
.gitem img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.gitem:hover img{transform:scale(1.08)}
.gitem:nth-child(1){grid-column:span 2;grid-row:span 2}
.gitem:nth-child(5){grid-column:span 2}
.gitem:nth-child(9){grid-column:span 2}
.gitem:nth-child(13){grid-column:span 2}
.gitem .overlay{position:absolute;inset:0;background:rgba(0,0,0,0);transition:background .3s;display:flex;align-items:center;justify-content:center}
.gitem:hover .overlay{background:rgba(0,0,0,.35)}
.gitem .overlay span{color:#fff;font-size:2rem;opacity:0;transition:opacity .3s}
.gitem:hover .overlay span{opacity:1}

/* BANNER */
.parallax-banner{
  position:relative;padding:120px 36px;text-align:center;color:#fff;
  background-attachment:fixed;background-size:cover;background-position:center;
}
.parallax-banner::before{content:'';position:absolute;inset:0;background:rgba(0,0,0,.7)}
.parallax-banner .inner{position:relative;z-index:1;max-width:680px;margin:0 auto}
.parallax-banner .section-label{color:var(--gold)}
.parallax-banner .section-title{color:#fff;margin:0 auto 18px}
.parallax-banner p{color:#ccc;line-height:1.8;margin-bottom:32px}

/* FEATURES */
.features-strip{background:var(--mid);padding:64px 36px}
.feats{max-width:1100px;margin:0 auto;display:flex;gap:36px;justify-content:space-between;flex-wrap:wrap}
.feat{flex:1;min-width:180px;text-align:center;color:#fff}
.feat .ico{font-size:2.4rem;margin-bottom:16px}
.feat h4{font-family:'Playfair Display',serif;font-size:1rem;margin-bottom:10px;color:var(--gold)}
.feat p{font-size:.82rem;color:#aaa;line-height:1.7}

/* TESTIMONIALS */
.t-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:26px;margin-top:44px}
.tc2{background:#fff;padding:30px 28px;box-shadow:0 4px 24px rgba(0,0,0,.08)}
.tc2 .stars{color:var(--gold);margin-bottom:16px;font-size:1rem}
.tc2 q{font-style:italic;color:#444;line-height:1.75;font-size:.92rem;display:block;margin-bottom:20px}
.tc2 .auth{font-weight:700;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dark)}

/* ABOUT PAGE */
.chefs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:28px;margin-top:38px}
.chef-card{text-align:center;background:var(--off);padding-bottom:22px;overflow:hidden}
.chef-card .ci{aspect-ratio:1;overflow:hidden;background:#ddd}
.chef-card .ci img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.chef-card:hover .ci img{transform:scale(1.06)}
.chef-card h3{font-family:'Playfair Display',serif;font-size:1.1rem;margin:18px 16px 6px}
.chef-card p{font-size:.82rem;color:#777;padding:0 16px;line-height:1.65}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;max-width:1000px;margin:40px auto 0}
.contact-info-block h4{font-family:'Playfair Display',serif;font-size:1.5rem;margin-bottom:24px}
.ci-item{display:flex;gap:18px;margin-bottom:28px;align-items:flex-start}
.ci-item .cicon{font-size:1.4rem;margin-top:2px}
.ci-item h5{font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--red);margin-bottom:6px}
.ci-item p{font-size:.9rem;color:#555;line-height:1.65}
.contact-form .form-group textarea{height:140px}
.contact-map{height:280px;width:100%;border:0;margin-top:30px}

/* PAGE HERO */
.page-hero{
  position:relative;height:320px;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;background:var(--dark);
}
.page-hero .phbg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.4}
.page-hero .phc{position:relative;z-index:1;color:#fff}
.page-hero .phc h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:700}
.page-hero .phc p{color:#ccc;font-size:1rem;margin-top:10px}
.breadcrumb{margin-top:12px;font-size:.78rem;color:#aaa}
.breadcrumb a{color:var(--gold)}
.breadcrumb a:hover{text-decoration:underline}

/* FOOTER */
footer{background:#111;color:#bbb;padding:60px 36px 24px}
.foot-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:44px;margin-bottom:50px}
.foot-logo{height:46px;margin-bottom:18px;filter:brightness(0) invert(1)}
.foot-col p{font-size:.85rem;color:#888;line-height:1.75;margin-bottom:6px}
footer h6{font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}
footer ul{list-style:none;display:flex;flex-direction:column;gap:8px}
footer ul a,.foot-col ul li{color:#999;font-size:.87rem;transition:color .22s}
footer ul a:hover{color:#fff}
.foot-bottom{max-width:1200px;margin:0 auto;border-top:1px solid #222;padding-top:22px;text-align:center}
.foot-bottom p{font-size:.78rem;color:#555}

/* RESPONSIVE */
@media(max-width:960px){
  .nav-links{display:none;flex-direction:column;position:absolute;top:76px;left:0;right:0;background:#1a1a1a;padding:20px 36px}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .about-grid,.contact-grid{grid-template-columns:1fr}
  .foot-inner{grid-template-columns:1fr 1fr}
  .gallery-masonry{grid-template-columns:repeat(2,1fr)}
  section.page-section{padding:60px 24px}
}
@media(max-width:600px){
  .form-row{flex-direction:column}
  .foot-inner{grid-template-columns:1fr}
  .locs-grid{grid-template-columns:1fr}
  .gallery-masonry{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
}
