/* ============================================================
   TASTY.LEBANON — reset, page shell, shared primitives
   Anything used by more than one section lives here.
   ============================================================ */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);
  background:var(--cream);
  color:var(--ink);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--cheddar);color:var(--ink)}
img{max-width:100%;display:block}
a{color:inherit}

/* film-grain overlay */
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:999;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- section shell ---------- */
section{padding:clamp(70px,9vw,130px) 5vw;max-width:1280px;margin:0 auto}
.sec-head{margin-bottom:clamp(34px,4vw,56px)}
.sec-tag{
  display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  background:var(--ink);color:var(--cream);padding:7px 14px;border-radius:6px;margin-bottom:16px;
}
.sec-head h2{
  font-family:var(--disp);font-weight:800;font-size:clamp(32px,5.4vw,64px);
  letter-spacing:-.025em;line-height:1.02;text-transform:uppercase;
}
.sec-head p{margin-top:14px;font-size:16.5px;line-height:1.6;max-width:560px;color:rgba(20,17,13,.72)}
.accent-t{color:var(--tomato)}.accent-c{color:var(--cheddar)}.accent-s{color:var(--sea)}.accent-a{color:var(--acai)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;
  font-family:var(--disp);font-weight:700;font-size:15px;letter-spacing:.02em;
  padding:15px 26px;border-radius:999px;transition:transform .2s,box-shadow .2s;
}
.btn:hover{transform:translateY(-3px) scale(1.02)}
.btn-solid{background:var(--cheddar);color:var(--ink);box-shadow:0 10px 30px -8px rgba(255,184,36,.55)}
.btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px)}
.btn-outline{border:2px solid var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:var(--cream)}

/* ---------- chips ---------- */
.chip{
  font-size:12.5px;font-weight:700;letter-spacing:.04em;padding:7px 13px;border-radius:999px;
  border:1.5px solid rgba(248,241,228,.3);
}
.chip.hot{background:var(--cheddar);color:var(--ink);border-color:var(--cheddar)}

/* ---------- scroll reveal ---------- */
.rv{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
}
