/* Sip Sip visual system, adapted from MotionSites' cinematic gallery direction. */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/instrument-serif-regular.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/instrument-serif-italic.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400 800;font-display:swap;src:url('/assets/fonts/manrope-latin.woff2') format('woff2')}
:root{--ink:#183b31;--ink2:#245044;--cream:#fff8e9;--paper:#fffdf6;--mint:#dce9d5;--orange:#f46b3e;--orange-deep:#b74828;--line:#d5d9cd;--text:#41594d}
html{scroll-behavior:smooth}
body{background:var(--paper);font-family:'Manrope',Arial,sans-serif;overflow-x:hidden}
h1,h2,h3{font-family:'Instrument Serif',Georgia,serif;letter-spacing:-.035em;font-weight:400}
h1{line-height:.96}h2{line-height:1.02}h3{line-height:1.08}
h1 em,h2 em{font-weight:400;color:var(--orange-deep)}
.eyebrow{font:800 .72rem/1.3 'Manrope',Arial,sans-serif;letter-spacing:.17em;color:var(--orange-deep)}
.topbar{background:#12342a;font-weight:700}
.header{height:78px;background:var(--paper)}
.brand-mark{background:var(--orange);color:#102a24;font-family:'Manrope',Arial,sans-serif;display:flex;align-items:center;justify-content:center;gap:1px;font-size:16px;letter-spacing:-.08em;flex:none}
.brand-mark span{color:#102a24}
.brand-name,.brand-name small,.nav,.header-order,.button,.footer-brand,.footer-brand span,.footer h3{font-family:'Manrope',Arial,sans-serif}
.brand-name{letter-spacing:-.08em}
.nav a{position:relative}
.nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--orange);transition:right .3s}
.nav a:hover:after,.nav a:focus-visible:after{right:0}
.header-order{background:var(--orange-deep);color:#fff;border-radius:100px;padding:13px 22px;transition:transform .2s,background .2s}
.header-order:hover{background:#9e351b;transform:translateY(-2px)}
.button{border-radius:100px;padding:15px 24px;min-height:56px;transition:transform .25s,background .25s,box-shadow .25s}
.button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #17362b24}
.button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #f5a634;outline-offset:4px}
.button--primary{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff}
.button--primary:hover{background:#9e351b}
.button--outline{border-color:var(--ink)}
.hero--motion{display:grid;grid-template-columns:48% 52%;min-height:710px;background:var(--cream)}
.hero--motion .hero-copy{padding:clamp(58px,7vw,110px) 4vw 70px max(6vw,34px);align-self:center;position:relative;z-index:2}
.hero--motion h1{font-size:clamp(3.5rem,5.2vw,6.4rem);margin:0 0 28px;max-width:100%}
.hero--motion h1 em{display:inline;font-style:italic;white-space:normal;color:var(--orange-deep)}
.hero--motion .hero-lede{max-width:550px;font-size:1.11rem;line-height:1.7;color:var(--text)}
.hero--motion .hero-actions{margin-top:33px}
.hero--motion .hero-actions .button{min-width:172px}
.eyebrow-dot{display:inline-block;width:8px;height:8px;border-radius:100%;background:var(--orange);vertical-align:2px;margin-right:5px;box-shadow:0 0 0 5px #f46b3e26}
.hero-menu-link{display:inline-flex;gap:12px;align-items:center;margin-top:46px;padding-bottom:5px;border-bottom:1px solid #718b7b;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.hero-menu-link span{font-size:1.3rem;color:var(--orange)}
.hero-visual{position:relative;min-height:710px;background:#dbdfc9;overflow:hidden;isolation:isolate}
.hero-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 40% 28%,#fff4d6,#d8e6d1 70%);z-index:-1}
.hero-photo{position:absolute;overflow:hidden;box-shadow:0 24px 55px #173c303d;background:#dfcbb0}
.hero-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.hero-photo:hover img{transform:scale(1.07)}
.hero-photo--ramen{inset:6% 15% 13% 14%;border-radius:48% 48% 10px 10px;transform:rotate(-4deg)}
.hero-photo--ramen img{object-position:center 50%}
.hero-photo--sushi{width:36%;height:40%;right:-4%;top:3%;border:8px solid var(--paper);border-radius:120px 120px 8px 8px;transform:rotate(9deg);z-index:2}
.hero-photo--sushi img{object-position:center top;transform:scale(2.2);transform-origin:center top}
.hero-photo--sushi:hover img{transform:scale(2.25)}
.hero-photo--boba{width:32%;height:38%;left:-5%;bottom:-2%;border:8px solid var(--paper);border-radius:12px 12px 140px 140px;transform:rotate(8deg);z-index:2}
.hero-seal{position:absolute;z-index:3;right:5%;bottom:8%;width:145px;height:145px;border-radius:50%;background:var(--orange);color:#102a24;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(10deg);font:800 1.05rem/1.1 'Manrope';letter-spacing:.07em;text-align:center;box-shadow:0 12px 24px #7f4a2d36}
.hero-seal i{font-style:normal;font-size:1.5rem;line-height:1.2}
.hero-seal small{font-size:.58rem;letter-spacing:.13em}
.hero-visual-label{position:absolute;z-index:3;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;color:var(--ink);font-size:.61rem;font-weight:800;letter-spacing:.17em}
.cravings-strip{background:var(--orange);color:#102a24;overflow:hidden;border-top:1px solid #d3552f;border-bottom:1px solid #d3552f}
.cravings-track{display:flex;width:max-content;animation:cravings-marquee 38s linear infinite}
.cravings-track span{display:block;white-space:nowrap;padding:15px 0;font:800 .82rem/1 'Manrope',Arial,sans-serif;letter-spacing:.16em}
.cravings-track b{padding:0 30px;color:#fff4b8;font-size:1.1rem}
@keyframes cravings-marquee{to{transform:translateX(-50%)}}
.section{padding:110px max(6vw,28px)}
.section-head--split{max-width:none;display:grid;grid-template-columns:1.15fr .65fr;text-align:left;align-items:end;gap:30px;margin-bottom:45px}
.section-head--split h2{margin-bottom:0}
.section-head--split>p:last-child{max-width:400px;margin:0 0 8px;line-height:1.65}
.section-head h2{font-size:clamp(3.2rem,5.4vw,6rem)}
.category-grid{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:280px;gap:15px}
.category-card{min-height:0;aspect-ratio:auto;grid-column:span 2;border-radius:3px}
.category-card--ramen,.category-card--sushi{grid-column:span 3;grid-row:span 2}
.category-card--ramen img{object-position:center 53%}
.category-card--sushi img{object-position:center 50%}
.category-card--sushi img{object-position:center top;transform:scale(1.45);transform-origin:center top}
.category-card--sushi:hover img,.category-card--sushi:focus-visible img{transform:scale(1.5)}
.category-card--hibachi img{object-position:center 48%}
.category-card--boba img{object-position:center 55%}
.category-card:after{inset:25% 0 0;background:linear-gradient(transparent,rgba(6,22,14,.84))}
.category-card img{transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.category-card:hover img,.category-card:focus-visible img{transform:scale(1.09)}
.category-card div{left:25px;right:25px;bottom:25px}
.category-card small{display:block;font-size:.6rem;letter-spacing:.16em;font-weight:800;margin-bottom:7px}
.category-card span{font:400 clamp(2.3rem,4vw,4.5rem)/.95 'Instrument Serif',Georgia,serif;letter-spacing:-.03em}
.category-card b{display:flex;align-items:center;justify-content:space-between;font-size:.65rem;margin-top:14px}
.category-card b i{font-style:normal;font-size:1.3rem;line-height:1}
.all-menu-link{text-align:center;margin-top:40px}
.all-menu-link a{display:inline-flex;align-items:center;gap:24px;border-bottom:2px solid var(--orange);font-weight:800;padding-bottom:7px}
.all-menu-link span{font-size:1.25rem;color:var(--orange)}
.split-feature--motion{grid-template-columns:1.1fr .9fr;background:#dce9d5;min-height:620px}
.feature-photo{position:relative;overflow:hidden}
.feature-photo img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1);object-position:center 53%}
.feature-photo:hover img{transform:scale(1.04)}
@media(min-width:761px){
  .split-feature--motion{height:620px;min-height:0}
  .split-feature--motion .feature-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1)}
  .split-feature--motion .feature-photo:hover img{transform:scale(1.04)}
}
.feature-photo-note{position:absolute;left:30px;bottom:30px;background:#fffdf5;padding:10px 16px;font-size:.64rem;letter-spacing:.15em;font-weight:800;color:var(--ink)}
.feature-text{padding:80px clamp(38px,7vw,120px)}
.feature-text h2{font-size:clamp(3.5rem,5vw,6rem)}
.feature-text p:not(.eyebrow){font-size:1.04rem;line-height:1.7}
.feature-actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:14px}
.feature-text .button{margin-top:0}
.text-link{font-weight:800;border-bottom:2px solid var(--ink);padding-bottom:5px}
.favorites-section{background:#fffaf0}
.favorites{gap:15px}
.favorites article{background:#fff;box-shadow:0 10px 25px #19392b0e;transition:transform .3s,box-shadow .3s}
.favorites article:hover{transform:translateY(-5px);box-shadow:0 20px 35px #19392b22}
.favorites img{height:340px;object-position:center 50%;transition:transform 1s}
.favorites article:hover img{transform:scale(1.04)}
.favorites article>div{padding:25px 28px 28px}
.favorites small{color:#c84f2a}
.favorites h3{font-size:2.05rem;margin:7px 0}
.favorites strong{font-family:'Manrope',Arial,sans-serif}
.favorites-section .center-actions{margin-top:45px}
.loyalty-banner{background:var(--ink);position:relative}
.loyalty-banner h2{font-size:clamp(3.5rem,5vw,6rem)}
.loyalty-banner h2 em{color:#ff9e72}
.loyalty-banner .eyebrow{color:#ffad84}
.loyalty-art{color:#396e5a}
.loyalty-art span{color:#fb8e61}
.visit-band{background:var(--orange);color:#102a24}
.visit-band .eyebrow{color:#102a24}
.visit-band .button--outline-light{color:#102a24;border-color:#102a24}
.visit-band h2{font-size:clamp(3rem,4.5vw,5rem)}
.footer{background:#12342a}
.footer h3{font-size:.75rem;letter-spacing:.16em}
.footer .button--primary{background:var(--orange-deep);border-color:var(--orange-deep);color:#fff}
.page-hero,.simple-hero{background:var(--cream)}
.page-hero h1,.simple-hero h1{font-size:clamp(3.5rem,6vw,6.5rem)}
.page-hero-image{height:100%;max-height:650px;overflow:hidden}
.page-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 50%}
.page-hero--sushi .page-hero-image img{object-position:center top;transform:scale(2.5);transform-origin:center top}
.menu-tabs{top:0}
.menu-item h3{font-size:1.45rem}
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.js .reveal.is-visible{opacity:1;transform:none}
.category-card:nth-child(2),.favorites article:nth-child(2){transition-delay:.08s}
.category-card:nth-child(3),.favorites article:nth-child(3){transition-delay:.16s}
@media(max-width:1100px){.hero--motion{grid-template-columns:50% 50%}.hero--motion h1{font-size:clamp(3.6rem,6.3vw,5.5rem)}.hero-visual{min-height:620px}.category-grid{grid-auto-rows:250px}.feature-text{padding:60px 5vw}}
@media(max-width:760px){
  .header{height:70px}.brand-name{font-size:22px}.mobile-nav:not([hidden]){top:104px}
  .hero--motion{display:flex;flex-direction:column;min-height:0}
  .hero--motion .hero-copy{padding:62px 24px 42px}
  .hero--motion h1{font-size:clamp(3.7rem,11vw,5.5rem);max-width:620px}
  .hero--motion h1 em{white-space:normal}
  .hero--motion .hero-lede{font-size:1rem}
  .hero--motion .hero-actions{gap:10px}
  .hero--motion .hero-actions .button{min-width:0;flex:1}
  .hero-menu-link{margin-top:30px}
  .hero-visual{min-height:490px}
  .hero-photo--ramen{inset:5% 16% 10% 15%}
  .hero-photo--sushi{right:-4%;width:33%;height:42%}
  .hero-photo--boba{left:-4%;width:31%;height:43%}
  .hero-seal{width:112px;height:112px;font-size:.8rem;right:4%;bottom:8%}
  .hero-seal i{font-size:1.1rem}.hero-seal small{font-size:.46rem}
  .section{padding:75px 22px}
  .section-head--split{grid-template-columns:1fr;gap:15px}
  .section-head h2{font-size:clamp(3.2rem,9vw,5rem)}
  .category-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px;gap:10px}
  .category-card,.category-card--ramen,.category-card--sushi{grid-column:span 1;grid-row:span 1}
  .category-card--ramen{grid-column:span 2;grid-row:span 2}
  .category-card div{left:16px;right:16px;bottom:16px}
  .category-card span{font-size:clamp(2.2rem,7vw,3.4rem)}
  .category-card small{font-size:.5rem}
  .category-card b{font-size:.58rem}
  .split-feature--motion{display:flex;flex-direction:column;min-height:0}
  .feature-photo{height:450px}.feature-text{padding:62px 25px}
  .feature-text h2{font-size:clamp(3.5rem,9vw,5rem)}
  .favorites img{height:340px}
  .loyalty-banner h2{font-size:clamp(3.4rem,9vw,5rem)}
  .page-hero h1,.simple-hero h1{font-size:clamp(3.2rem,9vw,5rem)}
  .page-hero-image{height:390px}
}
@media(max-width:430px){.hero--motion h1{font-size:3.55rem}.hero--motion .hero-actions .button{width:100%;flex:none}.hero-visual{min-height:420px}.category-grid{grid-auto-rows:225px}.category-card--ramen{grid-row:span 2}.category-card span{font-size:2.3rem}.favorites img{height:300px}}
@media(max-width:760px){
  .menu-toggle{min-width:48px;min-height:48px;display:grid;place-items:center}
  .mobile-nav:not([hidden]){gap:0;padding:8px 20px 18px}
  .mobile-nav a{display:flex;align-items:center;min-height:48px;border-bottom:1px solid var(--line)}
  .hero--motion .hero-copy{padding-top:36px;padding-bottom:24px}
  .hero--motion .hero-actions{margin-top:22px}
  .hero--motion .hero-menu-link{margin-top:22px}
  .menu-tabs{scrollbar-width:none}
  .menu-tabs::-webkit-scrollbar{display:none}
  .menu-tabs a{display:inline-flex;align-items:center;min-height:44px}
  .menu-section{scroll-margin-top:80px}
  .simple-hero{padding-top:54px;padding-bottom:44px}
  .simple-hero .hero-actions .button{gap:8px;padding-inline:16px}
  .mobile-cta a:last-child{color:#102a24}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.js .reveal{opacity:1;transform:none}}
