:root{
  --bg:#f4f0e8;
  --bg-soft:#fbf8f2;
  --bg-paper:#fffdf9;
  --bg-muted:#efe9df;
  --white:#ffffff;
  --ink:#111111;
  --ink-soft:#313131;
  --muted:#666666;
  --line:rgba(17,17,17,.16);
  --line-soft:rgba(17,17,17,.08);
  --red:#d43822;
  --gold:#c79c43;
  --charcoal:#131313;
  --paper-shadow:0 14px 36px rgba(0,0,0,.08);
  --soft-shadow:0 10px 24px rgba(0,0,0,.06);
  --max:1440px;
  --headerH:128px;
  --reveal-distance:40px;
  --reveal-duration:.82s;
  --reveal-ease:cubic-bezier(.2,.75,.18,1);
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  scroll-behavior:smooth;
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

body{
  margin:0;
  min-width:320px;
  width:100%;
  max-width:100%;
  min-height:100vh;
  background:var(--bg);
  color:var(--ink);
  font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
}

main{
  display:block;
  flex:1 0 auto;
  width:100%;
  min-width:0;
}

img,
video,
iframe,
svg,
canvas{
  display:block;
  max-width:100%;
  height:auto;
}

a{
  color:inherit;
  text-decoration:none;
}

.skip{
  position:absolute;
  left:-9999px;
  top:12px;
  z-index:5000;
  background:#fff;
  color:#000;
  padding:10px 12px;
}

.skip:focus{
  left:12px;
}

.container{
  width:min(var(--max), calc(100% - 64px));
  margin:0 auto;
  max-width:100%;
  min-width:0;
}

.hero{
  position:relative;
  min-height:100svh;
  padding-top:var(--headerH);
  background:#0d0d0d;
  overflow:hidden;
}

.hero__media{
  position:absolute;
  inset:0;
}

.hero__video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:38% center;
  transform:scale(1.06);
  will-change:transform;
  pointer-events:none;
}

.hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.26) 0%, rgba(0,0,0,.12) 42%, rgba(0,0,0,.28) 100%),
    linear-gradient(180deg, rgba(0,0,0,.10) 0%, rgba(0,0,0,.26) 100%);
}

.hero__content{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:calc(100svh - var(--headerH));
  padding:72px 24px 80px;
  text-align:center;
  max-width:100%;
}

.hero__content--video{
  justify-content:flex-end;
  text-align:left;
  padding:72px clamp(24px, 5vw, 72px) 80px;
}

.hero__contentInner{
  max-width:920px;
  background:rgba(17,17,17,.24);
  border:1px solid rgba(255,255,255,.16);
  padding:30px 30px 32px;
  backdrop-filter:blur(4px);
  box-shadow:0 18px 48px rgba(0,0,0,.12);
  min-width:0;
}

.hero__content--video .hero__contentInner{
  max-width:760px;
  margin-right:clamp(0px, 2vw, 16px);
  background:rgba(10,10,10,.34);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 22px 56px rgba(0,0,0,.22);
}

.hero__eyebrow{
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:600;
  letter-spacing:.24em;
  text-transform:uppercase;
}

.hero__title{
  margin:16px 0 0;
  color:#fff;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(42px, 5vw, 74px);
  line-height:1.04;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.02em;
  overflow-wrap:break-word;
  word-break:normal;
}

.hero__text{
  margin:18px auto 0;
  max-width:760px;
  color:rgba(255,255,255,.9);
  font-size:18px;
  line-height:1.8;
  overflow-wrap:break-word;
}

.hero__content--video .hero__text{
  margin-left:0;
  margin-right:0;
  max-width:640px;
}

.hero__actions{
  display:flex;
  gap:12px;
  justify-content:center;
  flex-wrap:wrap;
  margin-top:24px;
  max-width:100%;
}

.hero__content--video .hero__actions{
  justify-content:flex-start;
}

