@import url('https://fonts.googleapis.com/css2?family=Fraunces:wght@400;600;700;900&family=Manrope:wght@400;600;700;800&display=swap');

:root{
  --bb-bg:#f7f1e9;
  --bb-surface:#fff8f1;
  --bb-surface2:#f2e6d8;
  --bb-text:#2b1d14;
  --bb-muted:rgba(43,29,20,.68);
  --bb-faint:rgba(43,29,20,.12);
  --bb-accent:#c87939;
  --bb-accent2:#1b2a4a;
  --bb-warn:#e2a05e;
  --bb-radius:18px;
  --bb-shadow: 0 16px 30px rgba(43,29,20,.18);
  --bb-max: 1160px;
  --bb-font: "Manrope", "Segoe UI", Arial, sans-serif;
  --bb-display: "Fraunces", Georgia, serif;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--bb-font);
  background:
    radial-gradient(900px 520px at 12% 10%, rgba(200,121,57,.16), transparent 60%),
    radial-gradient(800px 480px at 90% 10%, rgba(27,42,74,.10), transparent 55%),
    radial-gradient(900px 600px at 50% 110%, rgba(226,160,94,.12), transparent 60%),
    linear-gradient(180deg, #f7f1e9 0%, #efe5da 100%);
  color:var(--bb-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

img{max-width:100%; height:auto}
a{color:inherit}
.bb-btn:focus-visible,
.bb-nav__toggle:focus-visible,
.bb-menu-card:focus-visible,
.bb-menu-tile:focus-visible{
  outline:3px solid rgba(200,121,57,.55);
  outline-offset:3px;
}
.bb-sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}
.bb-skip{
  position:absolute;
  top:10px;
  left:10px;
  padding:10px 14px;
  background:#fff;
  color:var(--bb-text);
  border-radius:999px;
  box-shadow:0 8px 18px rgba(0,0,0,.18);
  text-decoration:none;
  transform:translateY(-140%);
  transition:transform .2s ease;
  z-index:1000;
}
.bb-skip:focus{transform:translateY(0)}
.bb-loader{
  position:fixed;
  inset:0;
  background:linear-gradient(180deg, rgba(247,241,233,.98), rgba(239,229,218,.98));
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:18px;
  z-index:9999;
  transition:opacity .4s ease, visibility .4s ease;
}
.bb-loader.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.bb-loadbar{
  position:fixed;
  top:0;
  left:0;
  height:4px;
  width:100%;
  background:linear-gradient(90deg, rgba(27,42,74,.15), rgba(200,121,57,.85), rgba(27,42,74,.15));
  background-size:200% 100%;
  animation: bb-loadbar 1.2s ease-in-out infinite;
}
.bb-loader__text{
  font-weight:700;
  color:rgba(43,29,20,.8);
}
.bb-loader__steam{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:8px;
  height:42px;
}
.bb-loader__steam-line{
  width:5px;
  height:24px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(200,121,57,.22), rgba(27,42,74,.72));
  animation: bb-steamline 1.2s ease-in-out infinite;
  transform-origin: bottom center;
  opacity:.85;
}
.bb-loader__steam-line--one{animation-delay:0s}
.bb-loader__steam-line--two{animation-delay:.18s}
.bb-loader__steam-line--three{animation-delay:.36s}
.bb-cup{
  position:relative;
  width:120px;
  height:120px;
}
.bb-cup__rim{
  position:absolute;
  top:34px;
  left:50%;
  transform:translateX(-50%);
  width:90px;
  height:16px;
  border-radius:999px;
  border:3px solid rgba(27,42,74,.9);
  background:rgba(255,255,255,.85);
}
.bb-cup__body{
  position:absolute;
  top:44px;
  left:50%;
  transform:translateX(-50%);
  width:86px;
  height:60px;
  border-radius:0 0 18px 18px;
  background:rgba(255,255,255,.9);
  border:3px solid rgba(27,42,74,.9);
  border-top:none;
}
.bb-cup__sleeve{
  position:absolute;
  top:62px;
  left:50%;
  transform:translateX(-50%);
  width:70px;
  height:28px;
  border-radius:14px;
  background:linear-gradient(180deg, rgba(226,160,94,.95), rgba(200,121,57,.95));
  border:2px solid rgba(43,29,20,.2);
}
.bb-cup__base{
  position:absolute;
  top:104px;
  left:50%;
  transform:translateX(-50%);
  width:92px;
  height:10px;
  border-radius:999px;
  background:rgba(27,42,74,.8);
}
.bb-cup__steam{
  position:absolute;
  width:10px;
  height:30px;
  border-radius:999px;
  background:rgba(200,121,57,.6);
  filter:blur(.5px);
  top:6px;
  animation: bb-steam 1.6s ease-in-out infinite;
}
.bb-cup__steam--one{left:44px; animation-delay:0s}
.bb-cup__steam--two{left:58px; animation-delay:.3s}
.bb-cup__steam--three{left:72px; animation-delay:.6s}

