@charset "UTF-8";

/* =====================================================
  BRAND TOKENS : RESTAURANT
  white base / accent #313131
===================================================== */

:root{
  --fb-bg:#ffffff;
  --fb-surface:#ffffff;

  --fb-text:#313131;
  --fb-muted:rgba(49,49,49,.62);
  --fb-line:rgba(49,49,49,.12);

  --fb-accent:#313131;
}


/* =====================================================
  BODY
===================================================== */

body{
  background:var(--fb-bg);
  color:var(--fb-text);
}


/* =====================================================
  HEADER
===================================================== */

.fb-header{
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(49,49,49,.08);
}

.fb-header__inner{
  min-height:var(--fb-header-h);
}


/* =====================================================
  LOGO / BRAND TYPO
===================================================== */

.fb-logo,
.fb-footer__logo,
.fb-menu__brand{
  color:var(--fb-text);
  letter-spacing:.18em;
}

.fb-logo{
  font-size:14px;
}


/* =====================================================
  FLOAT MENU BUTTON
===================================================== */

.fb-menu-float{
  color:var(--fb-text);
}

.fb-menu-float__label{
  color:var(--fb-text);
}

.fb-menu-float__lines span{
  background:var(--fb-text);
}


/* =====================================================
  FULLSCREEN MENU
===================================================== */

.fb-menu__backdrop{
  background:rgba(255,255,255,.94);
}

.fb-menu__panel{
  color:var(--fb-text);
}

.fb-menu__close span{
  background:var(--fb-text);
}

.fb-menu__list a{
  color:var(--fb-text);
}


/* =====================================================
  SIDE BADGES
===================================================== */

.fb-sidebadge{
  background:#fff;
  border:0px solid rgba(49,49,49,.10);
  box-shadow:none;
}

.fb-sidebadge span{
  color:var(--fb-text);
}

.fb-sidebadge--primary{
  border-color:rgba(49,49,49,.18);
}

/* =====================================================
  SP BAR
===================================================== */

.fb-spbar{
  background:rgba(49,49,49,.96);
  border-top:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.fb-spbar__btn{
  color:#fff;
}

.fb-spbar__btn + .fb-spbar__btn{
  border-left:1px solid rgba(255,255,255,.14);
}

/* =====================================================
  FOOTER
===================================================== */

.fb-footer{
  background:#fff;
  border-top:1px solid rgba(49,49,49,.10);
}

.fb-footer__meta{
  color:var(--fb-muted);
}

.fb-footer__meta a{
  color:inherit;
}

.fb-footer__menu a{
  color:var(--fb-text);
}


/* =====================================================
  PAGE HEAD / ENTRY
===================================================== */

.fb-pagehead{
  background:#fff;
}

.fb-pagehead__title{
  color:var(--fb-text);
}

.fb-entry{
  color:var(--fb-text);
}


/* =====================================================
  HERO COMMON TEXT TUNE
===================================================== */

.fb-eyebrow{
  color:var(--fb-muted);
}

.fb-hero__lead{
  color:var(--fb-muted);
}


/* =====================================================
  POST CARD
===================================================== */

.fb-postcard{
  border-bottom:1px solid rgba(49,49,49,.10);
}

.fb-postcard__title a{
  color:var(--fb-text);
}


/* =====================================================
  RESTAURANT CTA BUTTON SUPPORT
===================================================== */

.restaurant-button{
  border-color:#313131;
  background:#313131;
  color:#fff;
}

.restaurant-button--ghost{
  background:transparent;
  color:#313131;
  border-color:#313131;
}


/* =====================================================
  LINK
===================================================== */

a{
  color:inherit;
}


/* =====================================================
  SELECTION
===================================================== */

::selection{
  background:rgba(49,49,49,.12);
  color:#111;
}

/* =====================================================
  LOADING
===================================================== */

.fb-loading{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#313131;
  opacity:1;
  visibility:visible;
  transition:
    opacity .9s cubic-bezier(.22,.61,.36,1),
    visibility .9s cubic-bezier(.22,.61,.36,1);
}

.fb-loading.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

.fb-loading__inner{
  padding:24px;
  text-align:center;
}

.fb-loading__brand{
  position:relative;
  margin:0;
  color:#fff;
  font-family:var(--fb-en);
  font-size:clamp(14px, 2vw, 22px);
  line-height:1.2;
  letter-spacing:.28em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(10px);
}

.fb-loading.is-active .fb-loading__brand{
  animation:fbLoadingBrand 1.1s cubic-bezier(.22,.61,.36,1) .08s forwards;
}

.fb-loading__brand::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-14px;
  height:1px;
  width:0;
  background:#fff;
}

.fb-loading.is-active .fb-loading__brand::after{
  animation:fbLoadingLine 1.4s cubic-bezier(.22,.61,.36,1) .32s forwards;
}

@keyframes fbLoadingBrand{
  0%{
    opacity:0;
    transform:translateY(10px);
  }
  100%{
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes fbLoadingLine{
  0%{
    width:0;
    opacity:1;
  }
  70%{
    width:100%;
    opacity:1;
  }
  100%{
    width:100%;
    opacity:.4;
  }
}

html.is-loading,
body.is-loading{
  overflow:hidden;
}


/* =====================================================
  RESPONSIVE
===================================================== */

@media (max-width: 767px){

  .fb-header{
    background:rgba(255,255,255,.92);
  }

  .fb-logo{
    font-size:13px;
    letter-spacing:.16em;
  }
}


/* =====================================================
  REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce){

  .fb-loading{
    transition:none;
  }

  .fb-loading__brand{
    opacity:1;
    transform:none;
    animation:none !important;
  }

  .fb-loading__brand::after{
    width:100%;
    opacity:1;
    animation:none !important;
  }
}




/* =====================================================
  RESPONSIVE
===================================================== */

@media (max-width: 767px){

  .fb-header{
    background:rgba(255,255,255,.92);
  }

  .fb-logo{
    font-size:13px;
    letter-spacing:.16em;
  }
}


/* =====================================================
  REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce){

  .fb-loading{
    transition:none;
  }

  .fb-loading__brand,
  .fb-loading__brand::after{
    animation:none !important;
    opacity:1;
    transform:none;
    width:100%;
  }
}