.button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:156px;
  min-height:50px;
  padding:0 22px;
  font-size:14px;
  font-weight:700;
  text-transform:uppercase;
  transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, opacity .25s ease, box-shadow .25s ease;
  max-width:100%;
  text-align:center;
}

.button:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.button--light{
  background:#fff;
  color:#111;
  border:2px solid #fff;
}

.button--outlineLight{
  background:transparent;
  color:#fff;
  border:2px solid rgba(255,255,255,.9);
}

.button--outlineLight:hover{
  background:#fff;
  color:#111;
}

.button--gold{
  background:var(--gold);
  color:#111;
  border:2px solid #111;
}

.button--gold:hover{
  opacity:.94;
}

.button--dark{
  background:#111;
  color:#fff;
  border:2px solid #111;
}

.button--dark:hover{
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

.quick-actions{
  background:#f7f3ed;
  padding:22px 0 18px;
  border-top:1px solid rgba(17,17,17,.06);
  border-bottom:1px solid rgba(17,17,17,.06);
  overflow:hidden;
}

.quick-actions__grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  min-width:0;
}

.quick-action{
  display:flex;
  flex-direction:column;
  gap:6px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:var(--soft-shadow);
  padding:18px 18px 16px;
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
  min-width:0;
  max-width:100%;
}

.quick-action:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 32px rgba(0,0,0,.10);
  border-color:rgba(17,17,17,.12);
}

.quick-action__label{
  color:var(--red);
  font-size:12px;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.quick-action__value{
  color:#1a1a1a;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(20px, 2.2vw, 30px);
  line-height:1.05;
  font-weight:500;
  text-transform:uppercase;
  overflow-wrap:break-word;
}

.intro{
  background:var(--bg-soft);
  padding:68px 0 64px;
  border-top:1px solid rgba(17,17,17,.06);
  border-bottom:1px solid rgba(17,17,17,.06);
  overflow:hidden;
}

.intro__inner{
  max-width:960px;
  text-align:center;
}

.intro__rule{
  width:76px;
  height:1px;
  margin:0 auto 18px;
  background:rgba(17,17,17,.28);
}

.intro__title{
  margin:0;
  color:#000;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(40px, 5vw, 66px);
  line-height:1.04;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.02em;
  overflow-wrap:break-word;
}

.intro__accent{
  margin:10px 0 0;
  color:var(--red);
  font-size:clamp(20px, 2.2vw, 32px);
  line-height:1.2;
  font-weight:700;
  overflow-wrap:break-word;
}

.intro__text{
  width:min(860px, 100%);
  margin:22px auto 0;
  color:#1b1b1b;
  font-size:19px;
  line-height:1.75;
  overflow-wrap:break-word;
}

.section-title{
  margin:0;
  color:#111;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(38px, 4vw, 64px);
  line-height:1.05;
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.02em;
  overflow-wrap:break-word;
}

.section-title--light{
  color:#fff;
}

.section-text{
  margin:16px auto 0;
  color:#242424;
  font-size:18px;
  line-height:1.8;
  max-width:760px;
  overflow-wrap:break-word;
}

.section-text--compact{
  max-width:620px;
}

.section-kicker{
  color:var(--red);
  font-size:12px;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.section-kicker--light{
  color:rgba(255,255,255,.76);
}

.food-slider-section{
  background:var(--bg-muted);
  padding:64px 0 74px;
  border-top:1px solid rgba(17,17,17,.05);
  border-bottom:1px solid rgba(17,17,17,.05);
  overflow:hidden;
}

.food-slider__wrap{
  width:min(1720px, calc(100% - 32px));
  margin:0 auto;
  max-width:100%;
}

.food-slider__head{
  text-align:center;
  margin-bottom:28px;
}

.food-slider{
  display:grid;
  grid-template-columns:64px 1fr 64px;
  gap:18px;
  align-items:center;
  min-width:0;
}

.food-slider__viewport{
  overflow:hidden;
  min-width:0;
  max-width:100%;
}

.food-slider__track{
  display:flex;
  gap:22px;
  transition:transform .45s ease;
  will-change:transform;
}

.food-card{
  min-width:320px;
  max-width:320px;
  flex:0 0 320px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:var(--soft-shadow);
  overflow:hidden;
  transition:transform .28s ease, box-shadow .28s ease;
}

.food-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(0,0,0,.12);
}

.food-card img{
  width:100%;
  height:280px;
  object-fit:cover;
  transition:transform .45s ease;
}

.food-card:hover img{
  transform:scale(1.03);
}

.food-card h3{
  margin:0;
  padding:16px 16px 18px;
  font-size:18px;
  font-weight:600;
  color:#1d1d1d;
  text-align:center;
  overflow-wrap:break-word;
}

.food-slider__arrow{
  width:64px;
  height:64px;
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
  color:#111;
  font-size:36px;
  line-height:1;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:var(--soft-shadow);
  transition:transform .2s ease, background .2s ease, color .2s ease, box-shadow .2s ease;
  max-width:100%;
}

.food-slider__arrow:hover{
  transform:translateY(-2px);
  background:#111;
  color:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.14);
}