@keyframes bb-loadbar{
  0%{background-position:0% 50%}
  100%{background-position:200% 50%}
}
@keyframes bb-steam{
  0%{opacity:0; transform:translateY(12px) scale(.9)}
  40%{opacity:.7}
  100%{opacity:0; transform:translateY(-12px) scale(1.05)}
}
@keyframes bb-steamline{
  0%{transform:translateY(8px) scaleY(.7); opacity:.35}
  40%{transform:translateY(-2px) scaleY(1); opacity:.9}
  100%{transform:translateY(-10px) scaleY(1.08); opacity:.2}
}
@media (prefers-reduced-motion: reduce){
  .bb-loadbar,
  .bb-cup__steam,
  .bb-loader__steam-line{
    animation:none;
  }
}

:focus-visible{
  outline:3px solid rgba(200,121,57,.45);
  outline-offset:2px;
  border-radius:10px;
}

.bb-container{max-width:var(--bb-max); margin:0 auto; padding:0 20px}

.bb-header{
  position:sticky; top:0; z-index:120;
  background:rgba(247,241,233,.86);
  backdrop-filter: blur(12px);
  border-bottom:1px solid rgba(43,29,20,.08);
}
.bb-header__inner{
  display:flex; align-items:center; gap:18px;
  padding:16px 0;
}
.bb-brand{display:flex; align-items:center; gap:12px; text-decoration:none}
.bb-brand__text{font-weight:800; letter-spacing:.2px}
.bb-brand__logo{
  width:110px; height:110px;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent;
  border:none;
  box-shadow:none;
}
.bb-brand__logo img{max-height:100px; width:auto; display:block}
.bb-nav{flex:1; display:flex; align-items:center; justify-content:center}
.bb-nav__menu{list-style:none; display:flex; gap:18px; margin:0; padding:0}
.bb-nav__menu a{
  text-decoration:none;
  color:rgba(43,29,20,.86);
  font-weight:700;
  padding:10px 10px;
  border-radius:999px;
}
.bb-nav__menu a:hover{background:rgba(43,29,20,.06); color:var(--bb-text)}
.bb-header__cta{display:flex; gap:10px; align-items:center}
.bb-status{
  display:inline-flex; align-items:center; gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(27,42,74,.08);
  color:var(--bb-text);
  font-weight:700;
  font-size:13px;
}
.bb-status__state{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  padding:4px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  letter-spacing:.02em;
}
.bb-status__state--open{
  background:rgba(22,140,71,.16);
  color:#0b6a30;
  border:1px solid rgba(22,140,71,.32);
}
.bb-status__state--closed{
  background:rgba(184,52,52,.16);
  color:#8f1f1f;
  border:1px solid rgba(184,52,52,.32);
}
.bb-status__hours{
  color:rgba(43,29,20,.86);
}
.bb-status--inline{margin-bottom:10px}
.bb-status-link{
  text-decoration:none;
  display:inline-flex;
}
.bb-status-link .bb-status{
  transition: transform .15s ease, filter .15s ease;
}
.bb-status-link:hover .bb-status{
  transform: translateY(-1px);
  filter: brightness(1.02);
}
.bb-status-link--mobile{
  width:100%;
}
.bb-status-link--mobile .bb-status{
  width:100%;
  justify-content:center;
}

