
.reservation-image{
  position:absolute;
  inset:0;
  background-position:center;
  background-size:cover;
  background-image:url('assets/ARENYS.webp');
}

.feature-card--wok,
.feature-card--sharing {
  color: var(--ink);
}

.feature-card--wok {
  color: #fff;
  background: linear-gradient(90deg, rgba(9, 10, 9, .88), rgba(9, 10, 9, .35)), url('assets/YAKISOBA.webp') center/cover;
}

.feature-card--sharing {
  color: #fff;
  background: linear-gradient(90deg, rgba(47, 18, 9, .82), rgba(47, 18, 9, .22)), url('assets/gyoza.webp') center/cover;
}

.feature-card--wok .card-overlay,
.feature-card--sharing .card-overlay {
  align-items: flex-start;
  justify-content: center;
  padding: 44px 48px;
}

.feature-card--wok .eyebrow,
.feature-card--sharing .eyebrow { color: inherit; }

.feature-card--wok h3,
.feature-card--sharing h3 { font-size: clamp(32px, 3.15vw, 53px); }

.card-detail { max-width: 295px; margin: 20px 0 0; font-size: 13px; line-height: 1.6; }

.feature-card--wok .card-overlay a,
.feature-card--sharing .card-overlay a { color: inherit; border-color: currentColor; }

.phone-link { color: var(--orange); font-weight: 700; text-decoration: none; }

.buffet-pricing {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(420px, 1.35fr);
  gap: clamp(38px, 5vw, 76px);
  padding: clamp(78px, 8vw, 118px) 9.5vw;
  color: #fff;
  background: var(--ink);
}