.catering-section{
  background:#fbf8f2;
  padding:74px 0;
  border-top:1px solid rgba(17,17,17,.06);
  border-bottom:1px solid rgba(17,17,17,.06);
  overflow:hidden;
}

.catering-panel{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:34px;
  align-items:stretch;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:var(--soft-shadow);
  padding:38px;
  min-width:0;
}

.catering-panel__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}

.catering-panel__copy .section-text{
  margin-left:0;
  margin-right:0;
  max-width:820px;
}

.catering-panel__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.catering-panel__buttonLight{
  background:#fff;
  color:#111;
  border:2px solid rgba(17,17,17,.32);
}

.catering-panel__buttonLight:hover{
  background:#111;
  border-color:#111;
  color:#fff;
}

.catering-panel__cards{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  min-width:0;
}

.catering-card{
  background:#faf7f1;
  border:1px solid rgba(17,17,17,.08);
  padding:22px 22px 20px;
  box-shadow:0 8px 18px rgba(0,0,0,.04);
  min-width:0;
}

.catering-card__label{
  color:var(--red);
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.catering-card p{
  margin:10px 0 0;
  color:#2f2f2f;
  font-size:17px;
  line-height:1.6;
  overflow-wrap:break-word;
}

.create-roll{
  background:#fbf8f2;
  padding:72px 0;
  border-top:1px solid rgba(17,17,17,.06);
  border-bottom:1px solid rgba(17,17,17,.06);
  overflow:hidden;
}

.create-roll__grid{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:36px;
  align-items:center;
  min-width:0;
}

.create-roll__copy{
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:var(--soft-shadow);
  padding:38px 36px 40px;
  min-width:0;
}

.create-roll__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:26px;
}

.create-roll__media{
  display:block;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:var(--soft-shadow);
  padding:14px;
  transition:transform .28s ease, box-shadow .28s ease;
  min-width:0;
}

.create-roll__media:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(0,0,0,.10);
}

.create-roll__media img{
  width:100%;
  height:auto;
  object-fit:contain;
}

.about-split{
  background:var(--bg-paper);
  padding:0;
  overflow:hidden;
}

.about-split__grid{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  align-items:stretch;
  min-width:0;
}

.about-split__media{
  background:#ddd;
  overflow:hidden;
  min-width:0;
}

.about-split__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  min-height:520px;
  transition:transform .65s ease;
}

.about-split__media:hover img{
  transform:scale(1.03);
}

.about-split__copy{
  padding:66px 70px 60px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#faf7f1;
  min-width:0;
  max-width:100%;
}

.about-split__copy h2{
  margin:0;
  color:#2d3127;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(44px, 4vw, 72px);
  line-height:1.02;
  font-weight:600;
  overflow-wrap:break-word;
}

