:root{
  --black:#0A0A0A;
  --black-2:#161313;
  --black-3:#1F1A1A;
  --red:#A61B1B;
  --red-bright:#E63946;
  --cream:#EDE7DF;
  --grey:#9C9490;
  --line:rgba(237,231,223,0.1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:"Barlow", Arial, sans-serif;
  color:var(--cream);
  background:var(--black);
}
h1,h2,h3{font-family:"Bebas Neue", Arial, sans-serif; font-weight:400; letter-spacing:0.02em;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease, transform .8s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}

/* NAV */
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 40px;background:var(--black);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50;
}
.nav-logo{font-family:"Bebas Neue",sans-serif;font-size:26px;letter-spacing:0.06em;color:var(--cream);}
.nav-logo span{color:var(--red-bright);}
.nav-links{display:flex;align-items:center;gap:30px;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:#C9C2BA;font-weight:600;}
.nav-links a{opacity:0.8;transition:color .15s ease;}
.nav-links a:hover{opacity:1;color:var(--red-bright);}

/* HERO */
.hero{
  position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;
  text-align:center;overflow:hidden;background:var(--black);
}
.hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;
}
.hero::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg, rgba(10,10,10,0.55) 0%, rgba(10,10,10,0.35) 40%, rgba(10,10,10,0.9) 100%);
}
.hero-content{position:relative;z-index:2;max-width:820px;padding:0 32px;}
.hero .eyebrow{font-size:13px;letter-spacing:0.3em;text-transform:uppercase;color:var(--red-bright);margin-bottom:20px;font-weight:700;}
.ember-glow{
  position:absolute;left:50%;top:38%;width:340px;height:340px;transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(230,57,70,0.35) 0%, rgba(230,57,70,0) 70%);
  z-index:1;animation:emberPulse 3.2s ease-in-out infinite;
}
@keyframes emberPulse{
  0%,100%{opacity:0.55;transform:translate(-50%,-50%) scale(0.94);}
  50%{opacity:0.9;transform:translate(-50%,-50%) scale(1.08);}
}
.hero h1{font-size:88px;line-height:0.98;margin:0 0 22px;color:var(--cream);}
.hero h1 em{font-style:normal;color:var(--red-bright);}
.hero p{font-family:"Barlow",sans-serif;font-size:16px;color:#D8D0C7;max-width:46ch;margin:0 auto 38px;line-height:1.7;}
.hero-ctas{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn-red{
  display:inline-block;background:var(--red);color:var(--cream);border:none;border-radius:2px;
  padding:16px 34px;font-family:"Barlow",sans-serif;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.btn-red:hover{background:var(--red-bright);transform:translateY(-2px);}
.btn-outline-cream{
  display:inline-block;background:transparent;color:var(--cream);border:1.5px solid rgba(237,231,223,0.4);border-radius:2px;
  padding:14.5px 32px;font-family:"Barlow",sans-serif;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;font-weight:700;cursor:pointer;
  transition:border-color .2s ease;
}
.btn-outline-cream:hover{border-color:var(--red-bright);color:var(--red-bright);}

/* SOUND TOGGLE */
.sound-toggle{
  position:absolute;right:28px;bottom:28px;z-index:5;
  display:flex;align-items:center;gap:9px;
  background:rgba(10,10,10,0.55);border:1px solid rgba(237,231,223,0.3);border-radius:999px;
  padding:10px 18px;color:var(--cream);cursor:pointer;
  font-family:"Barlow",sans-serif;font-size:12px;letter-spacing:0.06em;text-transform:uppercase;font-weight:600;
  transition:border-color .2s ease, background .2s ease;
  backdrop-filter:blur(6px);
}
.sound-toggle:hover{border-color:var(--red-bright);}
.sound-toggle .icon-on{display:none;}
.sound-toggle.playing .icon-off{display:none;}
.sound-toggle.playing .icon-on{display:block;color:var(--red-bright);}
.sound-toggle.playing{border-color:var(--red-bright);}

@media (max-width:860px){
  .sound-toggle .sound-label{display:none;}
  .sound-toggle{right:18px;bottom:18px;padding:11px;}
}

/* SECTIONS */
.section{padding:110px 0;}
.section-head{max-width:640px;margin:0 auto 56px;text-align:center;}
.section-head .eyebrow{font-size:13px;letter-spacing:0.24em;text-transform:uppercase;color:var(--red-bright);margin-bottom:16px;font-weight:700;}
.section-head h2{font-size:46px;margin:0 0 14px;}
.section-head p{font-size:15px;color:var(--grey);line-height:1.75;margin:0;font-family:"Barlow",sans-serif;}

/* MENU — cuts of meat, cartes rouges/noires costaudes */
.cuts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line);}
.cut-card{
  position:relative;background:var(--black-2);padding:0;overflow:hidden;aspect-ratio:4/5;
  transition:transform .35s ease;
}
.cut-photo{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(0.7) saturate(1.1);transition:transform .6s ease, filter .35s ease;}
.cut-card:hover .cut-photo{transform:scale(1.08);filter:brightness(0.9) saturate(1.2);}
.cut-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg, rgba(10,10,10,0) 30%, rgba(10,10,10,0.92) 100%);}
.cut-body{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:26px;font-family:"Barlow",sans-serif;}
.cut-weight{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--red-bright);font-weight:700;margin-bottom:8px;}
.cut-body h3{font-family:"Bebas Neue",sans-serif;font-size:28px;margin:0 0 8px;color:var(--cream);}
.cut-body p{font-size:13.5px;color:#C9C2BA;line-height:1.6;margin:0 0 10px;}
.cut-price{font-family:"Bebas Neue",sans-serif;font-size:20px;color:var(--red-bright);}

/* ATMOSPHERE — full-width photo band avec texte */
.atmosphere{position:relative;min-height:60vh;display:flex;align-items:center;background-size:cover;background-position:center;}
.atmosphere::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg, rgba(10,10,10,0.92) 0%, rgba(10,10,10,0.55) 55%, rgba(10,10,10,0.2) 100%);}
.atmosphere-content{position:relative;z-index:2;max-width:480px;padding:0 60px;}
.atmosphere-content .eyebrow{font-size:13px;letter-spacing:0.24em;text-transform:uppercase;color:var(--red-bright);margin-bottom:18px;font-weight:700;}
.atmosphere-content h2{font-size:38px;margin:0 0 18px;}
.atmosphere-content p{font-family:"Barlow",sans-serif;font-size:15px;color:#D8D0C7;line-height:1.8;margin:0;}

/* STATS BAND */
.stats-band{background:var(--red);padding:56px 0;}
.stats-row{display:flex;justify-content:space-around;flex-wrap:wrap;gap:30px;text-align:center;}
.stat h3{font-family:"Bebas Neue",sans-serif;font-size:44px;margin:0 0 6px;color:var(--black);}
.stat p{font-family:"Barlow",sans-serif;font-size:13px;letter-spacing:0.08em;text-transform:uppercase;color:#3A0E0E;font-weight:700;margin:0;}

/* CTA */
.cta{background:var(--black-3);padding:110px 0;text-align:center;border-top:1px solid var(--line);}
.cta h2{font-size:44px;margin:0 0 18px;}
.cta p{font-family:"Barlow",sans-serif;font-size:15px;color:var(--grey);max-width:50ch;margin:0 auto 32px;}

footer{
  padding:30px 40px;font-family:"Barlow",sans-serif;font-size:13px;color:#7A736D;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;background:var(--black);border-top:1px solid var(--line);
}

@media (max-width:860px){
  .hero h1{font-size:52px;}
  .cuts-grid{grid-template-columns:1fr;}
  .atmosphere{flex-direction:column;}
  .atmosphere-content{padding:50px 32px;max-width:none;}
  .nav-links{display:none;}
  .stats-row{gap:20px;}
}