.bb-btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(180deg, rgba(227,176,113,1), rgba(200,121,57,1));
  color:#2b1d14;
  font-weight:800;
  text-decoration:none;
  border:1px solid rgba(43,29,20,.18);
  box-shadow: 0 12px 24px rgba(43,29,20,.2);
}
.bb-btn:hover{filter:brightness(1.04)}
.bb-btn.is-disabled,
.bb-btn[aria-disabled="true"]{
  pointer-events:none;
  opacity:.55;
  filter:grayscale(.15);
}
.wp-block-button.bb-btn{
  background:transparent;
  border:none;
  box-shadow:none;
  padding:0;
}
.wp-block-button.bb-btn .wp-block-button__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  text-align:center;
}
.bb-btn--ghost{
  background:rgba(43,29,20,.06);
  color:var(--bb-text);
  border:1px solid rgba(43,29,20,.12);
  box-shadow:none;
}
.bb-link{color:rgba(43,29,20,.9); text-decoration:none}
.bb-link:hover{text-decoration:underline}

.bb-nav__toggle{
  display:none;
  background:rgba(43,29,20,.06);
  border:1px solid rgba(43,29,20,.12);
  border-radius:999px;
  width:42px; height:42px;
  align-items:center; justify-content:center;
  cursor:pointer;
}
.bb-burger{
  width:18px; height:2px; background:rgba(43,29,20,.92); position:relative; display:block;
}
.bb-burger::before,.bb-burger::after{
  content:""; position:absolute; left:0; width:18px; height:2px; background:rgba(43,29,20,.92);
}
.bb-burger::before{top:-6px}
.bb-burger::after{top:6px}

.bb-mobile{
  position:fixed;
  top:0; right:0;
  height:100vh;
  width: min(320px, 86vw);
  border-left:1px solid rgba(43,29,20,.08);
  background:rgba(247,241,233,.98);
  box-shadow: -18px 0 40px rgba(43,29,20,.18);
  padding:18px 0 22px;
  transform: translateX(100%);
  transition: transform .35s ease;
  z-index:140;
}
.bb-mobile.is-open{transform: translateX(0)}
.bb-mobile__menu{list-style:none; margin:0; padding:6px 0; display:flex; flex-direction:column; gap:6px}
.bb-mobile__menu a{display:block; padding:12px 12px; border-radius:14px; text-decoration:none; background:rgba(43,29,20,.04)}
.bb-mobile__cta{display:flex; gap:10px; padding:10px 0}
.bb-mobile__cta .bb-btn{width:100%}
.bb-mobile__backdrop{
  position:fixed;
  inset:0;
  background:rgba(43,29,20,.06);
  opacity:0;
  pointer-events:none;
  transition: opacity .25s ease;
  z-index:110;
}
.bb-mobile__backdrop.is-open{
  opacity:1;
  pointer-events:auto;
}

.bb-main{min-height:60vh}
.bb-mobile-open-banner{
  display:none;
}
.bb-mobile-open-banner__inner{
  display:flex;
  justify-content:flex-end;
  padding-top:10px;
}
.bb-mobile-open-banner__pill{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(22,140,71,.14);
  border:1px solid rgba(22,140,71,.3);
  box-shadow:0 8px 18px rgba(43,29,20,.12);
  color:#0b6a30;
  font-weight:800;
  font-size:13px;
}
.bb-mobile-open-banner__dot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:#16a34a;
  box-shadow:0 0 0 4px rgba(22,163,74,.2);
}

.bb-hero{padding:52px 0 30px}
.bb-hero__grid{display:grid; grid-template-columns: 1.15fr .85fr; gap:36px; align-items:center}
.bb-badge{
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(43,29,20,.06);
  border:1px solid rgba(43,29,20,.12);
  padding:8px 12px; border-radius:999px;
  color:rgba(43,29,20,.9);
  font-weight:700;
  width:max-content;
}
.bb-kicker{font-size:12px; text-transform:uppercase; letter-spacing:.18em; color:rgba(43,29,20,.7); font-weight:800}
.bb-hero__title{font-size: clamp(36px, 5vw, 58px); line-height:1.02; margin:12px 0 10px; letter-spacing:-.6px; font-family:var(--bb-display)}
.bb-hero__text{color:var(--bb-muted); font-size:18px; max-width:54ch}
.bb-hero__actions{display:flex; gap:12px; margin-top:18px; flex-wrap:wrap}
.bb-hero__meta{display:flex; gap:12px; margin-top:22px; flex-wrap:wrap}
.bb-stat{
  border:1px solid rgba(43,29,20,.12);
  background:rgba(255,255,255,.7);
  border-radius:16px;
  padding:12px 14px;
  min-width: 150px;
  box-shadow: var(--bb-shadow);
}
.bb-stat__kicker{font-size:12px; color:rgba(43,29,20,.64); font-weight:800; text-transform:uppercase; letter-spacing:.12em}
.bb-stat__value{margin-top:6px; font-size:14px; font-weight:800}