.about-split__copy p{
  margin:20px 0 0;
  color:#3b3f35;
  font-size:18px;
  line-height:1.8;
  overflow-wrap:break-word;
}

.about-split__copy h3{
  margin:0;
  color:#2d3127;
  font-family:Oswald, Inter, sans-serif;
  font-size:32px;
  line-height:1.1;
  font-weight:600;
  overflow-wrap:break-word;
}

.about-split__divider{
  width:140px;
  height:1px;
  background:rgba(45,49,39,.34);
  margin:28px 0 20px;
}

.awards-section{
  background:var(--bg-muted);
  padding:64px 0 74px;
  border-top:1px solid rgba(17,17,17,.05);
  border-bottom:1px solid rgba(17,17,17,.05);
  overflow:hidden;
}

.awards-slider .food-slider__track{
  justify-content:flex-start;
}

.forbes-feature{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  width:min(1080px, 100%);
  margin:0 auto 28px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:var(--soft-shadow);
  padding:28px 30px;
  min-width:0;
}

.forbes-feature__copy{
  min-width:0;
}

.forbes-feature__label{
  color:var(--red);
  font-size:12px;
  font-weight:800;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.forbes-feature h3{
  margin:10px 0 0;
  color:#111;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(28px, 3vw, 44px);
  line-height:1.08;
  font-weight:500;
  text-transform:uppercase;
  overflow-wrap:break-word;
}

.forbes-feature p{
  margin:12px 0 0;
  max-width:720px;
  color:#333;
  font-size:17px;
  line-height:1.65;
  overflow-wrap:break-word;
}

.forbes-feature__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:210px;
  min-height:54px;
  padding:0 20px;
  background:#111;
  color:#fff;
  border:2px solid #111;
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-align:center;
  transition:transform .25s ease, background .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.forbes-feature__button:hover{
  transform:translateY(-2px);
  background:var(--red);
  border-color:var(--red);
  box-shadow:0 12px 24px rgba(0,0,0,.12);
}

.food-card--award img{
  height:360px;
  object-fit:cover;
  object-position:center;
}

.food-card--award h3{
  color:var(--red);
  font-family:Oswald, Inter, sans-serif;
  font-size:28px;
  font-weight:500;
  letter-spacing:.04em;
}

.menu-band{
  position:relative;
  min-height:460px;
  background:#0f0f0f;
  overflow:hidden;
}

.menu-band__media{
  position:absolute;
  inset:0;
}

.menu-band__image{
  position:absolute;
  inset:0;
  background-image:url("../assets/img/sushi-rolls/Sushi & Sashimi/sushi-deluxe.webp");
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  opacity:.22;
  transform:scale(1.05);
  transition:transform .7s ease;
}

.menu-band:hover .menu-band__image{
  transform:scale(1.08);
}

.menu-band__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.72);
}

.menu-band__content{
  position:relative;
  z-index:1;
  min-height:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:48px 24px;
  max-width:100%;
}

.menu-band__contentInner{
  max-width:760px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.12);
  padding:34px 34px 36px;
  transition:transform .3s ease, border-color .3s ease;
  min-width:0;
}

.menu-band__contentInner:hover{
  transform:translateY(-3px);
  border-color:rgba(255,255,255,.2);
}

.menu-band__title{
  margin:14px 0 0;
  color:#fff;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(42px, 5vw, 68px);
  line-height:1.06;
  font-weight:500;
  text-transform:uppercase;
  overflow-wrap:break-word;
}

.menu-band__text{
  margin:18px auto 0;
  max-width:700px;
  color:rgba(255,255,255,.88);
  font-size:18px;
  line-height:1.8;
  overflow-wrap:break-word;
}

.contact-map{
  background:#f7f3ed;
  padding:74px 0 86px;
  border-top:1px solid rgba(17,17,17,.06);
  overflow:hidden;
}

