.menu-item-page { --item-accent:#f26a2e; --item-bright:#ffbd3d; --item-deep:#171126; background:#fff8eb; }
.menu-item-theme--red { --item-accent:#e74828; --item-bright:#ffb936; --item-deep:#2c0c13; }
.menu-item-theme--orange { --item-accent:#e85b22; --item-bright:#ffc14c; --item-deep:#30120d; }
.menu-item-theme--gold { --item-accent:#d48412; --item-bright:#ffd052; --item-deep:#28204c; }
.menu-item-theme--wine { --item-accent:#8b2632; --item-bright:#ffb936; --item-deep:#310d17; }
.menu-item-theme--brown { --item-accent:#8b512c; --item-bright:#eda24d; --item-deep:#24130d; }
.menu-item-theme--teal { --item-accent:#087e86; --item-bright:#ffbd3d; --item-deep:#062b3c; }
.menu-item-theme--green { --item-accent:#317a3a; --item-bright:#e8b933; --item-deep:#10361d; }
.menu-item-theme--blue { --item-accent:#166aa5; --item-bright:#ffad21; --item-deep:#082a4d; }
.menu-item-theme--pink { --item-accent:#a73667; --item-bright:#ffc04d; --item-deep:#42142d; }
.menu-item-page .site-header:not(.is-fixed) { color:#fff; border-bottom-color:rgba(255,255,255,.14); background:rgba(10,8,22,.34); backdrop-filter:blur(14px); }
.menu-item-hero { position:relative; min-height:750px; color:#fff; background:linear-gradient(125deg,var(--item-deep),color-mix(in srgb,var(--item-deep) 72%,var(--item-accent))); overflow:hidden; isolation:isolate; }
.menu-item-hero::before { content:""; position:absolute; inset:0; z-index:-2; opacity:.1; background:url('./assets-v4/texture.png') center/480px; }
.menu-item-hero::after { content:""; position:absolute; z-index:-1; width:58vw; aspect-ratio:1; left:-13vw; top:44%; border:2px dashed color-mix(in srgb,var(--item-bright) 48%,transparent); border-radius:50%; transform:translateY(-50%); }
.menu-item-hero__word { position:absolute; right:-10px; bottom:-65px; z-index:-1; color:transparent; -webkit-text-stroke:2px rgba(255,255,255,.055); font-family:var(--display); font-size:clamp(220px,29vw,470px); line-height:.74; text-transform:uppercase; }
.menu-item-hero__grid { min-height:750px; padding-top:116px; display:grid; grid-template-columns:1.03fr .97fr; align-items:center; gap:clamp(55px,7vw,110px); }
.menu-item-hero__visual { position:relative; padding:44px 0 68px; }
.menu-item-hero__frame { position:relative; width:min(100%,570px); aspect-ratio:1; padding:12px; border:1px solid rgba(255,255,255,.32); border-radius:52% 48% 42% 58% / 45% 55% 45% 55%; background:rgba(255,255,255,.1); box-shadow:0 38px 85px rgba(0,0,0,.38); transform:rotate(-2deg); overflow:hidden; }
.menu-item-hero__frame::after { content:""; position:absolute; inset:12px; border-radius:inherit; box-shadow:inset 0 0 0 1px rgba(255,255,255,.2); pointer-events:none; }
.menu-item-hero__frame img { width:100%; height:100%; border-radius:inherit; object-fit:cover; transform:rotate(2deg) scale(1.045); }
.menu-item-hero__number { position:absolute; right:-12px; bottom:42px; width:122px; aspect-ratio:1; display:grid; place-items:center; color:var(--item-deep); border:7px solid #fff; border-radius:50%; background:var(--item-bright); box-shadow:0 16px 40px rgba(0,0,0,.3); font-family:var(--display); font-size:52px; transform:rotate(7deg); }
.menu-item-hero__copy { position:relative; z-index:2; padding:54px 0 74px; }
.menu-item-hero .breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:9px; margin-bottom:29px; color:rgba(255,255,255,.56); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.menu-item-hero .breadcrumbs a:hover,.menu-item-hero .breadcrumbs strong { color:var(--item-bright); }
.menu-item-hero .eyebrow { color:var(--item-bright); }
.menu-item-hero h1 { max-width:700px; margin:8px 0 0; font-family:var(--display); font-size:clamp(72px,7.2vw,116px); font-weight:400; line-height:.84; letter-spacing:-.02em; text-transform:uppercase; text-wrap:balance; }
.menu-item-hero__price { margin-top:27px; display:flex; align-items:baseline; gap:10px; }
.menu-item-hero__price span,.menu-item-hero__price small { color:rgba(255,255,255,.5); font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.menu-item-hero__price strong { color:var(--item-bright); font-family:var(--display); font-size:55px; font-weight:400; line-height:1; }
.menu-item-hero__actions { margin-top:30px; display:flex; align-items:center; gap:29px; }
.menu-item-hero__actions .button { color:var(--item-deep); border-color:var(--item-bright); background:var(--item-bright); }
.menu-item-hero__actions .text-link { color:#fff; }
.menu-item-source-content { position:relative; background:#fff8eb; overflow:hidden; }
.menu-item-source-content::after { content:"TASTE"; position:absolute; right:-20px; bottom:-84px; color:color-mix(in srgb,var(--item-accent) 6%,transparent); font-family:var(--display); font-size:230px; line-height:1; pointer-events:none; }
.menu-item-source-content__inner { position:relative; z-index:1; max-width:960px; margin-inline:auto; }
.menu-item-source-content h2 { max-width:900px; margin:0; color:var(--item-deep); font-family:var(--display); font-size:clamp(56px,6.4vw,72px); font-weight:400; line-height:.9; text-transform:uppercase; text-wrap:balance; }
.menu-item-source-content h3 { max-width:850px; margin:20px 0 0; color:var(--item-accent); font-family:var(--display); font-size:clamp(32px,3.8vw,32px); font-weight:400; line-height:1; text-transform:uppercase; text-wrap:balance; }
.menu-item-source-content h4 { margin:20px 0 0; color:var(--item-accent); font-family:var(--display); font-size:30px; font-weight:400; text-transform:uppercase; }
.menu-item-source-content p { max-width:900px; margin:28px 0 0; color:#5f5b60; font-size:18px; line-height:1.75; }
.menu-item-source-content p:first-child { margin-top:0; color:var(--item-deep); font-size:20px; }
.menu-item-note { color:#fff; background:var(--item-accent); overflow:hidden; }
.menu-item-note .shell { min-height:62px; display:flex; align-items:center; justify-content:center; gap:clamp(18px,3vw,42px); font-family:var(--display); font-size:22px; letter-spacing:.055em; text-transform:uppercase; }
.menu-item-note i { color:var(--item-bright); font-style:normal; }
.menu-item-related { background:linear-gradient(180deg,#fff8eb,color-mix(in srgb,var(--item-accent) 10%,#fff8eb)); }
.menu-item-related__heading { margin-bottom:44px; display:flex; align-items:end; justify-content:space-between; gap:40px; }
.menu-item-related__heading .eyebrow { color:var(--item-accent); }
.menu-item-related__heading h2 { color:var(--item-deep); }
.menu-item-related__heading .text-link { color:var(--item-deep); }
.menu-item-related__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.menu-item-related__card { border:1px solid color-mix(in srgb,var(--item-accent) 20%,transparent); background:#fff; overflow:hidden; transition:transform .35s,box-shadow .35s,border-color .35s; }
.menu-item-related__card:hover { border-color:var(--item-accent); box-shadow:0 20px 42px color-mix(in srgb,var(--item-accent) 14%,transparent); transform:translateY(-7px); }
.menu-item-related__card a { display:block; height:100%; }
.menu-item-related__card img { width:100%; aspect-ratio:1.35; object-fit:cover; transition:transform .75s cubic-bezier(.2,.8,.2,1); }
.menu-item-related__card:hover img { transform:scale(1.055); }
.menu-item-related__card div { padding:23px 24px 25px; }
.menu-item-related__card div > span { color:var(--item-accent); font-family:var(--display); font-size:26px; }
.menu-item-related__card h3 { margin:10px 0 16px; color:var(--item-deep); font-family:var(--display); font-size:37px; font-weight:400; line-height:.9; text-transform:uppercase; }
.menu-item-related__card p { margin:0; color:var(--item-accent); font-size:10px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.menu-item-error { min-height:660px; padding:190px 0 100px; color:#fff; background:linear-gradient(125deg,#171126,#4c1830); }
.menu-item-error h1 { max-width:750px; margin:10px 0 20px; font-family:var(--display); font-size:clamp(70px,9vw,125px); font-weight:400; line-height:.85; text-transform:uppercase; }
.menu-item-error p:not(.eyebrow) { color:rgba(255,255,255,.7); font-size:17px; }
.menu-item-error .button { margin-top:22px; }
@media (max-width:900px) {
  .menu-item-hero__grid { padding-top:90px; grid-template-columns:1fr; gap:0; }
  .menu-item-hero__visual { width:min(650px,88%); margin:0 auto; padding-bottom:15px; }
  .menu-item-hero::after { width:105vw; left:-33vw; top:29%; }
  .menu-item-hero__copy { padding-top:40px; }
  .menu-item-hero h1 { font-size:clamp(72px,14vw,112px); }
  .menu-item-related__grid { grid-template-columns:1fr 1fr; }
  .menu-item-related__card:last-child { grid-column:1 / -1; }
}
@media (max-width:620px) {
  .menu-item-page.nav-open .nav-toggle { color:#fff; }
  .menu-item-hero__grid { padding-top:80px; }
  .menu-item-hero__visual { width:100%; padding-top:36px; }
  .menu-item-hero__number { right:0; bottom:0; width:92px; border-width:5px; font-size:39px; }
  .menu-item-hero__copy { padding:49px 0 66px; }
  .menu-item-hero h1 { font-size:clamp(60px,18vw,86px); }
  .menu-item-source-content::after { font-size:125px; }
  .menu-item-source-content p { font-size:16px; }
  .menu-item-hero__actions { align-items:flex-start; flex-direction:column; gap:20px; }
  .menu-item-note .shell { min-height:75px; justify-content:flex-start; overflow:hidden; white-space:nowrap; font-size:19px; }
  .menu-item-related__heading { align-items:flex-start; flex-direction:column; gap:22px; }
  .menu-item-related__grid { grid-template-columns:1fr; }
  .menu-item-related__card:last-child { grid-column:auto; }
}