.bb-hero__visual{position:relative; min-height:340px}
.bb-cup{position:relative; width:260px; height:280px; margin-left:auto; margin-right:20px; filter: drop-shadow(0 20px 40px rgba(43,29,20,.2));}
.bb-cup__top{position:absolute; top:0; left:50%; transform:translateX(-50%); width:240px; height:56px; border-radius:999px; background:rgba(255,255,255,.92); border:1px solid rgba(43,29,20,.14)}
.bb-cup__body{position:absolute; top:32px; left:50%; transform:translateX(-50%); width:220px; height:220px; border-radius: 0 0 44px 44px; background:rgba(255,255,255,.88); border:1px solid rgba(43,29,20,.14)}
.bb-cup__sleeve{position:absolute; top:112px; left:50%; transform:translateX(-50%); width:206px; height:96px; border-radius:26px; background:linear-gradient(180deg, rgba(227,176,113,.5), rgba(200,121,57,.25)); border:1px solid rgba(200,121,57,.35)}
.bb-blob{position:absolute; border-radius:999px; filter: blur(12px); opacity:.9}
.bb-blob--1{width:220px; height:220px; right:80px; top:40px; background:rgba(200,121,57,.22)}
.bb-blob--2{width:180px; height:180px; right:10px; top:160px; background:rgba(27,42,74,.18)}
.bb-hero__photo{
  position:absolute;
  left:0;
  bottom:-8px;
  width:180px;
  height:220px;
  border-radius:18px;
  object-fit:cover;
  border:1px solid rgba(43,29,20,.12);
  box-shadow: var(--bb-shadow);
}
.bb-hero__seal{
  position:absolute;
  right:0;
  bottom:10px;
  width:140px;
  max-width:40vw;
  filter: drop-shadow(0 16px 30px rgba(43,29,20,.3));
  opacity:.95;
}

.bb-section{padding:40px 0}
.bb-section--alt{
  background:linear-gradient(180deg, rgba(255,255,255,.85), rgba(255,255,255,.5));
  border-top:1px solid rgba(43,29,20,.08);
  border-bottom:1px solid rgba(43,29,20,.08);
}
.bb-section__head{display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:18px}
.bb-h1{font-size:40px; margin:0 0 10px; font-family:var(--bb-display)}
.bb-h2{font-size:28px; margin:0 0 8px; font-family:var(--bb-display)}
.bb-h3{font-size:18px; margin:0; font-family:var(--bb-display)}
.bb-lead{font-size:18px; color:var(--bb-muted); margin:0}
.bb-muted{color:var(--bb-muted)}
.bb-card{
  border:1px solid rgba(43,29,20,.12);
  background:rgba(255,255,255,.75);
  border-radius:var(--bb-radius);
  padding:18px;
  box-shadow: var(--bb-shadow);
}
.bb-grid{display:grid; gap:18px}
.bb-grid--2{grid-template-columns: repeat(2, minmax(0, 1fr));}
.bb-grid--3{grid-template-columns: repeat(3, minmax(0, 1fr));}
.bb-grid--4{grid-template-columns: repeat(4, minmax(0, 1fr));}

.bb-product, .bb-menucard, .bb-quote{
  border:1px solid rgba(43,29,20,.12);
  background:rgba(255,255,255,.8);
  border-radius:var(--bb-radius);
  overflow:hidden;
  box-shadow: var(--bb-shadow);
}
.bb-product__media{height:150px; display:flex; align-items:center; justify-content:center; background:rgba(43,29,20,.06)}
.bb-product__icon{font-size:36px; font-weight:800; letter-spacing:.12em}
.bb-product__body{padding:16px}
.bb-product__footer{display:flex; align-items:center; justify-content:space-between; margin-top:12px}