.contact-map__head{
  text-align:center;
  margin-bottom:30px;
}

.contact-map__grid{
  width:min(1700px, calc(100% - 32px));
  margin:0 auto;
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:36px;
  align-items:stretch;
  max-width:100%;
  min-width:0;
}

.contact-map__frame{
  background:#ddd;
  box-shadow:var(--soft-shadow);
  overflow:hidden;
  border:1px solid rgba(17,17,17,.08);
  transition:transform .28s ease, box-shadow .28s ease;
  min-width:0;
}

.contact-map__frame:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(0,0,0,.10);
}

.contact-map__frame iframe{
  width:100%;
  height:460px;
  border:0;
  display:block;
}

.contact-map__card{
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:var(--soft-shadow);
  padding:34px 34px 36px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transition:transform .28s ease, box-shadow .28s ease;
  min-width:0;
  max-width:100%;
}

.contact-map__card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 34px rgba(0,0,0,.10);
}

.contact-map__row{
  display:flex;
  align-items:flex-start;
  gap:18px;
  color:#2d3127;
  font-size:18px;
  font-weight:500;
  min-width:0;
}

.contact-map__icon{
  font-size:28px;
  line-height:1;
}

.contact-map__text{
  padding-top:2px;
  overflow-wrap:break-word;
}

.contact-map__hoursBlock{
  margin-top:34px;
}

.contact-map__hoursBlock h3{
  margin:0 0 18px;
  color:#222;
  font-size:18px;
  font-weight:700;
  overflow-wrap:break-word;
}

.hours-list{
  list-style:none;
  padding:0;
  margin:0;
}

.hours-list li{
  margin:0 0 12px;
  color:var(--ink-soft);
  font-size:17px;
  line-height:1.7;
  overflow-wrap:break-word;
}

.hours-list li:last-child{
  margin-bottom:0;
}

.hours-list--split li{
  display:grid;
  grid-template-columns:140px 1fr;
  gap:18px;
  margin:0 0 16px;
  min-width:0;
}

.contact-map__phone{
  display:inline-block;
  margin-top:30px;
  color:#2d3127;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(34px, 2.6vw, 48px);
  line-height:1;
  font-weight:500;
  letter-spacing:.01em;
  transition:color .25s ease, transform .25s ease;
  overflow-wrap:break-word;
}

.contact-map__phone:hover{
  color:#111;
  transform:translateY(-1px);
}

.contact-map__alt{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(17,17,17,.08);
}

.contact-map__altLabel{
  font-size:13px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:var(--red);
}

.contact-map__altLink{
  display:inline-block;
  margin-top:8px;
  font-family:Oswald, Inter, sans-serif;
  font-size:clamp(26px, 2vw, 34px);
  line-height:1;
  font-weight:500;
  color:#111;
  transition:transform .25s ease, color .25s ease;
  overflow-wrap:break-word;
}

.contact-map__altLink:hover{
  color:var(--red);
  transform:translateY(-1px);
}

.contact-map__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
  max-width:100%;
}

.contact-map__button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:220px;
  min-height:58px;
  border:1px solid rgba(45,49,39,.35);
  color:#2d3127;
  background:#faf7f1;
  font-size:16px;
  font-weight:700;
  transition:transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
  max-width:100%;
  text-align:center;
}

.contact-map__button:hover{
  transform:translateY(-2px);
  background:#111;
  color:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.12);
}

.contact-map__button--accent{
  background:var(--red);
  color:#fff;
  border-color:var(--red);
}

.contact-map__button--accent:hover{
  background:#111;
  color:#fff;
  border-color:#111;
}

.site-footer{
  margin-top:auto;
  background:#0f0f0f;
  color:#f1ede7;
  padding:28px 0 24px;
  overflow:hidden;
  flex-shrink:0;
}

.site-footer__inner{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
  min-width:0;
  max-width:100%;
}

