/* Hero: 1:1 port of the Ristorante Framer template hero (inspo 1/).
   Breakpoints match Framer: desktop >= 1200px, tablet 810-1199.98px, mobile <= 809.98px. */

@font-face {
    font-family: 'Jost';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url('fonts/jost-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.nep-hero,
.nep-hero * {
    box-sizing: border-box;
}

.nep-hero {
    position: relative;
    z-index: 2;
    display: flex;
    flex-flow: column;
    place-content: center flex-start;
    align-items: center;
    width: 100%;
    min-height: 100vh;
    padding: 96px 24px 128px;
    background-color: #fff;
    -webkit-font-smoothing: antialiased;
}

.nep-hero p,
.nep-hero h1 {
    margin: 0;
    padding: 0;
    font-family: 'Jost', sans-serif;
    font-style: normal;
    letter-spacing: 0;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Background: texture, two dishes, bottom fade */
.nep-hero__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100vh;
    overflow: hidden;
}

.nep-hero__fill,
.nep-hero__fill img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.nep-hero__dish {
    position: absolute;
    z-index: 1;
    will-change: transform;
    aspect-ratio: 1;
    height: auto;
}

.nep-hero__dish--br {
    width: 696px;
    bottom: -218px;
    right: -324px;
}

.nep-hero__dish--tl {
    width: 650px;
    top: -169px;
    left: -329px;
}

.nep-hero__gradient {
    position: absolute;
    z-index: 4;
    inset: 640px 0 0;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fff 100%);
}

/* Text column */
.nep-hero__text {
    position: relative;
    z-index: 3;
    display: flex;
    flex-flow: column;
    place-content: center;
    align-items: center;
    gap: 40px;
    width: 100%;
    max-width: 800px;
    padding: 96px;
}

.nep-hero__appear {
    will-change: transform;
}

.nep-hero__eyebrow {
    position: relative;
    width: 100%;
    height: 25px;
    overflow: hidden;
}

.nep-hero__eyebrow p {
    position: absolute;
    top: 48%;
    left: 50%;
    width: 608px;
    transform: translate(-50%, -50%);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.3em;
    line-height: 1.4em;
    text-align: center;
    text-transform: uppercase;
    color: #141313;
}

.nep-hero__heading {
    display: flex;
    flex-flow: column;
    place-content: center;
    align-items: center;
    gap: 16px;
    width: 100%;
    overflow: hidden;
}

.nep-hero__heading h1 {
    width: 100%;
    font-size: 80px;
    font-weight: 500;
    line-height: 1.1em;
    text-align: center;
    text-transform: uppercase;
    color: #141313;
}

.nep-hero__heading p {
    width: 100%;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.4em;
    text-align: center;
    color: #454545;
}

/* Load-in animations (Framer springs converted to CSS linear() curves) */
@keyframes nep-hero-fade {
    from { opacity: 0.001; }
    to { opacity: 1; }
}

@keyframes nep-hero-dish-br {
    from { opacity: 0.001; transform: translate(100px, 100px); }
    to { opacity: 1; transform: none; }
}

@keyframes nep-hero-dish-tl {
    from { opacity: 0.001; transform: translate(-100px, -100px); }
    to { opacity: 1; transform: none; }
}

.nep-hero__appear,
.nep-hero__dish--br,
.nep-hero__dish--tl {
    animation-duration: 1.5s;
    animation-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
    animation-fill-mode: both;
}

.nep-hero__appear { animation-name: nep-hero-fade; }
.nep-hero__dish--br { animation-name: nep-hero-dish-br; }
.nep-hero__dish--tl { animation-name: nep-hero-dish-tl; }

@supports (animation-timing-function: linear(0, 1)) {
    /* spring: duration 1.5s, bounce 0 */
    .nep-hero__appear,
    .nep-hero__dish--br,
    .nep-hero__dish--tl {
        animation-timing-function: linear(0, 0.0229, 0.0788, 0.1532, 0.2361, 0.3208, 0.403, 0.4802, 0.5509, 0.6146, 0.6711, 0.7207, 0.7638, 0.801, 0.8329, 0.8601, 0.8832, 0.9027, 0.9191, 0.9329, 0.9445, 0.9541, 0.9621, 0.9688, 0.9743, 0.9789, 0.9827, 0.9858, 0.9884, 0.9905, 0.9922, 0.9936, 0.9948, 0.9958, 0.9965, 0.9972, 0.9977, 0.9981, 0.9985, 0.9988, 1);
    }
}

/* ===== Menu card (lives inside the hero section, as in the Framer template) ===== */

/* Invisible scroll range: the card animates while this element passes the top of the viewport (hero.js) */
.nep-menu-trigger {
    position: absolute;
    top: 0;
    left: calc(50% - 46.5px);
    z-index: 1;
    width: 93px;
    height: 100vh;
    overflow: hidden;
    pointer-events: none;
}

.nep-menu-trigger__range {
    position: absolute;
    top: 169px;
    bottom: 399px;
    left: calc(50.5376% - 34px);
    width: 68px;
}

.nep-menu {
    position: relative;
    z-index: 8;
    display: flex;
    flex-flow: column;
    place-content: center flex-start;
    align-items: center;
    flex: none;
    width: 800px;
    padding: 8px;
    background-color: #fafaf7;
    box-shadow: 0 .602187px 3.01094px #00000003, 0 2.28853px 11.4427px #00000005, 0 10px 50px #0000001a;
    transform: translateX(-320px) translateY(-460px) scale(0.7) rotate(6deg);
    will-change: transform;
}

.nep-menu__content {
    position: relative;
    display: flex;
    flex-flow: column;
    place-content: center;
    align-items: center;
    width: 100%;
    overflow: clip;
}

/* Framer-style borders: drawn on an overlay so they take no layout space */
.nep-menu__content::after,
.nep-menu__header::after,
.nep-menu__tabs::after,
.nep-menu__group::after,
.nep-dish__dots > div::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #d6d6d6;
    border-radius: inherit;
    box-sizing: border-box;
    pointer-events: none;
}