.bb-pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(43,29,20,.06);
  border:1px solid rgba(43,29,20,.12);
  color:rgba(43,29,20,.86);
  font-weight:750;
  font-size:12px;
}

.bb-split{display:grid; grid-template-columns: 1.05fr .95fr; gap:20px; align-items:start}
.bb-split--tight{grid-template-columns: 1fr 1fr}
.bb-list{display:flex; flex-direction:column; gap:12px; margin:16px 0}
.bb-list__item{border:1px solid rgba(43,29,20,.12); background:rgba(255,255,255,.7); border-radius:16px; padding:12px}
.bb-list__title{font-weight:850}

.bb-photo{
  min-height:320px;
  border-radius:24px;
  border:1px solid rgba(43,29,20,.12);
  background:
    linear-gradient(140deg, rgba(255,255,255,.9), rgba(255,255,255,.6)),
    radial-gradient(220px 220px at 20% 20%, rgba(200,121,57,.22), transparent 60%),
    radial-gradient(220px 220px at 80% 70%, rgba(27,42,74,.14), transparent 55%),
    #f2e7da;
  box-shadow: var(--bb-shadow);
  position:relative;
  overflow:hidden;
}
.bb-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.bb-photo::after{
  content:"";
  position:absolute; inset:18px;
  border:1px dashed rgba(43,29,20,.18);
  border-radius:18px;
}

.bb-feature{display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:16px; border:1px solid rgba(43,29,20,.12); background:rgba(255,255,255,.7)}
.bb-feature__icon{
  width:40px; height:40px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(200,121,57,.18); color:rgba(43,29,20,.9); font-weight:800;
}
.bb-feature__title{font-weight:800}

.bb-mapcard{
  border:1px solid rgba(43,29,20,.12);
  background:rgba(255,255,255,.8);
  border-radius:var(--bb-radius);
  overflow:hidden;
  box-shadow: var(--bb-shadow);
}
.bb-mapcard__head{display:flex; align-items:flex-start; justify-content:space-between; gap:10px; padding:14px}
.bb-mapcard__title{font-weight:900}
.bb-mapcard__map{
  height:260px;
  position:relative;
  background: rgba(43,29,20,.06);
}
.bb-mapcard__foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-top:1px solid rgba(43,29,20,.12);
  background:rgba(255,255,255,.8);
}
.bb-mapgrid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(43,29,20,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(43,29,20,.08) 1px, transparent 1px);
  background-size: 34px 34px;
  opacity:.55;
}
.bb-mapdot{
  position:absolute; left:52%; top:52%;
  width:14px; height:14px; border-radius:999px;
  background: var(--bb-accent2);
  box-shadow: 0 0 0 10px rgba(27,42,74,.16);
}

.bb-cta{
  border:1px solid rgba(200,121,57,.3);
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.6));
  border-radius: var(--bb-radius);
  padding:20px;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  box-shadow: var(--bb-shadow);
}
.bb-cta__actions{display:flex; gap:10px; flex-wrap:wrap}
.bb-cta__note{font-size:13px; color:var(--bb-muted)}

.bb-pagehead{padding:34px 0 12px}
.bb-filter{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px}
.bb-filter__btn{
  cursor:pointer;
  border-radius:999px;
  padding:10px 14px;
  border:1px solid rgba(43,29,20,.12);
  background:rgba(43,29,20,.04);
  color:rgba(43,29,20,.86);
  font-weight:800;
}
.bb-filter__btn.is-active{
  border-color: rgba(200,121,57,.45);
  background: rgba(200,121,57,.18);
  color: var(--bb-text);
}

.bb-menucard__media{height:160px; background:rgba(43,29,20,.06); display:flex; align-items:center; justify-content:center}
.bb-menucard__img{width:100%; height:100%; object-fit:cover}
.bb-menucard__placeholder{font-size:36px; font-weight:800; letter-spacing:.12em; opacity:.9}
.bb-menucard__body{padding:16px}
.bb-menucard__footer{display:flex; align-items:center; justify-content:space-between; margin-top:12px}
.bb-menucard.is-hidden{display:none !important}

