*,*::before,*::after{box-sizing:border-box}
html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}
body{
  margin:0;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  background:#f7f5ef;
  font-family:'Nunito Sans',sans-serif;
}
img,video,iframe,embed,object{
  max-width:100%;
  height:auto;
}
a{color:#181818}
a:hover{color:#d4af37}
  .reel{display:flex;gap:10px;justify-content:center}
  .reel span{width:7px;height:7px;border-radius:50%;background:#0a0a0a;opacity:.25}
  @keyframes kr-marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
  @keyframes kr-fade-up{0%{opacity:0;transform:translateY(22px)}100%{opacity:1;transform:translateY(0)}}
  @keyframes kr-pulse{0%,100%{box-shadow:0 0 0 0 rgba(224,169,58,.5)}50%{box-shadow:0 0 0 8px rgba(224,169,58,0)}}
  .kr-hover-lift{transition:transform .25s ease,box-shadow .25s ease}
  .kr-hover-lift:hover{transform:translateY(-6px);box-shadow:0 16px 30px rgba(0,0,0,.18)}
  .kr-fade-up{animation:kr-fade-up .7s ease both}
  .kr-marquee-track{display:inline-flex;animation:kr-marquee 22s linear infinite;white-space:nowrap}
  .kr-pulse-btn{animation:kr-pulse 2.2s ease-in-out infinite}
  .kr-zoom-img{overflow:hidden}
  .kr-zoom-img img{transition:transform .4s ease;display:block}
  .kr-zoom-img:hover img{transform:scale(1.08)}

/* —— Site header —— */
.kr-header{
  background:#0a0a0a;
  padding:14px 28px;
  display:flex;
  align-items:center;
  gap:20px;
  border-bottom:3px solid #d4af37;
  position:sticky;
  top:0;
  z-index:50;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}
.kr-nav-toggle{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.kr-burger{
  display:none;
  color:#f7f5ef;
  font-size:24px;
  cursor:pointer;
  padding:4px 6px;
  line-height:1;
  flex:none;
  user-select:none;
}
.kr-nav{
  display:flex;
  flex:1 1 auto;
  justify-content:flex-start;
  align-items:center;
  min-width:0;
}
.kr-nav .kr-menu{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0;
  align-items:center;
  justify-content:flex-start;
  width:auto;
}
.kr-nav .kr-menu > .menu-item{
  position:relative;
}
.kr-nav a{
  font-family:'Nunito Sans',sans-serif;
  font-weight:700;
  font-size:13px;
  color:#f7f5ef;
  text-decoration:none;
  display:inline-block;
}
.kr-nav a:hover,
.kr-nav .current-menu-item > a,
.kr-nav .current-menu-ancestor > a,
.kr-nav a[aria-current="page"]{color:#d4af37}
.kr-nav .menu-item-has-children > a::after{
  content:" ▾";
  font-size:9px;
  opacity:.7;
}
.kr-nav .sub-menu{
  display:none;
  position:absolute;
  top:100%;
  left:0;
  min-width:190px;
  margin:0;
  padding:6px 0;
  list-style:none;
  background:#000;
  border:1px solid rgba(212,175,55,.35);
  border-top:2px solid #d4af37;
  z-index:70;
  box-shadow:0 10px 28px rgba(0,0,0,.35);
}
.kr-nav .menu-item-has-children:hover > .sub-menu,
.kr-nav .menu-item-has-children:focus-within > .sub-menu{
  display:block;
}
.kr-nav .sub-menu .menu-item{
  position:relative;
}
.kr-nav .sub-menu a{
  display:block;
  padding:10px 16px;
  white-space:nowrap;
  font-size:12.5px;
}
.kr-nav .sub-menu .sub-menu{
  top:0;
  left:100%;
}
.kr-nav .sub-menu .menu-item-has-children > a::after{
  content:" ▸";
}
.kr-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex:none;
  margin-left:auto;
}
.kr-order-btn,
.kr-header .kr-order-btn{
  font-family:'Nunito Sans',sans-serif;
  font-weight:800;
  font-size:12px;
  background:#d4af37;
  color:#0a0a0a !important;
  padding:11px 20px;
  border-radius:18px !important;
  text-decoration:none !important;
  white-space:nowrap;
}
.kr-search{
  position:relative;
  flex:none;
  display:inline-flex;
  align-items:center;
}
.kr-search-icon{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  color:#8a8a8a;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:16px;
  height:16px;
  pointer-events:none;
  z-index:2;
  line-height:0;
}
.kr-header .kr-search-input,
.kr-search-input{
  width:190px !important;
  max-width:28vw;
  box-sizing:border-box !important;
  font-family:'Nunito Sans',sans-serif !important;
  font-size:13px !important;
  font-weight:600 !important;
  color:#0a0a0a !important;
  background:#ffffff !important;
  border:none !important;
  border-radius:18px !important;
  padding:10px 16px 10px 40px !important;
  outline:none;
  box-shadow:0 0 0 1px rgba(255,255,255,.15);
  line-height:1.2;
}
.kr-search-input::placeholder{color:#8a8a8a}
.kr-search-input:focus{
  box-shadow:0 0 0 2px #d4af37;
}
.kr-hero-logo-wrap{
  width:260px;
  height:260px;
  border-radius:50%;
  border:6px solid #f7f5ef;
  background:#0a0a0a;
  box-shadow:0 20px 50px rgba(0,0,0,.45);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.kr-hero-logo{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  border-radius:50%;
}
.kr-search-panel{
  position:absolute;
  top:calc(100% + 8px);
  right:0;
  width:min(320px,78vw);
  max-height:340px;
  overflow:auto;
  background:#000;
  border:1px solid rgba(212,175,55,.4);
  border-top:2px solid #d4af37;
  box-shadow:0 14px 30px rgba(0,0,0,.4);
  z-index:80;
}
.kr-search-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:baseline;
  padding:11px 14px;
  text-decoration:none !important;
  border-bottom:1px solid rgba(255,255,255,.06);
  color:#f7f5ef !important;
  font-family:'Nunito Sans',sans-serif;
}
.kr-search-item:hover,
.kr-search-item.is-active{background:rgba(212,175,55,.12)}
.kr-search-item-title{font-size:12.5px;font-weight:700}
.kr-search-item-type{font-size:10px;color:#d4af37;letter-spacing:.04em;text-transform:uppercase;flex:none}
.kr-search-empty{
  padding:14px;
  font-family:'Nunito Sans',sans-serif;
  font-size:12px;
  color:#d0c9b0;
}
.kr-search-view-all{
  display:block;
  padding:12px 14px;
  text-align:center;
  font-family:'Nunito Sans',sans-serif;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none !important;
  color:#0a0a0a !important;
  background:#d4af37;
  border-top:1px solid rgba(212,175,55,.35);
  position:sticky;
  bottom:0;
}
.kr-search-view-all:hover{
  background:#e0c05a;
  color:#0a0a0a !important;
}
.screen-reader-text{
  position:absolute!important;
  width:1px;height:1px;
  padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);
  white-space:nowrap;border:0;
}
.kr-social-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;height:36px;
  border-radius:50%;
  color:#d4af37 !important;
  background:rgba(212,175,55,.08);
  border:1px solid rgba(212,175,55,.35);
  text-decoration:none !important;
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.kr-social-link:hover{
  background:#d4af37;
  color:#0a0a0a !important;
  transform:translateY(-2px);
}
.kr-story-slider{
  width:100%;
}
.kr-story-slider__track{
  position:relative;
  width:100%;
  aspect-ratio:1/1.05;
  border-radius:8px;
  border:5px solid #d4af37;
  overflow:hidden;
  background:#141414;
}
.kr-story-slider__slide{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  transition:opacity .7s ease;
  z-index:1;
}
.kr-story-slider__slide.is-active{
  opacity:1;
  z-index:2;
}
.kr-story-slider__slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.kr-story-slider__dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:14px;
}
.kr-story-slider__dot{
  width:9px;
  height:9px;
  border-radius:50%;
  border:1px solid #d4af37;
  background:transparent;
  padding:0;
  cursor:pointer;
}
.kr-story-slider__dot.is-active,
.kr-story-slider__dot:hover{
  background:#d4af37;
}
@media (prefers-reduced-motion:reduce){
  .kr-story-slider__slide{transition:none}
}
.kr-kitchen-video{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#0a0a0a;
  border-radius:10px;
  overflow:hidden;
  border:3px solid #d4af37;
  box-shadow:0 16px 40px rgba(0,0,0,.18);
}
.kr-kitchen-video iframe,
.kr-kitchen-video video,
.kr-kitchen-video__frame{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
  object-fit:cover;
  pointer-events:none; /* ambient autoplay clip — no player UI interaction */
}
.kr-kitchen-video__placeholder{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px;
  background:radial-gradient(ellipse at 50% 20%,rgba(212,175,55,.18),transparent 55%),#141414;
}
.kr-cart-link{
  position:relative;
  color:#f7f5ef !important;
  font-size:18px;
  text-decoration:none !important;
  line-height:1;
  flex:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.kr-cart-link svg{display:block}
.kr-phone-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#d4af37;
  flex:none;
  line-height:0;
}
.kr-phone-icon svg{display:block}
.kr-phone-link .kr-phone-icon{color:#d4af37}
.kr-phone-inline{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.kr-phone-inline .kr-phone-icon{color:#0a0a0a}
.kr-cart-count{
  position:absolute;
  top:-8px;
  right:-10px;
  background:#181818;
  color:#fff;
  font-size:9px;
  font-weight:800;
  border-radius:50%;
  width:16px;
  height:16px;
  display:flex;
  align-items:center;
  justify-content:center;
}

@media (max-width:960px){
  .kr-header{padding:12px 14px;gap:10px;flex-wrap:wrap}
  .kr-burger{display:block;order:1}
  .kr-actions{order:2;margin-left:auto}
  .kr-header .kr-search-input,
  .kr-search-input{width:130px !important;max-width:34vw;padding:8px 12px 8px 36px !important;font-size:11px !important;border-radius:18px !important}
  .kr-search-icon{left:12px}
  .kr-header .kr-order-btn{border-radius:18px !important}
  .kr-search-panel{right:0;left:auto}
  .kr-nav{
    display:none;
    order:3;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#000;
    flex-direction:column;
    gap:0;
    padding:8px 0;
    border-bottom:3px solid #d4af37;
    z-index:60;
    justify-content:flex-start;
    align-items:stretch;
    flex-basis:100%;
  }
  .kr-nav-toggle:checked ~ .kr-nav{display:flex}
  .kr-nav .kr-menu{
    flex-direction:column;
    gap:0;
    align-items:stretch;
    width:100%;
  }
  .kr-hero-logo-wrap{width:200px;height:200px}
  .kr-nav a{
    padding:14px 16px;
    border-bottom:1px solid rgba(255,255,255,.08);
    font-size:14px;
    display:block;
  }
  .kr-nav .sub-menu{
    position:static;
    display:block;
    min-width:0;
    border:none;
    border-top:none;
    box-shadow:none;
    background:rgba(0,0,0,.18);
    padding:0;
  }
  .kr-nav .sub-menu a{
    padding-left:28px;
    font-size:13px;
  }
  .kr-nav .sub-menu .sub-menu a{
    padding-left:40px;
  }
  .kr-nav .menu-item-has-children > a::after,
  .kr-nav .sub-menu .menu-item-has-children > a::after{
    content:"";
  }
  .kr-actions{
    order:2;
    margin-left:auto;
    margin-right:0;
    gap:8px;
  }
  .kr-wordmark{
    order:1;
    flex:1 1 auto;
    min-width:0;
    max-width:none;
    font-size:14px;
    letter-spacing:-.01em;
  }
  .kr-brand{
    order:1;
    flex:0 1 auto;
  }
  .kr-header .custom-logo{
    height:36px;
    max-width:min(150px,40vw);
  }
  .kr-order-btn{padding:8px 10px;font-size:10px}
}

@media (max-width:400px){
  .kr-header{padding:10px 10px;gap:6px}
  .kr-wordmark{font-size:12px}
  .kr-header .custom-logo{height:30px;max-width:min(120px,36vw)}
  .kr-order-btn{padding:7px 8px;font-size:9px}
  .kr-actions{gap:6px}
  .kr-cart-link{font-size:16px}
}

@media (max-width:760px){
  .kr-grid4{grid-template-columns:1fr 1fr !important}
  .kr-grid3{grid-template-columns:1fr !important}
  .kr-grid2{grid-template-columns:1fr !important}
  .kr-split{flex-direction:column !important}
  .kr-split > *{width:100% !important;max-width:100% !important;min-width:0 !important}
  .kr-checkout-cols{flex-direction:column !important;padding-left:16px !important;padding-right:16px !important}
  .kr-cart-col{position:static !important;width:100% !important}
  .kr-hero-title{font-size:34px !important}

  /* Kill horizontal overflow from wide paddings / native date inputs */
  .kr-header{padding-left:12px !important;padding-right:12px !important}
  footer{padding-left:16px !important;padding-right:16px !important}
  .kr-ajax-form,
  .kr-res-card,
  .kr-order-card,
  .kr-order-section,
  input,select,textarea,button{
    max-width:100%;
  }
  .kr-grid4 > *,
  .kr-grid3 > *,
  .kr-grid2 > *{
    min-width:0 !important;
  }
  input[type="date"],
  input[type="time"],
  input[type="datetime-local"]{
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
  }
}
@media (max-width:480px){
  .kr-grid4{grid-template-columns:1fr !important}
  .kr-header .kr-order-btn{padding:7px 8px;font-size:9px}
}

/* Mobile horizontal padding + overflow containment */
.kr-site{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
@media (max-width:760px){
  .kr-site section,
  .kr-site footer,
  .kr-order-tabs{
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .kr-ajax-form{
    padding-left:18px !important;
    padding-right:18px !important;
  }
  .kr-marquee-track{
    max-width:100%;
  }
}
@keyframes kr-badge-in{0%{opacity:0;transform:translateY(-14px) scale(.85)}60%{opacity:1;transform:translateY(2px) scale(1.04)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes kr-badge-glow{0%,100%{box-shadow:0 0 0 0 rgba(212,175,55,.55)}50%{box-shadow:0 0 0 9px rgba(212,175,55,0)}}
.kr-badge-anim{animation:kr-badge-in .8s cubic-bezier(.34,1.56,.64,1) both,kr-badge-glow 2.4s ease-in-out .8s infinite}
@keyframes kr-res-glow{0%,100%{box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 0 0 rgba(212,175,55,.4)}50%{box-shadow:0 20px 50px rgba(0,0,0,.4),0 0 0 14px rgba(212,175,55,0)}}
.kr-res-card{animation:kr-res-glow 3s ease-in-out infinite}
@keyframes kr-res-tag{0%,100%{transform:rotate(-2deg) scale(1)}50%{transform:rotate(2deg) scale(1.06)}}
.kr-res-tag-anim{animation:kr-res-tag 2.2s ease-in-out infinite}
@keyframes kr-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.kr-res-title-anim{background:linear-gradient(90deg,#f7f5ef 0%,#f7f5ef 40%,#d4af37 50%,#f7f5ef 60%,#f7f5ef 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:kr-shimmer 3.5s linear infinite}
@keyframes kr-divider-grow{0%{width:0}100%{width:64px}}
@keyframes kr-divider-dot{0%,100%{transform:scale(1);opacity:.5}50%{transform:scale(1.6);opacity:1}}
.kr-divider-line{animation:kr-divider-grow 1s ease .1s both}
.kr-divider-dot{animation:kr-divider-dot 1.6s ease-in-out infinite}

@media (max-width:760px){
  .kr-split-hide-mobile{display:none !important}
}

/* Operating hours list (reservation card format) */
.kr-hours-list{margin-top:4px}
.kr-hours-list__heading{
  font-family:'Bebas Neue',sans-serif;
  font-size:17px;
  color:#d4af37;
  margin-bottom:12px;
  letter-spacing:.02em;
}
.kr-hours-list__row{
  font-family:'Nunito Sans',sans-serif;
  font-size:12.5px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:8px 0;
  border-top:1px solid rgba(242,226,184,.15);
}
.kr-hours-list__row.is-last{border-bottom:1px solid rgba(242,226,184,.15)}
.kr-hours-list__day{min-width:0}
.kr-hours-list__time{font-weight:700;color:#d4af37;white-space:nowrap;text-align:right}
.kr-hours-list--dark .kr-hours-list__day{color:#f7f5ef}
.kr-hours-list--light .kr-hours-list__heading{font-size:18px;margin-top:10px}
.kr-hours-list--light .kr-hours-list__day{color:#0a0a0a}
.kr-hours-list--light .kr-hours-list__row{
  border-top-color:rgba(10,10,10,.12);
  font-size:13px;
}
.kr-hours-list--light .kr-hours-list__row.is-last{border-bottom-color:rgba(10,10,10,.12)}

/* Footer */
.kr-footer{
  background:#050505;
  padding:50px 40px 30px;
  border-top:3px solid #d4af37;
}
.kr-footer-inner{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(220px,1.4fr) repeat(4,minmax(0,1fr));
  gap:32px 36px;
  align-items:start;
}
.kr-footer-brand{min-width:0;max-width:300px}
.kr-footer-logo{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:14px;
}
.kr-footer-logo img,
footer .custom-logo{
  width:142px;
  height:115px;
  object-fit:contain;
}
.kr-footer-tagline{
  font-family:'Nunito Sans',sans-serif;
  color:#9a9484;
  font-size:12.5px;
  line-height:1.7;
  margin:0;
}
/* Let column children sit in the parent desktop grid */
.kr-footer-cols{display:contents}
.kr-footer-col{min-width:0;max-width:100%}
.kr-footer-heading{
  font-family:'Nunito Sans',sans-serif;
  font-weight:800;
  color:#d4af37;
  font-size:12px;
  letter-spacing:.08em;
  margin-bottom:14px;
}
.kr-footer-links{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.kr-footer-links a{
  overflow-wrap:anywhere;
  word-break:break-word;
  line-height:1.35;
}
.kr-footer-col--follow .kr-social-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.kr-footer-reel{margin:34px 0 18px}
.kr-footer-copy{
  text-align:center;
  font-family:'Nunito Sans',sans-serif;
  color:#6b6558;
  font-size:11.5px;
  padding:0 8px;
  line-height:1.5;
  overflow-wrap:anywhere;
}
.custom-logo-link{display:inline-block;line-height:0}

@media (max-width:1100px){
  .kr-footer-inner{
    grid-template-columns:minmax(200px,1.2fr) repeat(4,minmax(0,1fr));
    gap:28px 24px;
  }
}

@media (max-width:900px){
  .kr-footer-inner{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:28px;
  }
  .kr-footer-brand{
    max-width:none;
    text-align:center;
  }
  .kr-footer-logo{justify-content:center}
  .kr-footer-tagline{
    max-width:34em;
    margin-left:auto;
    margin-right:auto;
  }
  .kr-footer-cols{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:28px 20px;
    width:100%;
  }
  .kr-footer-col--follow .kr-social-links{justify-content:flex-start}
}

@media (max-width:420px){
  .kr-footer{padding:36px 16px 24px}
  .kr-footer-cols{
    grid-template-columns:1fr;
    gap:22px;
    text-align:left;
  }
  .kr-footer-col--follow{text-align:left}
  .kr-footer-logo img,
  footer .custom-logo{
    width:120px;
    height:98px;
  }
  .kr-footer-reel{margin:26px 0 14px}
}

/* AJAX form status + button loader */
.kr-form-status{font-family:'Nunito Sans',sans-serif;font-size:13px;line-height:1.45;margin:0 0 12px;padding:0}
.kr-form-status[hidden]{display:none !important}
.kr-form-status--success{color:#a8842a}
.kr-form-status--error{color:#c0392b}
.kr-form-status--info{color:#5a5648}
.kr-form-status.kr-form-status--dark{color:#d4af37}
.kr-form-status.kr-form-status--dark.kr-form-status--error{color:#ff8a80}
button.kr-submit-btn,button.is-loading{position:relative}
button .kr-btn-loader{display:none;width:18px;height:18px;border:2px solid rgba(247,245,239,.35);border-top-color:#f7f5ef;border-radius:50%;animation:kr-spin .7s linear infinite;margin:0 auto}
button.kr-submit-btn--gold .kr-btn-loader{border-color:rgba(10,10,10,.25);border-top-color:#0a0a0a}
button.is-loading .kr-btn-label{visibility:hidden}
button.is-loading .kr-btn-loader{display:inline-block;position:absolute;left:50%;top:50%;margin:-9px 0 0 -9px}
button.is-loading{cursor:wait;opacity:.85;pointer-events:none}
@keyframes kr-spin{to{transform:rotate(360deg)}}