.site-footer__name{
  font-family:Oswald, Inter, sans-serif;
  font-size:28px;
  font-weight:500;
  text-transform:uppercase;
  overflow-wrap:break-word;
}

.site-footer__tag{
  margin-top:8px;
  color:rgba(241,237,231,.68);
  font-size:15px;
  overflow-wrap:break-word;
}

.site-footer__contact{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
  max-width:100%;
}

.site-footer__contact a{
  color:rgba(241,237,231,.86);
  font-size:14px;
  transition:color .22s ease;
  overflow-wrap:break-word;
}

.site-footer__contact a:hover{
  color:#fff;
}

.site-footer__socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
  max-width:100%;
}

.site-footer__social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:rgba(241,237,231,.88);
  font-size:13px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  transition:transform .22s ease, background .22s ease, color .22s ease, border-color .22s ease;
  max-width:100%;
  text-align:center;
}

.site-footer__social:hover{
  transform:translateY(-1px);
  background:var(--red);
  border-color:var(--red);
  color:#fff;
}

.site-footer__credit{
  color:rgba(241,237,231,.76);
  font-size:14px;
  text-align:right;
  overflow-wrap:break-word;
}

.site-footer__legal{
  display:flex;
  justify-content:flex-start;
  gap:12px;
  margin-top:20px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.08);
  color:rgba(241,237,231,.52);
  font-size:13px;
  min-width:0;
  max-width:100%;
  overflow-wrap:break-word;
}

.reveal{
  opacity:0;
  transform:translate3d(0, var(--reveal-distance), 0) scale(.985);
  transition:
    opacity var(--reveal-duration) var(--reveal-ease),
    transform var(--reveal-duration) var(--reveal-ease);
  will-change:opacity, transform;
}

.reveal--left{
  transform:translate3d(calc(var(--reveal-distance) * -1), 0, 0) scale(.985);
}

.reveal--right{
  transform:translate3d(var(--reveal-distance), 0, 0) scale(.985);
}

.reveal--up{
  transform:translate3d(0, var(--reveal-distance), 0) scale(.985);
}

.reveal--hero{
  transform:translate3d(0, 28px, 0) scale(.99);
}

.reveal.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0) scale(1);
}

.reveal-card{
  opacity:0;
  transform:translate3d(0, 24px, 0) scale(.985);
  transition:
    opacity .72s cubic-bezier(.2,.75,.18,1),
    transform .72s cubic-bezier(.2,.75,.18,1);
}

.reveal-card.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0) scale(1);
}

.awards-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 320px));
  justify-content:center;
  gap:22px;
  max-width:1080px;
  margin:0 auto;
}

.awards-grid .food-card{
  min-width:0;
  max-width:320px;
  width:100%;
  flex:none;
}

.contact-map__frame{
  min-height:460px;
}

.contact-map__frame iframe{
  width:100%;
  height:100%;
  min-height:460px;
}