.bb-menu{
  display:grid;
  grid-template-columns: 240px 1fr;
  gap:30px;
}
.bb-menu__sidebar{
  position:sticky;
  top:90px;
  align-self:start;
  border:1px solid rgba(43,29,20,.12);
  border-radius:16px;
  background:rgba(255,255,255,.7);
  padding:16px;
  box-shadow: var(--bb-shadow);
}
.bb-menu__sidebar-title{
  font-weight:800;
  margin-bottom:12px;
  font-family:var(--bb-display);
}
.bb-menu__nav{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px}
.bb-menu__nav a{
  text-decoration:none;
  display:block;
  padding:8px 10px;
  border-radius:10px;
  color:rgba(43,29,20,.86);
  background:rgba(43,29,20,.04);
}
.bb-menu__nav a:hover{background:rgba(43,29,20,.08)}
.bb-menu__section-title{
  font-weight:800;
  font-size:14px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(43,29,20,.6);
  margin:14px 0 6px;
}
.bb-menu__subnav{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px}
.bb-menu__subnav a{
  text-decoration:none;
  display:block;
  padding:8px 10px;
  border-radius:10px;
  color:rgba(43,29,20,.86);
  background:rgba(43,29,20,.04);
}
.bb-menu__subnav a:hover{background:rgba(43,29,20,.08)}
.bb-menu__content{display:flex; flex-direction:column; gap:26px}
.bb-menu__group{
  border-top:1px solid rgba(43,29,20,.1);
  padding-top:14px;
}
.bb-menu__group:first-child{border-top:0; padding-top:0}
.bb-menu__group-title{
  font-family:var(--bb-display);
  font-size:22px;
  margin:0 0 10px;
}
.bb-menu__subgroup{
  margin-top:10px;
}
.bb-menu__subgroup-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:10px;
}
.bb-menu__circle{
  width:110px;
  height:110px;
  border-radius:999px;
  overflow:hidden;
  border:3px solid rgba(27,42,74,.85);
  box-shadow: var(--bb-shadow);
  flex:0 0 auto;
  background:rgba(43,29,20,.06);
}
.bb-menu__circle img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.bb-menu__subgroup-title{
  font-family:var(--bb-display);
  font-size:18px;
  margin:0 0 8px;
  color:rgba(43,29,20,.9);
}
.bb-menu__items{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:16px;
}
.bb-menu-layout{
  display:grid;
  grid-template-columns: 240px 1fr;
  gap:30px;
}
.bb-menu-sidebar{
  position:sticky;
  top:90px;
  align-self:start;
  border:1px solid rgba(43,29,20,.12);
  border-radius:16px;
  background:rgba(255,255,255,.7);
  padding:16px;
  box-shadow: var(--bb-shadow);
}
.bb-menu-main{min-width:0}
.bb-menu-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
}
.bb-menu-card__img{
  width:120px;
  height:120px;
  border-radius:999px;
  overflow:hidden;
  border:3px solid rgba(27,42,74,.85);
  box-shadow: var(--bb-shadow);
  background:rgba(43,29,20,.06);
}
.bb-menu-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.bb-menu-card__name{font-weight:700}
.bb-menu-card__meta{font-size:12px; color:var(--bb-muted)}
.bb-menu-card__price{font-size:13px; color:rgba(43,29,20,.7)}
.bb-breadcrumb{
  color:rgba(43,29,20,.6);
  font-size:13px;
  margin-bottom:10px;
}
.bb-item{
  display:grid;
  grid-template-columns: 1fr 1.2fr;
  gap:30px;
  align-items:start;
}
.bb-item__image{
  border-radius:24px;
  overflow:hidden;
  border:1px solid rgba(43,29,20,.12);
  background:rgba(255,255,255,.8);
  box-shadow: var(--bb-shadow);
}
.bb-item__image img{width:100%; height:auto; display:block}
.bb-item__tags{display:flex; gap:8px; flex-wrap:wrap; margin:10px 0}
.bb-tag{
  display:inline-flex; align-items:center; justify-content:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(43,29,20,.06);
  border:1px solid rgba(43,29,20,.12);
  color:rgba(43,29,20,.86);
  font-weight:700;
  font-size:12px;
}
.bb-related{
  margin-top:22px;
}
.bb-related__grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:18px;
}
.bb-menu-grid{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap:22px;
}
.bb-menu-grid--categories{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.bb-menu-switch{
  display:flex;
  gap:8px;
  margin-bottom:18px;
}
.bb-menu-switch__btn{
  min-width:88px;
  justify-content:center;
}
.bb-menu-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  text-align:center;
}
.bb-menu-card__img{
  width:120px;
  height:120px;
  border-radius:999px;
  overflow:hidden;
  border:3px solid rgba(27,42,74,.85);
  box-shadow: var(--bb-shadow);
  background:rgba(43,29,20,.06);
}
.bb-menu-card__img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.bb-menu-card__name{
  font-weight:700;
}
.bb-menu-card__label{
  font-size:12px;
  color:var(--bb-muted);
  font-weight:700;
}
.bb-menu-breadcrumb{
  color:rgba(43,29,20,.6);
  font-size:13px;
  margin-bottom:10px;
}
.bb-menu-section{
  margin-top:18px;
}
.bb-menu-section__title{
  font-weight:800;
  margin:0 0 14px;
}