.buffet-pricing .eyebrow { color: #fb7950; }
.buffet-pricing h2 { font-size: clamp(42px, 4.8vw, 70px); letter-spacing: -.05em; }
.buffet-pricing h2 + p { max-width: 330px; margin: 27px 0 0; color: #d1cbc3; }
.menu-pdf-button { margin-top: 34px; color: #fff; border: 1px solid #fb7950; background: #9f452d; min-width: 150px; justify-content: space-between; }

.price-options { display: grid; grid-template-columns: repeat(2, minmax(220px, 1fr)); gap: 14px; align-content: start; }
.price-card { min-height: 310px; padding: clamp(26px, 3vw, 40px); background: #282622; border: 1px solid #4a4741; display: flex; flex-direction: column; justify-content: space-between; }
.price-card--plus { background: var(--orange); border-color: var(--orange); }
.price-card--plus .eyebrow { color: #fff; }
.price-card h3 { font-size: 32px; letter-spacing: -.04em; }
.price { margin: 34px 0 18px; font-size: 12px; color: #d1cbc3; }
.price-card--plus .price { color: #fff0ea; }
.price strong { color: #fff; font-size: 24px; font-weight: 600; }
.price span { padding: 0 6px; }
.price-card small { font-size: 11px; color: #b6afa5; }
.price-card--plus small { color: #fff0ea; }
.pricing-note { grid-column: 1 / -1; margin: 8px 0 0; padding-top: 18px; color: #aaa39a; font-size: 11px; line-height: 1.55; border-top: 1px solid #39342e; }

@media(max-width:720px) {
  .buffet-pricing { grid-template-columns: 1fr; gap: 40px; padding: 75px 7vw; }
  .price-options { grid-template-columns: 1fr; }
}

/* Dark, monospaced identity */
:root {
  --ink: #f0ebe2;
  --paper: #191714;
  --orange: #d8603a;
  --line: #48433d;
}

body,
.brand,
h1, h2, h3,
.eyebrow,
.button,
.text-link,
.tags span,
.price,
.price-card small,
.pricing-note,
.hero-side-note,
.scroll-cue {
  font-family: 'Courier Prime', 'Courier New', monospace;
}

body { color: var(--ink); }
h1, h2, h3 { font-weight: 400; letter-spacing: -.055em; }
h1 em, h2 em, h3 em { font-style: italic; }
.site-header { border-color: rgba(240, 235, 226, .18); }
nav { gap: 22px; }
.brand { min-width: 42px; }
.site-header .brand { gap: 0; }
.site-header .brand-mark { width: 42px; height: 42px; }
.nav-cta { padding: 9px 13px; font-size: 10px; }
.nav-order {
  padding: 9px 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #171512;
  background: #f36805;
  border: 1px solid #f36805;
  font-size: 10px;
}
.language-switcher { display: inline-flex; align-items: center; gap: 4px; margin-left: 2px; padding: 3px; border: 1px solid rgba(240, 235, 226, .32); }
.language-switcher button { appearance: none; border: 0; background: transparent; color: #d7d0c6; padding: 6px 7px; font: 700 10px 'Courier Prime', 'Courier New', monospace; letter-spacing: .08em; cursor: pointer; }
.language-switcher button.is-active { background: #f3ede4; color: #191714; }
.hero-copy { max-width: min(620px, 54vw); transform: translateY(-38%); }
.hero-copy h1 { max-width: 560px; font-size: clamp(62px, 7vw, 105px); line-height: .98; }
.hero-text { max-width: 470px; }
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hero-actions .button {
  min-height: 50px;
  min-width: 154px;
  justify-content: space-between;
  border: 1px solid transparent;
}
.hero-actions .button > span:first-child { font-size: 10px; }
.hero-actions .button > span:last-child {
  width: 18px;
  text-align: center;
}
.hero-actions .button-light { border-color: #fff; }
.button-order {
  color: #fff;
  background: #b6492d;
  border: 1px solid #fb7950;
}
.intro-grid { align-items: start; grid-template-columns: .92fr .78fr; gap: clamp(48px, 8vw, 110px); }
.intro h2 { max-width: 620px; font-size: clamp(45px, 4.4vw, 66px); line-height: 1.08; }
.intro-grid > div { max-width: 520px; }
.intro-photo {
  height: clamp(220px, 24vw, 330px);
  margin-top: 58px;
  margin-left: auto;
  width: min(74%, 760px);
  background: linear-gradient(90deg, rgba(25, 23, 20, .08), rgba(25, 23, 20, .52)), url('assets/sushi-wood.webp') center 52%/cover;
  border: 1px solid #39342e;
}

.intro, .visit { background: var(--paper); }
.intro-grid p, .signature-copy p:not(.eyebrow), .visit-details p { color: #c4beb5; }
.lead { color: var(--ink) !important; }
.text-link { border-color: #9b948a; }
.signature { background: #25211d; }
.tags span { border-color: #696158; color: #d5cec3; }

.feature-grid { background: #12110f; }
.feature-card--wok .eyebrow, .feature-card--sharing .eyebrow { color: #fff; }
.price-card { background: #211e1a; border-color: #4d4740; }
.price-card--plus { background: #9f452d; border-color: #9f452d; }

footer { background: #0d0c0b; color: var(--ink); border-top: 1px solid #39342e; }
footer p, footer a { color: #bdb6ad; }
.footer-legal-link { color: #f3ede4; border-bottom: 1px solid #fb7950; padding-bottom: 5px; }
.footer-cookie-settings {
  padding: 0;
  color: #bdb6ad;
  background: transparent;
  border: 0;
  font: inherit;
  font-size: 10px;
  letter-spacing: .09em;
  cursor: pointer;
}

.reservation-shade { position: absolute; background: linear-gradient(180deg, rgba(11, 12, 13, .54), rgba(11, 12, 13, .82)); }
.reservation-content {
  position: relative;
  z-index: 1;
  width: min(100%, 720px);
  margin: 0 auto;
}
.reservation {
  height: auto;
  min-height: 600px;
  display: block;
  padding: 96px 18px;
  overflow: hidden; /* 只用来裁切背景图的缩放，内容不会被裁 */
}
.reservation h2 {
  margin-bottom: 30px;
}
.delivery {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .8fr);
  gap: clamp(48px, 8vw, 120px);
  align-items: center;
  background: #f0ebe3;
  color: #171512;
}
.delivery-copy h2 {
  max-width: 720px;
  margin: 18px 0 26px;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 1.04;
}
.delivery-copy > p:last-child {
  max-width: 560px;
  color: #5f5850;
}
.delivery-actions {
  display: grid;
  gap: 12px;
}
.delivery-button {
  min-height: 92px;
  padding: 0 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  text-decoration: none;
  font: 700 18px 'Courier Prime', monospace;
  border: 1px solid transparent;
}
.delivery-button--uber { background: #111; }
.delivery-button--uber strong { color: #06c167; }
.delivery-button--justeat { background: #f36805; }

@media (hover: hover) {
  .delivery-button { transition: transform .25s ease, filter .25s ease; }
  .delivery-button:hover { transform: translateY(-3px); filter: brightness(1.07); }
}


.reviews-intro { max-width: 640px; margin: 0 auto 56px; text-align: center; }
.reviews-intro .eyebrow { display: block; }
.reviews-intro h2 { font-size: clamp(40px, 4.6vw, 64px); }
.google-reviews-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 24px; border-color: #9b948a; }
.google-badge { display: inline-flex; align-items: center; }
.reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.review-card { background: #fff; color: #181714; border: 1px solid var(--line); padding: 28px; display: flex; flex-direction: column; gap: 16px; }
.review-stars { color: #f2a900; font-size: 15px; letter-spacing: 3px; }
.review-text { margin: 0; font-size: 14px; line-height: 1.65; flex: 1; color: inherit; }
.review-author { margin: 0; font: 11px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .09em; color: #726c62; }
@media(max-width: 720px) { .reviews-grid { grid-template-columns: 1fr; } }

.buffet-pricing { background: #0e0d0c; color: #f3ede4; }
.buffet-pricing h2 + p { color: #d5cdc2; }
.pricing-note { color: #d3cbc1; }

.feature-card.large img { filter: brightness(.43) saturate(.55); }
.signature-visual img { filter: brightness(.92) saturate(.9) contrast(1.05); object-position: center; }
.feature-card.large img { object-position: 78% center; }
.brand-mark { border: 0; border-radius: 0; background: transparent; color: #fff; overflow: hidden; }
.brand-mark img { display: block; width: 100%; height: 100%; object-fit: contain; }

.legal-header { max-width: 1160px; margin: 0 auto; padding: 28px 5vw; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #39342e; }
.legal-header .brand { color: var(--ink); }
.back-link { color: #d5cdc2; text-decoration: none; font: 12px 'Courier Prime', monospace; }
.legal-content { max-width: 900px; margin: 0 auto; padding: 105px 5vw 120px; }
.legal-content h1 { font-size: clamp(55px, 8vw, 92px); margin-bottom: 20px; }
.legal-lead { color: #c8c0b6; margin: 0 0 75px; font-size: 17px; }
.legal-content section { border-top: 1px solid #39342e; padding: 34px 0; }
.legal-content h2 { font-size: clamp(24px, 3vw, 35px); margin-bottom: 22px; }
.legal-content h3 { font-size: 18px; margin: 25px 0 10px; }
.legal-content p { max-width: 760px; color: #c8c0b6; }
.legal-content a { color: #e0714d; }
.legal-content dl { display: grid; grid-template-columns: 180px 1fr; gap: 10px 25px; margin: 26px 0 0; padding: 25px 0; border-top: 1px solid #39342e; border-bottom: 1px solid #39342e; color: #c8c0b6; }
.legal-content dt { color: #e7dfd4; font-weight: 700; }
.legal-content dd { margin: 0; }
.updated { color: #9e968c !important; font-size: 12px; margin-top: 20px; }
.cookie-table-wrap { overflow-x: auto; margin: 28px 0; }
.cookie-table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
  color: #c8c0b6;
  font-size: 13px;
}
.cookie-table th,
.cookie-table td {
  padding: 14px 16px;
  border: 1px solid #4a453f;
  text-align: left;
  vertical-align: top;
}
.cookie-table th { color: #f3ede4; background: #28241f; }
.cookie-table tbody tr:nth-child(even) { background: #211e1a; }
@media(max-width:720px) { .legal-content { padding-top: 65px; } .legal-content dl { grid-template-columns: 1fr; gap: 2px; } .legal-content dd { margin-bottom: 14px; } }

/* Motion system */
@media (prefers-reduced-motion: no-preference) {
  body {
    animation: pageFadeIn .7s ease both;
  }

  .site-header {
    animation: headerDrop .7s cubic-bezier(.2, .8, .2, 1) both;
    backdrop-filter: blur(14px);
  }

  .brand-mark img {
    transition: transform .55s cubic-bezier(.2, .8, .2, 1);
  }

  .brand:hover .brand-mark img {
    transform: scale(1.08) rotate(-4deg);
  }

  nav a,
  .text-link,
  footer a {
    transition: color .25s ease, border-color .25s ease, transform .25s ease;
  }

  nav a:hover,
  .text-link:hover,
  footer a:hover {
    color: #fb7950;
  }

  .nav-cta:hover,
  .nav-order:hover,
  .button:hover {
    transform: translateY(-2px);
  }

  .button,
  .nav-cta,
  .nav-order,
  .card-overlay a {
    transition: transform .25s ease, background-color .25s ease, color .25s ease, border-color .25s ease;
  }

  .button-light:hover {
    background: #fb7950;
    color: #fff;
  }

  .menu-pdf-button:hover {
    background: #fb7950;
    border-color: #fb7950;
  }

  .hero-image {
    animation: heroBreath 18s ease-in-out infinite alternate;
    transform-origin: center;
  }

  .hero-copy .eyebrow,
  .hero-copy h1,
  .hero-text,
  .hero-copy .button,
  .hero-side-note {
    animation: riseIn .9s cubic-bezier(.2, .8, .2, 1) both;
  }

  .hero-copy h1 { animation-delay: .12s; }
  .hero-text { animation-delay: .24s; }
  .hero-copy .button { animation-delay: .36s; }
  .hero-side-note { animation-delay: .44s; }

  .scroll-cue {
    animation: cueFade 3s ease-in-out infinite;
  }

  .scroll-cue span {
    transform-origin: left center;
    animation: none;
  }

  .reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity .75s ease, transform .75s cubic-bezier(.2, .8, .2, 1);
  }

  .reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .price-card,
  .feature-card,
  .signature-visual,
  .intro-photo,
  .review-card,
  .tags span {
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease, filter .35s ease;
  }

  .price-card:hover {
    transform: translateY(-8px);
    border-color: #fb7950;
    box-shadow: 0 20px 50px rgba(0, 0, 0, .24);
  }

  .review-card:hover {
    transform: translateY(-6px);
    border-color: #fb7950;
    box-shadow: 0 16px 40px rgba(0, 0, 0, .1);
  }

  .feature-card:hover {
    z-index: 1;
    transform: translateY(-4px);
  }

  .feature-card:hover .card-overlay a {
    transform: translate(4px, -4px);
    background: #fb7950;
    border-color: #fb7950;
  }

  .feature-card--wok,
  .feature-card--sharing {
    background-size: 108%;
    transition: background-size 1.2s ease, filter .6s ease;
  }

  .feature-card--wok:hover,
  .feature-card--sharing:hover {
    background-size: 113%;
  }

  .signature-visual:hover {
    transform: translateY(-6px);
    filter: saturate(1.08);
  }

  .intro-photo:hover {
    transform: translateY(-4px);
    filter: saturate(1.08);
  }

  .signature-visual:after {
    animation: stampPulse 4.8s ease-in-out infinite;
  }

  .tags span:hover {
    transform: translateY(-3px);
    border-color: #fb7950;
    color: #fff;
  }

  .reservation-image { transform: scale(1.03); }
}

@media(max-width:720px) {
  html,
  body {
    overflow-x: hidden;
  }

  footer div { flex-wrap: wrap; }

  .site-header .brand-mark {
    width: 36px;
    height: 36px;
  }

  nav {
    position: absolute;
    top: 68px;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px 6vw 24px;
    background: rgba(13, 12, 11, .97);
    border-bottom: 1px solid rgba(240, 235, 226, .18);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-10px);
    transition: opacity .25s ease, transform .25s ease;
  }

  nav.is-open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  nav a {
    padding: 14px 0;
  }

  nav .nav-order,
  nav .nav-cta {
    margin-top: 8px;
    padding: 12px 14px;
  }

  .language-switcher {
    align-self: flex-start;
    margin-top: 12px;
  }

  .hero-copy {
    max-width: none;
  }

  .hero-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-actions .button {
    gap: 10px;
    padding: 13px 14px;
  }

  .hero-copy h1,
  .intro h2 {
    max-width: 100%;
  }

  .intro-grid {
    gap: 30px;
  }

  .intro-photo {
    width: 100%;
    height: 240px;
    margin-top: 42px;
  }

  .buffet-pricing,
  .price-options {
    min-width: 0;
  }

  .buffet-pricing {
    gap: 34px;
  }

  .price-card {
    min-width: 0;
    min-height: 0;
    overflow-wrap: anywhere;
  }

  .price {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 8px;
    align-items: baseline;
  }

  .menu-pdf-button {
    width: auto;
    justify-content: space-between;
  }

  .menu-toggle i {
    transition: transform .25s ease, opacity .25s ease;
  }

  .menu-toggle[aria-expanded="true"] i:first-child {
    transform: translateY(3.5px) rotate(45deg);
  }

  .menu-toggle[aria-expanded="true"] i:last-child {
    transform: translateY(-3.5px) rotate(-45deg);
  }
}

@media(max-width:900px) {
  .intro-grid,
  .buffet-pricing,
  .delivery {
    grid-template-columns: 1fr;
  }

  .intro-grid {
    gap: 34px;
  }

  .intro-photo {
    width: 100%;
    height: clamp(230px, 42vw, 340px);
    margin-top: 48px;
  }

  .buffet-pricing {
    gap: 36px;
  }

  .buffet-pricing h2 + p {
    max-width: 560px;
  }

  .price-card {
    min-height: 260px;
  }

  .delivery {
    gap: 34px;
  }
}

@media(max-width:720px) {
  .price-card {
    min-height: 0;
  }

  .delivery-button {
    min-height: 74px;
    padding: 0 22px;
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

@keyframes pageFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes headerDrop {
  from { opacity: 0; transform: translateY(-18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes riseIn {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes heroBreath {
  from { transform: scale(1); filter: saturate(.78) brightness(.94); }
  to { transform: scale(1.055); filter: saturate(.92) brightness(1); }
}

@keyframes reservationDrift {
  from { transform: scale(1.02) translateX(-10px); }
  to { transform: scale(1.08) translateX(10px); }
}

@keyframes cueFloat {
  0%, 100% { transform: translateY(0); opacity: .72; }
  50% { transform: translateY(8px); opacity: 1; }
}

@keyframes cueFade {
  0%, 100% { opacity: .58; }
  50% { opacity: .92; }
}

@keyframes cueLine {
  0%, 100% { transform: scaleX(.55); }
  50% { transform: scaleX(1); }
}

@keyframes stampPulse {
  0%, 100% { transform: scale(1) rotate(-2deg); opacity: .86; }
  50% { transform: scale(1.035) rotate(1deg); opacity: 1; }
}