@media (max-width: 1280px){
  .contact-map__grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .about-split__grid{
    grid-template-columns:1fr;
  }

  .about-split__media img{
    min-height:420px;
  }

  .about-split__copy{
    padding:52px 28px;
  }

  .create-roll__grid{
    grid-template-columns:1fr;
  }

  .create-roll__copy{
    padding:34px 28px 36px;
  }

  .catering-panel{
    grid-template-columns:1fr;
  }

  .catering-panel__cards{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1180px){
  .section-text{
    font-size:17px;
  }

  .food-card{
    min-width:290px;
    max-width:290px;
    flex-basis:290px;
  }

  .hero__video{
    object-position:32% center;
  }

  .hero__content--video .hero__contentInner{
    max-width:700px;
  }
}

@media (max-width: 980px){
  :root{
    --headerH:108px;
    --reveal-distance:28px;
  }

  .hero{
    min-height:100svh;
  }

  .hero__video{
    object-position:28% center;
    transform:scale(1.08);
  }

  .hero__content{
    min-height:calc(100svh - var(--headerH));
    padding:54px 18px 64px;
  }

  .hero__content--video{
    justify-content:center;
    text-align:center;
    padding:54px 18px 64px;
  }

  .hero__content--video .hero__contentInner{
    max-width:760px;
    margin-right:0;
  }

  .hero__content--video .hero__text{
    margin-left:auto;
    margin-right:auto;
  }

  .hero__content--video .hero__actions{
    justify-content:center;
  }

  .quick-actions__grid{
    grid-template-columns:1fr;
  }

  .food-slider{
    grid-template-columns:42px 1fr 42px;
    gap:10px;
  }

  .food-slider__arrow{
    width:42px;
    height:42px;
    font-size:28px;
  }

  .contact-map__frame iframe{
    height:380px;
  }

  .site-footer__inner,
  .site-footer__legal{
    flex-direction:column;
  }

  .site-footer__credit{
    text-align:left;
  }

  .awards-grid{
    grid-template-columns:repeat(2, minmax(0, 320px));
  }

  .catering-panel{
    padding:30px 24px;
  }

  .catering-panel__cards{
    grid-template-columns:1fr;
  }

  .forbes-feature{
    flex-direction:column;
    align-items:flex-start;
    padding:26px 24px;
  }

  .forbes-feature__button{
    width:100%;
  }
}

@media (max-width: 640px){
  .container{
    width:min(var(--max), calc(100% - 28px));
  }

  .hero{
    min-height:100svh;
  }

  .hero__video{
    object-position:24% center;
    transform:scale(1.1);
  }

  .hero__content{
    min-height:calc(100svh - var(--headerH));
  }

  .hero__contentInner,
  .menu-band__contentInner{
    padding:24px 20px 26px;
  }

  .hero__title{
    font-size:clamp(36px, 11vw, 52px);
  }

  .hero__text{
    font-size:16px;
    line-height:1.7;
  }

  .quick-action__value{
    font-size:24px;
  }

  .intro{
    padding:58px 0 56px;
  }

  .food-slider{
    grid-template-columns:1fr;
  }

  .food-slider__arrow{
    display:none;
  }

  .food-slider__viewport{
    overflow-x:auto;
    padding-bottom:6px;
  }

  .food-slider__track{
    width:max-content;
  }

  .about-split__copy{
    padding:44px 22px;
  }

  .create-roll{
    padding:58px 0;
  }

  .create-roll__copy{
    padding:30px 22px 32px;
  }

  .create-roll__actions{
    flex-direction:column;
  }

  .create-roll__actions .button{
    width:100%;
  }

  .catering-section{
    padding:58px 0;
  }

  .catering-panel{
    padding:28px 20px;
  }

  .catering-panel__actions{
    flex-direction:column;
  }

  .catering-panel__actions .button{
    width:100%;
  }

  .food-card--award img{
    height:300px;
  }

  .awards-grid{
    grid-template-columns:1fr;
    max-width:320px;
  }

  .forbes-feature{
    margin-bottom:24px;
  }

  .contact-map{
    padding:62px 0 70px;
  }

  .contact-map__frame,
  .contact-map__frame iframe{
    min-height:380px;
  }

  .hours-list--split li{
    grid-template-columns:1fr;
    gap:6px;
  }

  .contact-map__actions{
    flex-direction:column;
  }

  .contact-map__button{
    width:100%;
    min-width:0;
  }

  .site-footer__socials{
    width:100%;
  }

  .site-footer__social{
    flex:1 1 calc(50% - 10px);
    min-width:0;
  }
}

@media (prefers-reduced-motion: reduce){
  html{
    scroll-behavior:auto;
  }

  *{
    transition:none !important;
    animation:none !important;
  }

  .reveal,
  .reveal-card{
    opacity:1 !important;
    transform:none !important;
  }

  .hero__video{
    transform:none !important;
  }
}