.bb-menu-cats{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:20px;
}
.bb-menu-tile{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  text-decoration:none;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(43,29,20,.12);
  background:rgba(255,255,255,.8);
  box-shadow: var(--bb-shadow);
}
.bb-menu-tile:hover{transform: translateY(-2px)}
.bb-menu-tile__label{font-weight:800}
.bb-form-placeholder{
  padding:14px 16px;
  border-radius:14px;
  border:1px dashed rgba(43,29,20,.25);
  background:rgba(255,255,255,.7);
}
.bb-announcement{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:24px;
  border-radius:22px;
  background:linear-gradient(135deg, rgba(27,42,74,.08), rgba(200,121,57,.08));
  border:1px solid rgba(43,29,20,.12);
  box-shadow: var(--bb-shadow);
}
.bb-menu__item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(43,29,20,.12);
  background:rgba(255,255,255,.85);
  box-shadow: var(--bb-shadow);
}
.bb-menu__thumb{
  width:64px; height:64px;
  border-radius:999px;
  background:rgba(43,29,20,.06);
  border:1px solid rgba(43,29,20,.12);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  font-weight:800;
  color:rgba(43,29,20,.75);
}
.bb-menu__thumb img{width:100%; height:100%; object-fit:cover}
.bb-menu__name{font-weight:800}
.bb-menu__desc{font-size:13px; color:var(--bb-muted); margin-top:4px}

.bb-form{display:flex; flex-direction:column; gap:12px}
.bb-field{display:flex; flex-direction:column; gap:6px}
.bb-field__label{font-weight:800}
.bb-input{
  width:100%;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(43,29,20,.18);
  background:rgba(255,255,255,.8);
  color:var(--bb-text);
  outline:none;
}
.bb-input:focus{border-color:rgba(200,121,57,.55); box-shadow: 0 0 0 6px rgba(200,121,57,.14)}
.bb-textarea{resize:vertical; min-height:120px}
.bb-hr{border:0; border-top:1px solid rgba(43,29,20,.12); margin:16px 0}

.bb-hours{display:flex; flex-direction:column; gap:10px}
.bb-hours__row{display:flex; align-items:center; justify-content:space-between; font-weight:700}
.bb-hours__row span:last-child{color:var(--bb-muted)}

.bb-quote{padding:18px}
.bb-quote__text{font-size:16px; color:var(--bb-muted)}
.bb-quote__author{margin-top:12px; font-weight:800; color:rgba(43,29,20,.82)}

