/* ============ LUMPY'S CAFE — shared styles ============ */
:root{
  --cream:#f6ecd6;
  --paper:#fbf5e6;
  --ink:#26201a;
  --brick:#a8331f;
  --brick-dark:#7d2415;
  --mustard:#e0a128;
  --teal:#2e6b62;
  --teal-dark:#214f48;
  --rule:#d8c6a0;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'DM Sans',sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
  overflow-x:hidden;
}
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
}

/* ---------- NAV ---------- */
nav{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:.7rem clamp(1.2rem,4vw,3rem);
  background:rgba(168,51,31,.96);
  backdrop-filter:blur(6px);
  border-bottom:3px solid var(--mustard);
}
nav .brand{font-family:'Bebas Neue',sans-serif;font-size:1.7rem;letter-spacing:.06em;color:var(--paper);text-decoration:none}
nav .brand span{color:var(--mustard)}
nav ul{display:flex;gap:clamp(1rem,3vw,2.2rem);list-style:none;align-items:center}
nav a.lnk{color:var(--paper);text-decoration:none;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;padding-bottom:3px;border-bottom:2px solid transparent;transition:border-color .2s}
nav a.lnk:hover,nav a.lnk.active{border-color:var(--mustard)}
nav .call{background:var(--mustard);color:var(--brick-dark);padding:.5rem .9rem;border-radius:2px;border-bottom:none;text-decoration:none;font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;transition:background .2s}
nav .call:hover{background:var(--paper)}
@media(max-width:640px){nav ul li.hide-sm{display:none}}

/* ---------- BUTTONS ---------- */
.btn{
  font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;
  padding:.85rem 1.7rem;border-radius:3px;text-decoration:none;border:2px solid var(--brick);
  transition:transform .15s, background .2s, color .2s;display:inline-block;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--brick);color:var(--paper)}
.btn-primary:hover{background:var(--brick-dark)}
.btn-ghost{background:transparent;color:var(--brick)}
.btn-ghost:hover{background:var(--brick);color:var(--paper)}

/* ---------- SHARED TYPE ---------- */
.eyebrow{font-weight:600;letter-spacing:.22em;text-transform:uppercase;font-size:.74rem;color:var(--brick);display:block;margin-bottom:.7rem}
h2.sec{font-family:'Bebas Neue',sans-serif;font-size:clamp(2.6rem,6vw,4.2rem);line-height:.95;letter-spacing:.02em;color:var(--ink)}
section{position:relative;z-index:2;padding:clamp(4rem,9vw,7rem) clamp(1.3rem,6vw,5rem)}

/* ---------- PAGE BANNER (interior pages) ---------- */
.banner{
  position:relative;padding:9rem 1.5rem 4rem;text-align:center;
  background:
    radial-gradient(circle at 50% 30%, rgba(224,161,40,.18), transparent 60%),
    repeating-linear-gradient(45deg, rgba(125,36,21,.04) 0 22px, transparent 22px 44px),
    var(--cream);
}
.banner::after{
  content:"";position:absolute;bottom:-1px;left:0;right:0;height:34px;
  background:radial-gradient(circle at 17px -2px, var(--brick) 16px, transparent 17px) repeat-x;
  background-size:34px 34px;
}
.banner .badge{
  display:inline-flex;align-items:center;gap:.55rem;
  font-weight:600;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--teal-dark);border:1.5px solid var(--teal);border-radius:40px;padding:.4rem 1.1rem;margin-bottom:1.4rem;
  background:rgba(46,107,98,.06);
}
.banner .badge::before{content:"★";color:var(--mustard)}
.banner h1{
  font-family:'Bebas Neue',sans-serif;font-size:clamp(3.5rem,11vw,7rem);line-height:.9;letter-spacing:.02em;color:var(--brick);
  text-shadow:3px 3px 0 var(--mustard), 6px 6px 0 rgba(38,32,26,.12);
}
.banner p.sub{font-family:'Fraunces',serif;font-style:italic;font-size:clamp(1rem,2.4vw,1.35rem);margin-top:.8rem;color:var(--ink)}

/* ---------- FOOTER ---------- */
footer{background:var(--ink);color:var(--cream);text-align:center;padding:3rem 1.5rem 2.4rem;position:relative;z-index:2}
footer .fbrand{font-family:'Bebas Neue',sans-serif;font-size:2.4rem;letter-spacing:.06em;color:var(--mustard);text-decoration:none;display:inline-block}
footer .flinks{margin-top:1rem;display:flex;gap:1.4rem;justify-content:center;flex-wrap:wrap}
footer .flinks a{color:var(--cream);text-decoration:none;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600;opacity:.8}
footer .flinks a:hover{opacity:1;color:var(--mustard)}
footer p{margin-top:.8rem;font-size:.85rem;color:rgba(246,236,214,.7)}
footer .small{margin-top:1.4rem;font-size:.72rem;color:rgba(246,236,214,.4)}

@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