.nep-menu h2,
.nep-menu h3,
.nep-menu p {
    margin: 0;
    padding: 0;
    font-family: 'Jost', sans-serif;
    font-style: normal;
    letter-spacing: 0;
}

.nep-menu__header {
    position: relative;
    z-index: 2;
    display: flex;
    flex-flow: column;
    place-content: center;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 24px;
    overflow: clip;
}

.nep-menu__header h2 {
    font-size: 48px;
    font-weight: 500;
    line-height: 1.2em;
    text-align: left;
    text-transform: uppercase;
    color: #141313;
    white-space: pre;
}

/* Category tabs */
.nep-menu__tabs {
    position: sticky;
    top: 0;
    z-index: 8;
    display: flex;
    flex-flow: row;
    place-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 0;
    background-color: #fafaf7;
    overflow: clip;
}

.nep-menu__header::after {
    border-width: 0 0 1px;
}

.nep-menu__tabs::after {
    border-width: 0 1px 1px;
}

.nep-menu__tabs-row {
    position: relative;
    display: flex;
    flex-flow: row;
    flex: 1 0 0;
    place-content: center;
    align-items: center;
    gap: 8px;
    width: 1px;
    padding: 16px 24px;
    overflow: auto;
    -webkit-mask: linear-gradient(90deg, #0000 0%, #000 5% 95%, #0000 100%);
    mask: linear-gradient(90deg, #0000 0%, #000 5% 95%, #0000 100%);
}

.nep-menu__tab {
    position: relative;
    display: flex;
    flex-flow: row;
    flex: none;
    place-content: center;
    align-items: center;
    gap: 10px;
    width: min-content;
    padding: 2px;
    border-radius: 999px;
    overflow: clip;
    text-decoration: none;
    cursor: pointer;
}

.nep-menu__tab span {
    position: relative;
    display: block;
    flex: none;
    padding: 8px 12px;
    border-radius: 999px;
    background-color: #fafaf7;
    overflow: clip;
    font-family: 'Jost', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4em;
    text-align: center;
    color: #141313;
    white-space: pre;
    -webkit-user-select: none;
    user-select: none;
    transition: background-color 0.4s cubic-bezier(0.25, 1, 0.5, 1), transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

.nep-menu__tab:hover span {
    background-color: #edede8;
}

/* Phone-only tab carousel (hero.js) */
.nep-menu__slider {
    position: relative;
    z-index: 8;
    display: none;
    flex: 1 0 0;
    width: 1px;
    height: 72px;
}

.nep-menu__slider-viewport {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

.nep-menu__slider-track {
    display: flex;
    align-items: center;
    gap: 1px;
    width: 100%;
    height: 100%;
}

.nep-menu__tab--slide {
    flex: 0 0 100%;
    width: 100%;
    height: 100%;
}

.nep-menu__tab--slide span {
    flex: 1 0 0;
    width: 1px;
    padding: 8px 16px;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
}

.nep-menu__tab--slide:hover span {
    background-color: #fafaf7;
}

.nep-menu__tab--slide:active span {
    background-color: #edede8;
    transform: scale(0.9);
}

.nep-menu__slider-controls {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    pointer-events: none;
}

.nep-menu__slider-btn {
    display: block;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 40px;
    background-color: #141313;
    overflow: hidden;
    font-size: 12px;
    line-height: normal;
    cursor: pointer;
    pointer-events: auto;
}

.nep-menu__slider-btn img {
    display: inline;
    width: 32px;
    height: 32px;
    vertical-align: baseline;
}

/* Category list */
.nep-menu__list {
    position: relative;
    z-index: 2;
    display: flex;
    flex-flow: column;
    place-content: center;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 24px;
    border-radius: 24px;
    overflow: clip;
}

.nep-menu__group {
    position: relative;
    display: flex;
    flex-flow: column;
    place-content: center;
    align-items: center;
    gap: 48px;
    width: 100%;
    padding: 40px 24px 24px;
    border-radius: 8px;
    background-color: #fafaf7;
    overflow: clip;
    scroll-margin-top: 164px;
}

.nep-menu__group-title {
    position: relative;
    display: flex;
    flex-flow: row;
    place-content: center;
    align-items: center;
    gap: 16px;
    width: 100%;
    overflow: clip;
}

.nep-menu__group-title h3 {
    flex: none;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.4em;
    text-align: center;
    text-transform: uppercase;
    color: #141313;
    white-space: pre;
}

.nep-menu__orn {
    position: relative;
    flex: none;
    width: 82px;
    height: auto;
    aspect-ratio: 3.41667;
    background-color: #d6d6d6;
}

.nep-menu__orn--left {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 82 24'%3E%3Cpath transform='translate(1 1)' d='M 65.335 0 C 66.144 0.001 66.868 0.31 67.398 0.77 C 67.926 1.231 68.283 1.854 68.287 2.538 C 68.291 3.022 68.082 3.522 67.672 3.893 C 67.468 4.079 67.152 4.066 66.966 3.862 C 66.779 3.659 66.793 3.342 66.996 3.156 C 67.215 2.949 67.283 2.759 67.287 2.538 C 67.291 2.231 67.102 1.835 66.742 1.525 C 66.386 1.214 65.884 1 65.335 1 C 64.96 1.001 64.559 1.097 64.141 1.34 C 63.728 1.583 63.486 1.884 63.327 2.236 C 63.169 2.587 63.106 2.993 63.107 3.399 C 63.105 4.258 63.392 5.089 63.459 5.26 L 63.472 5.293 C 63.486 5.327 63.495 5.362 63.501 5.397 C 64.185 7.33 66.05 9.011 68.28 10.185 C 68.335 10.214 68.39 10.241 68.445 10.27 C 70.886 8.995 73.566 8.32 75.629 8.317 C 76.323 8.317 76.95 8.393 77.489 8.565 C 78.024 8.738 78.487 9.011 78.787 9.442 C 78.985 9.728 79.093 10.079 79.092 10.446 C 79.092 10.568 79.081 10.691 79.059 10.816 C 78.928 11.615 78.38 12.219 77.673 12.557 C 76.962 12.902 76.081 13.044 75.095 13.046 C 73.116 13.043 70.694 12.454 68.468 11.396 C 66.469 12.523 64.747 14.081 63.899 15.965 C 63.897 16.022 63.888 16.081 63.865 16.137 L 63.853 16.168 L 63.813 16.28 C 63.778 16.379 63.731 16.524 63.685 16.702 C 63.591 17.056 63.499 17.54 63.5 18.03 C 63.499 18.436 63.562 18.842 63.72 19.193 C 63.879 19.544 64.121 19.847 64.533 20.089 C 64.951 20.332 65.352 20.428 65.727 20.429 C 66.275 20.429 66.778 20.214 67.135 19.903 C 67.494 19.593 67.684 19.198 67.68 18.891 C 67.676 18.671 67.608 18.479 67.389 18.273 C 67.185 18.086 67.171 17.77 67.358 17.566 C 67.545 17.364 67.862 17.349 68.065 17.535 C 68.475 17.906 68.684 18.407 68.68 18.891 C 68.676 19.575 68.318 20.197 67.791 20.658 C 67.261 21.118 66.536 21.428 65.727 21.429 C 65.177 21.429 64.593 21.281 64.029 20.952 C 63.436 20.608 63.037 20.121 62.807 19.602 C 62.575 19.081 62.5 18.535 62.5 18.03 C 62.502 17.346 62.637 16.725 62.757 16.306 C 62.745 16.225 62.751 16.141 62.781 16.06 C 63.496 14.134 64.938 12.567 66.659 11.356 L 0.5 11.356 C 0.224 11.356 0 11.132 0 10.856 C 0 10.58 0.224 10.356 0.5 10.356 L 66.598 10.356 C 64.734 9.152 63.19 7.574 62.527 5.644 C 62.52 5.622 62.516 5.6 62.512 5.579 C 62.408 5.298 62.11 4.42 62.107 3.399 C 62.107 2.894 62.182 2.348 62.414 1.828 C 62.644 1.308 63.043 0.82 63.637 0.476 C 64.2 0.147 64.785 0 65.335 0 Z M 75.629 9.317 C 73.966 9.315 71.713 9.831 69.606 10.812 C 71.506 11.61 73.511 12.048 75.095 12.046 C 75.98 12.047 76.729 11.907 77.233 11.658 C 77.74 11.4 77.991 11.096 78.074 10.648 L 78.092 10.446 C 78.09 10.262 78.046 10.133 77.963 10.01 C 77.879 9.888 77.743 9.768 77.538 9.662 C 77.129 9.448 76.454 9.315 75.629 9.317 Z'/%3E%3C/svg%3E") alpha no-repeat center / auto;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 82 24'%3E%3Cpath transform='translate(1 1)' d='M 65.335 0 C 66.144 0.001 66.868 0.31 67.398 0.77 C 67.926 1.231 68.283 1.854 68.287 2.538 C 68.291 3.022 68.082 3.522 67.672 3.893 C 67.468 4.079 67.152 4.066 66.966 3.862 C 66.779 3.659 66.793 3.342 66.996 3.156 C 67.215 2.949 67.283 2.759 67.287 2.538 C 67.291 2.231 67.102 1.835 66.742 1.525 C 66.386 1.214 65.884 1 65.335 1 C 64.96 1.001 64.559 1.097 64.141 1.34 C 63.728 1.583 63.486 1.884 63.327 2.236 C 63.169 2.587 63.106 2.993 63.107 3.399 C 63.105 4.258 63.392 5.089 63.459 5.26 L 63.472 5.293 C 63.486 5.327 63.495 5.362 63.501 5.397 C 64.185 7.33 66.05 9.011 68.28 10.185 C 68.335 10.214 68.39 10.241 68.445 10.27 C 70.886 8.995 73.566 8.32 75.629 8.317 C 76.323 8.317 76.95 8.393 77.489 8.565 C 78.024 8.738 78.487 9.011 78.787 9.442 C 78.985 9.728 79.093 10.079 79.092 10.446 C 79.092 10.568 79.081 10.691 79.059 10.816 C 78.928 11.615 78.38 12.219 77.673 12.557 C 76.962 12.902 76.081 13.044 75.095 13.046 C 73.116 13.043 70.694 12.454 68.468 11.396 C 66.469 12.523 64.747 14.081 63.899 15.965 C 63.897 16.022 63.888 16.081 63.865 16.137 L 63.853 16.168 L 63.813 16.28 C 63.778 16.379 63.731 16.524 63.685 16.702 C 63.591 17.056 63.499 17.54 63.5 18.03 C 63.499 18.436 63.562 18.842 63.72 19.193 C 63.879 19.544 64.121 19.847 64.533 20.089 C 64.951 20.332 65.352 20.428 65.727 20.429 C 66.275 20.429 66.778 20.214 67.135 19.903 C 67.494 19.593 67.684 19.198 67.68 18.891 C 67.676 18.671 67.608 18.479 67.389 18.273 C 67.185 18.086 67.171 17.77 67.358 17.566 C 67.545 17.364 67.862 17.349 68.065 17.535 C 68.475 17.906 68.684 18.407 68.68 18.891 C 68.676 19.575 68.318 20.197 67.791 20.658 C 67.261 21.118 66.536 21.428 65.727 21.429 C 65.177 21.429 64.593 21.281 64.029 20.952 C 63.436 20.608 63.037 20.121 62.807 19.602 C 62.575 19.081 62.5 18.535 62.5 18.03 C 62.502 17.346 62.637 16.725 62.757 16.306 C 62.745 16.225 62.751 16.141 62.781 16.06 C 63.496 14.134 64.938 12.567 66.659 11.356 L 0.5 11.356 C 0.224 11.356 0 11.132 0 10.856 C 0 10.58 0.224 10.356 0.5 10.356 L 66.598 10.356 C 64.734 9.152 63.19 7.574 62.527 5.644 C 62.52 5.622 62.516 5.6 62.512 5.579 C 62.408 5.298 62.11 4.42 62.107 3.399 C 62.107 2.894 62.182 2.348 62.414 1.828 C 62.644 1.308 63.043 0.82 63.637 0.476 C 64.2 0.147 64.785 0 65.335 0 Z M 75.629 9.317 C 73.966 9.315 71.713 9.831 69.606 10.812 C 71.506 11.61 73.511 12.048 75.095 12.046 C 75.98 12.047 76.729 11.907 77.233 11.658 C 77.74 11.4 77.991 11.096 78.074 10.648 L 78.092 10.446 C 78.09 10.262 78.046 10.133 77.963 10.01 C 77.879 9.888 77.743 9.768 77.538 9.662 C 77.129 9.448 76.454 9.315 75.629 9.317 Z'/%3E%3C/svg%3E") alpha no-repeat center / auto;
}

.nep-menu__orn--right {
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 82 24'%3E%3Cpath transform='translate(1 1)' d='M 15.455 0.476 C 16.049 0.82 16.448 1.308 16.678 1.828 C 16.91 2.348 16.984 2.894 16.984 3.399 C 16.982 4.42 16.684 5.298 16.58 5.579 C 16.576 5.6 16.572 5.622 16.565 5.644 C 15.902 7.574 14.358 9.152 12.494 10.356 L 78.592 10.356 C 78.868 10.356 79.092 10.58 79.092 10.856 C 79.092 11.132 78.868 11.356 78.592 11.356 L 12.433 11.356 C 14.154 12.567 15.596 14.134 16.311 16.06 C 16.341 16.141 16.347 16.225 16.335 16.306 C 16.455 16.725 16.59 17.346 16.592 18.03 C 16.592 18.535 16.517 19.081 16.285 19.602 C 16.055 20.121 15.656 20.608 15.063 20.952 C 14.499 21.281 13.915 21.429 13.365 21.429 C 12.556 21.428 11.831 21.118 11.301 20.658 C 10.774 20.197 10.416 19.575 10.412 18.891 C 10.408 18.407 10.616 17.906 11.026 17.535 C 11.23 17.349 11.546 17.364 11.733 17.566 C 11.92 17.77 11.907 18.086 11.703 18.273 C 11.484 18.479 11.416 18.671 11.412 18.891 C 11.408 19.198 11.598 19.593 11.957 19.903 C 12.314 20.214 12.816 20.429 13.365 20.429 C 13.74 20.428 14.141 20.332 14.559 20.089 C 14.971 19.847 15.213 19.544 15.372 19.193 C 15.53 18.842 15.593 18.436 15.592 18.03 C 15.593 17.54 15.501 17.056 15.407 16.702 C 15.361 16.524 15.313 16.379 15.279 16.28 L 15.239 16.168 L 15.227 16.137 C 15.204 16.081 15.195 16.022 15.192 15.965 C 14.345 14.081 12.622 12.523 10.624 11.396 C 8.398 12.454 5.976 13.043 3.997 13.046 C 3.011 13.044 2.13 12.902 1.419 12.557 C 0.712 12.219 0.163 11.615 0.033 10.816 C 0.011 10.691 0 10.568 0 10.446 C -0.001 10.079 0.107 9.728 0.305 9.442 C 0.605 9.011 1.068 8.738 1.603 8.565 C 2.142 8.393 2.769 8.317 3.463 8.317 C 5.526 8.32 8.206 8.995 10.647 10.27 C 10.701 10.241 10.757 10.214 10.812 10.185 C 13.042 9.011 14.907 7.33 15.591 5.397 C 15.597 5.362 15.606 5.327 15.62 5.293 L 15.633 5.26 C 15.7 5.089 15.987 4.258 15.984 3.399 C 15.985 2.993 15.923 2.587 15.765 2.236 C 15.606 1.884 15.364 1.583 14.951 1.34 C 14.533 1.097 14.132 1.001 13.757 1 C 13.208 1 12.706 1.214 12.35 1.525 C 11.99 1.835 11.801 2.231 11.805 2.538 C 11.809 2.759 11.877 2.949 12.096 3.156 C 12.299 3.342 12.313 3.659 12.126 3.862 C 11.94 4.066 11.624 4.079 11.42 3.893 C 11.01 3.522 10.801 3.022 10.805 2.538 C 10.809 1.854 11.165 1.231 11.693 0.77 C 12.223 0.31 12.948 0.001 13.757 0 C 14.307 0 14.892 0.147 15.455 0.476 Z M 1.554 9.662 C 1.349 9.768 1.213 9.888 1.129 10.01 C 1.046 10.133 1.002 10.262 1 10.446 L 1.018 10.648 C 1.101 11.096 1.352 11.4 1.858 11.658 C 2.362 11.907 3.112 12.047 3.997 12.046 C 5.581 12.048 7.586 11.61 9.485 10.812 C 7.379 9.831 5.126 9.315 3.463 9.317 C 2.638 9.315 1.963 9.448 1.554 9.662 Z'/%3E%3C/svg%3E") alpha no-repeat center / auto;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 82 24'%3E%3Cpath transform='translate(1 1)' d='M 15.455 0.476 C 16.049 0.82 16.448 1.308 16.678 1.828 C 16.91 2.348 16.984 2.894 16.984 3.399 C 16.982 4.42 16.684 5.298 16.58 5.579 C 16.576 5.6 16.572 5.622 16.565 5.644 C 15.902 7.574 14.358 9.152 12.494 10.356 L 78.592 10.356 C 78.868 10.356 79.092 10.58 79.092 10.856 C 79.092 11.132 78.868 11.356 78.592 11.356 L 12.433 11.356 C 14.154 12.567 15.596 14.134 16.311 16.06 C 16.341 16.141 16.347 16.225 16.335 16.306 C 16.455 16.725 16.59 17.346 16.592 18.03 C 16.592 18.535 16.517 19.081 16.285 19.602 C 16.055 20.121 15.656 20.608 15.063 20.952 C 14.499 21.281 13.915 21.429 13.365 21.429 C 12.556 21.428 11.831 21.118 11.301 20.658 C 10.774 20.197 10.416 19.575 10.412 18.891 C 10.408 18.407 10.616 17.906 11.026 17.535 C 11.23 17.349 11.546 17.364 11.733 17.566 C 11.92 17.77 11.907 18.086 11.703 18.273 C 11.484 18.479 11.416 18.671 11.412 18.891 C 11.408 19.198 11.598 19.593 11.957 19.903 C 12.314 20.214 12.816 20.429 13.365 20.429 C 13.74 20.428 14.141 20.332 14.559 20.089 C 14.971 19.847 15.213 19.544 15.372 19.193 C 15.53 18.842 15.593 18.436 15.592 18.03 C 15.593 17.54 15.501 17.056 15.407 16.702 C 15.361 16.524 15.313 16.379 15.279 16.28 L 15.239 16.168 L 15.227 16.137 C 15.204 16.081 15.195 16.022 15.192 15.965 C 14.345 14.081 12.622 12.523 10.624 11.396 C 8.398 12.454 5.976 13.043 3.997 13.046 C 3.011 13.044 2.13 12.902 1.419 12.557 C 0.712 12.219 0.163 11.615 0.033 10.816 C 0.011 10.691 0 10.568 0 10.446 C -0.001 10.079 0.107 9.728 0.305 9.442 C 0.605 9.011 1.068 8.738 1.603 8.565 C 2.142 8.393 2.769 8.317 3.463 8.317 C 5.526 8.32 8.206 8.995 10.647 10.27 C 10.701 10.241 10.757 10.214 10.812 10.185 C 13.042 9.011 14.907 7.33 15.591 5.397 C 15.597 5.362 15.606 5.327 15.62 5.293 L 15.633 5.26 C 15.7 5.089 15.987 4.258 15.984 3.399 C 15.985 2.993 15.923 2.587 15.765 2.236 C 15.606 1.884 15.364 1.583 14.951 1.34 C 14.533 1.097 14.132 1.001 13.757 1 C 13.208 1 12.706 1.214 12.35 1.525 C 11.99 1.835 11.801 2.231 11.805 2.538 C 11.809 2.759 11.877 2.949 12.096 3.156 C 12.299 3.342 12.313 3.659 12.126 3.862 C 11.94 4.066 11.624 4.079 11.42 3.893 C 11.01 3.522 10.801 3.022 10.805 2.538 C 10.809 1.854 11.165 1.231 11.693 0.77 C 12.223 0.31 12.948 0.001 13.757 0 C 14.307 0 14.892 0.147 15.455 0.476 Z M 1.554 9.662 C 1.349 9.768 1.213 9.888 1.129 10.01 C 1.046 10.133 1.002 10.262 1 10.446 L 1.018 10.648 C 1.101 11.096 1.352 11.4 1.858 11.658 C 2.362 11.907 3.112 12.047 3.997 12.046 C 5.581 12.048 7.586 11.61 9.485 10.812 C 7.379 9.831 5.126 9.315 3.463 9.317 C 2.638 9.315 1.963 9.448 1.554 9.662 Z'/%3E%3C/svg%3E") alpha no-repeat center / auto;
}

.nep-menu__items {
    position: relative;
    display: flex;
    flex-flow: column;
    place-content: center;
    align-items: center;
    gap: 32px;
    width: 100%;
    overflow: clip;
}

/* Dish row */
.nep-dish {
    position: relative;
    display: flex;
    flex-flow: row;
    place-content: center flex-start;
    align-items: center;
    gap: 24px;
    width: 100%;
    overflow: clip;
}

.nep-dish__photo {
    position: relative;
    flex: none;
    width: 128px;
    height: 96px;
    border-radius: 8px;
    overflow: clip;
}

.nep-dish__photo picture,
.nep-dish__photo img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    object-fit: cover;
    object-position: center;
}

.nep-dish__body {
    position: relative;
    display: flex;
    flex-flow: column;
    flex: 1 0 0;
    place-content: flex-start;
    align-items: flex-start;
    gap: 12px;
    width: 1px;
}

.nep-dish__head {
    position: relative;
    display: flex;
    flex-flow: row;
    place-content: flex-end center;
    align-items: flex-end;
    gap: 10px;
    width: 100%;
    overflow: clip;
}

.nep-menu .nep-dish__name,
.nep-menu .nep-dish__price {
    position: relative;
    flex: none;
    font-size: 20px;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.2em;
    text-align: left;
    text-transform: uppercase;
    color: #141313;
    white-space: pre;
}

.nep-dish__dots {
    position: relative;
    display: flex;
    flex-flow: column;
    flex: 1 0 0;
    place-content: flex-end flex-start;
    align-items: flex-end;
    gap: 10px;
    width: 1px;
    padding: 0 0 5px;
}

.nep-dish__dots > div {
    position: relative;
    flex: none;
    width: 100%;
    height: 1px;
}

.nep-dish__dots > div::after {
    border: 0.5px dashed #d6d6d6;
}

.nep-menu .nep-dish__desc {
    position: relative;
    width: 100%;
    max-width: 88%;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4em;
    text-align: left;
    color: #454545;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: break-word;
}

@supports (animation-timing-function: linear(0, 1)) {
    /* spring: duration 0.4s, bounce 0 */
    .nep-menu__tab span {
        transition-timing-function: linear(0, 0.0229, 0.0788, 0.1532, 0.2361, 0.3208, 0.403, 0.4802, 0.5509, 0.6146, 0.6711, 0.7207, 0.7638, 0.801, 0.8329, 0.8601, 0.8832, 0.9027, 0.9191, 0.9329, 0.9445, 0.9541, 0.9621, 0.9688, 0.9743, 0.9789, 0.9827, 0.9858, 0.9884, 0.9905, 0.9922, 0.9936, 0.9948, 0.9958, 0.9965, 0.9972, 0.9977, 0.9981, 0.9985, 0.9988, 1);
    }
}

/* Menu: tablet */
@media (min-width: 810px) and (max-width: 1199.98px) {
    .nep-menu__header h2 { font-size: 38px; }
}

/* Menu: phone */
@media (max-width: 809.98px) {
    .nep-menu-trigger { height: 87.5592vh; }
    .nep-menu-trigger__range { bottom: 229px; }

    .nep-menu {
        width: 100%;
        padding: 16px;
        transform: translateY(-920px) scale(0.7);
    }

    .nep-menu__header h2 {
        font-size: 32px;
        line-height: 1.4em;
        text-align: center;
    }

    .nep-menu__tabs { justify-content: flex-start; padding: 4px; }
    .nep-menu__tabs-row { display: none; }
    .nep-menu__slider { display: block; }

    .nep-menu__list { padding: 16px; }
    .nep-menu__group { gap: 40px; padding: 40px 16px 16px; }
    .nep-menu__group-title h3 { font-size: 24px; }

    .nep-dish { flex-direction: column; }
    .nep-dish__photo { width: 100%; height: 156px; }
    .nep-dish__body { flex: none; gap: 8px; width: 100%; }
    .nep-dish__head { place-content: flex-start; align-items: flex-start; }
    .nep-menu .nep-dish__name {
        flex: 1 0 0;
        width: 1px;
        white-space: pre-wrap;
        word-break: break-word;
        overflow-wrap: break-word;
    }
    .nep-dish__dots { display: none; }
    .nep-menu .nep-dish__desc { max-width: none; }
}

/* Tablet */
@media (min-width: 810px) and (max-width: 1199.98px) {
    .nep-hero__dish--br { width: 560px; bottom: 72px; right: -244px; }
    .nep-hero__dish--tl { width: 560px; top: -199px; left: -309px; }
    .nep-hero__heading h1 { font-size: 64px; }
}

/* Mobile */
@media (max-width: 809.98px) {
    .nep-hero { gap: 24px; padding: 96px 0 128px; }
    .nep-hero__text { gap: 32px; padding: 32px; }
    .nep-hero__dish { display: none; }
    .nep-hero__eyebrow p { font-size: 16px; }
    .nep-hero__heading h1 { font-size: 42px; }
    .nep-hero__appear { animation: none; will-change: auto; }
}