.bb-footer{padding:30px 0; border-top:1px solid rgba(43,29,20,.08); background:rgba(255,255,255,.7)}
.bb-footer__inner{display:grid; grid-template-columns: 1.2fr 1fr 1.2fr; gap:18px; align-items:start}
.bb-footer__name{font-weight:950; font-size:18px}
.bb-footer__tag{color:var(--bb-muted); margin-top:6px}
.bb-footer__logo{
  margin-top:14px;
  width:72px; height:72px;
  border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(43,29,20,.04);
  border:1px solid rgba(43,29,20,.12);
  box-shadow: 0 12px 24px rgba(43,29,20,.2);
}
.bb-footer__logo img{max-height:60px; width:auto; display:block}
.bb-footer__menu{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px}
.bb-footer__menu a{text-decoration:none; color:rgba(43,29,20,.82)}
.bb-footer__menu a:hover{color:var(--bb-text)}
.bb-footer__meta{display:flex; flex-direction:column; gap:10px; align-items:flex-end}
.bb-footer__details{display:flex; flex-direction:column; gap:6px; text-align:right; color:var(--bb-muted)}
.bb-footer__detail{font-size:14px}
.bb-footer__social{display:flex; gap:12px; flex-wrap:wrap; justify-content:flex-end}
.bb-footer__copy{color:rgba(43,29,20,.6); font-size:13px}
.bb-btn--small{padding:8px 12px; font-size:13px}

.bb-reveal{animation: bb-fade-up .8s ease both; animation-delay: var(--delay, 0s)}
@keyframes bb-fade-up{
  from{opacity:0; transform:translateY(18px)}
  to{opacity:1; transform:translateY(0)}
}
@media (min-width: 981px){
  .home .bb-split.bb-split--tight{
    display:grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:20px;
  }
  .home .bb-split.bb-split--tight .bb-split__left,
  .home .bb-split.bb-split--tight .bb-split__right{
    width:auto !important;
    order:initial !important;
  }
}
@media (prefers-reduced-motion: reduce){
  .bb-reveal{animation:none}
}

@media (max-width: 980px){
  .bb-hero__grid{grid-template-columns: 1fr; }
  .bb-hero__visual{min-height:260px}
  .bb-cup{margin: 0 auto; }
  .bb-grid--4{grid-template-columns: 1fr 1fr;}
  .bb-grid--3{grid-template-columns: 1fr 1fr;}
  .bb-split{grid-template-columns: 1fr;}
  .home .bb-split.bb-split--tight{
    display:flex;
    flex-direction:column;
    gap:14px;
  }
  .home .bb-section--alt .bb-split__left{
    order:2;
  }
  .home .bb-section--alt .bb-split__right{
    order:1;
  }
  .home .bb-split.bb-split--tight .bb-split__left,
  .home .bb-split.bb-split--tight .bb-split__right{
    width:100%;
  }
  .bb-footer__inner{grid-template-columns: 1fr; }
  .bb-footer__meta{align-items:flex-start}
  .bb-footer__details{text-align:left}
  .bb-nav{justify-content:flex-end}
  .bb-nav__menu{display:none}
  .bb-nav__toggle{display:inline-flex}
  .bb-header__cta{display:none}
  .bb-hero__seal{width:110px; right:12px; bottom:0}
  .bb-hero__photo{width:140px; height:180px; left:12px; bottom:-4px}
  .bb-menu{grid-template-columns: 1fr}
  .bb-menu__sidebar{position:static}
  .bb-menu__items{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bb-menu-grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bb-menu-cats{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bb-menu-grid--categories{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bb-menu-layout{grid-template-columns: 1fr}
  .bb-menu-sidebar{position:static}
  .bb-related__grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bb-item{grid-template-columns: 1fr}
  .bb-mobile-open-banner{
    display:block;
  }
}
@media (max-width: 560px){
  .bb-grid--4{grid-template-columns: 1fr;}
  .bb-grid--3{grid-template-columns: 1fr;}
  .bb-grid--2{grid-template-columns: 1fr;}
  .bb-cta{flex-direction:column; align-items:flex-start}
  .bb-hero__seal{width:90px; right:8px; bottom:-6px}
  .bb-hero__photo{display:none}
  .bb-menu__items{grid-template-columns: 1fr}
  .bb-menu-grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bb-menu-cats{grid-template-columns: 1fr}
  .bb-menu-grid--categories{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bb-mobile__cta{flex-direction:column}
  .bb-mobile__cta .bb-status-link{
    margin-bottom:4px;
  }
  .bb-related__grid{grid-template-columns: repeat(2, minmax(0, 1fr))}
  .bb-menu-switch{justify-content:center}
  .bb-menu-switch__btn{
    min-width:72px;
    padding:7px 10px;
    font-size:12px;
  }
}
