.rm-menu{
        --cream: #f7f5ef;
        --paper: #fffefa;
        --ink: #282c21;
        --muted: #73766d;
        --olive: #5b6247;
        --red: #8b352e;
        --line: #d8d6ca;
        --serif: "Italiana", "Times New Roman", serif;
        --sans: "DM Sans", Arial, sans-serif;
      }
.rm-menu *{
        box-sizing: border-box;
      }
.rm-menu{
        margin: 0;
        background: var(--cream);
        color: var(--ink);
        font-family: var(--sans);
        -webkit-font-smoothing: antialiased;
      }
.rm-menu button,.rm-menu a{
        font: inherit;
      }
.rm-menu a{
        text-decoration: none;
        color: inherit;
      }
.rm-menu button{
        cursor: pointer;
      }
.rm-menu .shell{
        max-width: 1440px;
        margin: auto;
      }
.rm-menu .hero{
        min-height: 760px;
        min-height: 100svh;
        position: relative;
        color: #fff;
        background: #272d23;
        overflow: hidden;
        display: flex;
        flex-direction: column;
      }
.rm-menu .hero::before{
        content: "";
        position: absolute;
        inset: 0;
        background:
          linear-gradient(
            180deg,
            rgba(15, 19, 12, 0.5),
            rgba(15, 19, 12, 0.14) 34%,
            rgba(15, 19, 12, 0.56)
          ),
          none
            center/cover;
        transform: scale(1.02);
      }
.rm-menu .hero::after{
        content: "";
        position: absolute;
        inset: 12px;
        border: 1px solid rgba(255, 255, 255, 0.25);
        pointer-events: none;
      }
.rm-menu .hero-main{
        position: relative;
        z-index: 1;
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        text-align: center;
        padding: 90px 18px 75px;
      }
.rm-menu .eyebrow{
        font-size: 11px;
        font-weight: 600;
        letter-spacing: 0.31em;
        text-transform: uppercase;
      }
.rm-menu .hero h1{
        font-family: var(--serif);
        font-weight: 400;
        font-size: clamp(69px, 10vw, 155px);
        letter-spacing: -0.055em;
        line-height: 0.82;
        margin: 38px 0 35px;
        max-width: 1180px;
      }
.rm-menu .hero h1 em{
        font-weight: 400;
        font-style: italic;
        font-family: "Playfair Display", Georgia, serif;
        letter-spacing: -0.075em;
      }
.rm-menu .hero p{
        font-size: 13px;
        line-height: 1.85;
        max-width: 400px;
        font-weight: 400;
        color: #f1f1e9;
      }
.rm-menu .outline-btn{
        display: inline-block;
        margin-top: 29px;
        color: inherit;
        background: transparent;
        border: 1px solid currentColor;
        padding: 15px 42px;
        min-width: 174px;
        letter-spacing: 0.13em;
        font-size: 11px;
        text-transform: uppercase;
        transition:
          background 0.25s,
          color 0.25s;
      }
.rm-menu .outline-btn:hover{
        background: #fff;
        color: var(--ink);
      }
.rm-menu .hero-bottom{
        position: relative;
        z-index: 1;
        display: flex;
        justify-content: space-between;
        padding: 0 7% 28px;
        font-size: 10px;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #fff9;
      }
.rm-menu .hero-bottom span:last-child{
        font-size: 20px;
        line-height: 10px;
      }
.rm-menu .intro{
        text-align: center;
        min-height: calc(clamp(350px, 42vw, 510px) + 116px);
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 58px 18px;
      }
.rm-menu .intro .eyebrow,.rm-menu .section-top .eyebrow{
        color: var(--red);
      }
.rm-menu .intro h2{
        font: 400 clamp(46px, 6vw, 83px)/1 var(--serif);
        letter-spacing: -0.035em;
        margin: 24px auto 19px;
      }
.rm-menu .intro p{
        max-width: 550px;
        margin: 0 auto;
        color: var(--muted);
        font-size: 13px;
        line-height: 2;
      }
.rm-menu .categories{
        padding: 10px 0 0;
      }
.rm-menu .category{
        display: grid;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: clamp(45px, 8vw, 130px);
        margin: 0;
        padding: 58px max(5%, calc((100% - 1190px) / 2));
        background: var(--rm-categories-bg, none) center / 100% 100% no-repeat;
      }
.rm-menu .category + .category{
        border-top: 1px solid var(--line);
      }
.rm-menu .category.reverse .category-image{
        order: 2;
      }
.rm-menu .category.reverse .category-copy{
        order: 1;
      }
.rm-menu .category-image{
        height: clamp(350px, 42vw, 510px);
        position: relative;
        isolation: isolate;
      }
.rm-menu .category-image::before{
        display: none;
      }
.rm-menu .category-image img{
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 49% 49% 47% 47% / 46% 46% 47% 47%;
        display: block;
      }
.rm-menu .category-copy{
        text-align: center;
        max-width: 435px;
        margin: auto;
      }
.rm-menu .category-num{
        font:
          italic 16px Georgia,
          serif;
        color: var(--red);
      }
.rm-menu .category-copy h3{
        font: 400 clamp(52px, 5.8vw, 81px)/0.98 var(--serif);
        letter-spacing: -0.045em;
        margin: 28px 0 24px;
      }
.rm-menu .category-copy p{
        font-size: 13px;
        color: var(--muted);
        line-height: 2;
        max-width: 350px;
        margin: 0 auto;
      }
.rm-menu .category-copy .outline-btn{
        color: var(--ink);
        margin-top: 32px;
        border-color: var(--olive);
      }
.rm-menu .category-copy .outline-btn:hover{
        background: var(--olive);
        color: #fff;
      }
.rm-menu .category-copy .mini-rule{
        width: 30px;
        height: 1px;
        background: var(--red);
        margin: 23px auto;
      }
.rm-menu .section-top{
        text-align: center;
        padding: 65px 15px 10px;
      }
.rm-menu .section-top h2{
        font: 400 clamp(45px, 6vw, 77px)/1 var(--serif);
        margin: 21px 0;
      }
.rm-menu .story{
        display: grid;
        grid-template-columns: 1fr 1fr;
        min-height: 500px;
        background: #3d4436;
        color: white;
      }
.rm-menu .story-photo{
        background: none
          center/cover;
        min-height: 400px;
      }
.rm-menu .story-content{
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        padding: 70px clamp(36px, 8vw, 120px);
      }
.rm-menu .story-content h2{
        font: 400 clamp(54px, 6vw, 81px)/1 var(--serif);
        margin: 20px 0;
      }
.rm-menu .story-content p{
        font-size: 13px;
        line-height: 2;
        max-width: 390px;
        color: #fffbd5bb;
      }
.rm-menu .story-content .outline-btn{
        margin-top: 20px;
      }
@media  (max-width: 850px) {.rm-menu .hero{
          min-height: 690px;
        }
.rm-menu .category{
          gap: 30px;
        }
.rm-menu .category-copy h3{
          font-size: 55px;
        }}
@media  (max-width: 650px) {.rm-menu .hero{
          min-height: 700px;
          min-height: 95svh;
        }
.rm-menu .category{
          background-image: var(--rm-categories-mobile, none);
        }
.rm-menu .hero-main{
          padding: 70px 17px;
        }
.rm-menu .hero h1{
          font-size: clamp(65px, 15vw, 91px);
          margin: 35px 0;
        }
.rm-menu .hero-bottom{
          font-size: 8px;
          padding: 0 7% 30px;
        }
.rm-menu .intro{
          padding: 80px 22px 45px;
        }
.rm-menu .categories{
          padding: 0;
        }
.rm-menu .category,.rm-menu .category.reverse{
          grid-template-columns: 1fr;
          padding: 40px 6% 55px;
          gap: 42px;
        }
.rm-menu .category.reverse .category-image,.rm-menu .category.reverse .category-copy{
          order: initial;
        }
.rm-menu .category-image{
          height: 340px;
          max-width: 400px;
          width: 88%;
          margin: auto;
        }
.rm-menu .category-copy h3{
          font-size: 63px;
        }
.rm-menu .section-top{
          padding: 55px 15px 0;
        }
.rm-menu .story{
          grid-template-columns: 1fr;
        }
.rm-menu .story-photo{
          min-height: 290px;
        }
.rm-menu .story-content{
          padding: 50px 8% 65px;
        }}
@media  (prefers-reduced-motion: reduce) {.rm-menu *{
          scroll-behavior: auto !important;
          transition: none !important;
        }}
.rm-menu{
  --wm-red: #ff0000;
  --wm-yellow: #f5c61c;
  --wm-black: #1a1a1a;
  --wm-light: #e9ecef;
  --wm-gray: #7a7a7a;
}
@media  (max-width: 540px) {}
@media  (max-width: 650px) {}
@media  (max-width: 540px) {}
@media  (min-width: 760px) {}
@media  (max-width: 650px) {}
.rm-menu .category-image img{
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}
.rm-menu .category-image:hover img{
  transform: scale(1.025);
}
.rm-menu .category-copy a{
  transition:
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.3s ease,
    background-color 0.3s ease,
    border-color 0.3s ease;
}
.rm-menu .category-copy a:hover{
  transform: translateY(-2px);
}
@media  (prefers-reduced-motion: reduce) {.rm-menu .category-image img{
    transition: none !important;
  }}
@media  (min-width: 651px) {}
@media  (min-width: 760px) {}
@media  (max-width: 650px) {}
@media  (max-width: 1100px) {}
@media  (max-width: 921px) {}
@media  (max-width: 767px) {}
@media  (max-width: 430px) {}
@media  (max-width: 650px) {}
@media  (max-width: 540px) {}
@media  (min-width: 760px) {}
@media  (max-width: 650px) {}
@media  (max-width: 650px) {}
@media  (max-width: 650px) {}
@media  (min-width: 651px) {}
@media  (max-width: 650px) {}
@media  (min-width: 651px) {}/* Scoped integration overrides. No navigation or footer is included. */
/* Break out of a centered theme/page-builder container and fill the viewport. */
.rm-menu{width:auto;max-width:none;margin:0 calc(50% - 50vw);color:#292d23;background:#f8f6ef;font-family:"DM Sans",Arial,sans-serif;line-height:1.6;overflow-wrap:anywhere}
.rm-menu h1,.rm-menu h2,.rm-menu h3,.rm-menu p,.rm-menu figure{padding:0}
.rm-menu figure{margin:0}
.rm-menu img{max-width:100%;height:auto;display:block}
.rm-menu .hero{min-height:710px;min-height:85svh}
.rm-menu .hero::before{background:linear-gradient(180deg,#0f130c55,#0f130c22 34%,#0f130c77),var(--rm-bg) center/cover;transform:none}
.rm-menu .hero-main{padding:110px 24px;min-height:600px}
.rm-menu .hero-main h1{color:#fff}
.rm-menu .hero-main p{font-size:15px;max-width:540px}
.rm-menu .intro h2{font-family:"Italiana","Times New Roman",serif;font-weight:400;color:#292d23}
.rm-menu .category-copy h3{font-family:"Italiana","Times New Roman",serif;font-weight:400}
.rm-menu .category-image img{width:100%;height:100%;object-fit:contain}
.rm-menu .story-photo{background:#e9e6dc;min-height:450px}
.rm-menu .story-photo img{width:100%;height:100%;object-fit:cover}
.rm-menu .story-content h2{color:inherit}
.rm-menu .outline-btn:focus-visible{outline:3px solid #8b352e;outline-offset:5px}
.rm-menu .rm-detail{padding:24px clamp(12px,4vw,60px) 60px;background:#e8e0d2 var(--rm-menu-bg,none) center/cover no-repeat}
.rm-menu .rm-poster{position:relative;max-width:1050px;margin:0 auto;padding:80px clamp(24px,5vw,70px);background:#f1ece2 var(--rm-detail-bg, none) center/100% 100% no-repeat;box-shadow:0 18px 55px #31271a20}
.rm-menu .rm-poster-heading{margin-bottom:38px}
.rm-menu .rm-poster-heading .eyebrow{color:#8b352e}
.rm-menu .rm-poster-heading h1{font-family:"DM Sans",Arial,sans-serif;font-size:clamp(40px,6vw,76px);font-weight:700;text-transform:uppercase;line-height:1;letter-spacing:-.04em;margin:12px 0 18px;color:#20221d}
.rm-menu .rm-poster-heading>p{max-width:650px;font-size:14px;color:#73766d;line-height:1.7}
.rm-menu .rm-poster-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(25px,5vw,80px);align-items:start}
.rm-menu .rm-illustration{min-height:0;margin:0 0 36px}
.rm-menu .rm-illustration:has(img){height:230px}
.rm-menu .rm-illustration img{width:100%;height:100%;object-fit:contain}
.rm-menu .rm-poster-column:nth-child(2) .rm-illustration{margin:36px 0 0}
.rm-menu .rm-item{margin:0 0 25px;break-inside:avoid}
.rm-menu .rm-item-top{display:flex;align-items:baseline;gap:14px;justify-content:space-between}
.rm-menu .rm-item h2{font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.3;letter-spacing:0;font-weight:700;margin:0;color:#20221d;text-transform:uppercase}
.rm-menu .rm-price{font-size:16px;font-weight:700;white-space:nowrap;color:#20221d}
.rm-menu .rm-item p{margin:7px 0 0;font-size:12px;line-height:1.65;color:#73766d}
.rm-menu .rm-highlight h2,.rm-menu .rm-highlight .rm-price{color:#a5382e}
.rm-menu .rm-badge{display:inline-block;margin-top:8px;padding:3px 8px;border:1px solid #b88a7b;color:#8b352e;font-size:10px;letter-spacing:.04em}
.rm-menu .rm-item-photo{margin:0 0 10px}
.rm-menu .rm-item-photo img{width:100%;max-height:160px;object-fit:contain}
.rm-menu .rm-back{max-width:1050px;margin:auto;text-align:center}
.rm-menu .rm-back .outline-btn:hover{background:#292d23;color:white}
.rm-menu .rm-message{padding:32px}
body.rm-canvas{margin:0;background:#f8f6ef}
.rm-canvas #main-content{width:100%;margin:0;padding:0}
@media(max-width:650px){
 .rm-menu .rm-detail{background-image:var(--rm-menu-bg-mobile,var(--rm-menu-bg,none))}
 .rm-menu .hero{min-height:620px;min-height:80svh}
 .rm-menu .hero::before{background:linear-gradient(180deg,#0f130c55,#0f130c22 34%,#0f130c77),var(--rm-bg-mobile) center/cover}
 .rm-menu .hero-main{padding:90px 20px;min-height:570px}
 .rm-menu .rm-poster{padding:45px 24px;background-image:var(--rm-detail-mobile, none)}
 .rm-menu .rm-poster-grid{display:block}
 .rm-menu .rm-illustration:has(img){height:210px;margin:20px 0 30px}
 .rm-menu .story-photo{min-height:300px}
 .rm-menu .story-photo img{height:300px}
 .rm-menu .rm-item h2,.rm-menu .rm-price{font-size:15px}
}

.rm-menu .categories{background-image:var(--rm-categories-bg,none);background-size:100% 100%;background-position:center}
.rm-menu .category{background:transparent}
@media(max-width:650px){.rm-menu .categories{background-image:var(--rm-categories-mobile,none)}}
@media(min-width:651px){
 .rm-menu .category-image{height:clamp(378px,43.2vw,558px)}
 .rm-menu .rm-illustration:has(img){height:300px}
}
@keyframes rm-fade-up{
 from{opacity:0;transform:translateY(22px)}
 to{opacity:1;transform:translateY(0)}
}
@keyframes rm-fade-in{
 from{opacity:0}
 to{opacity:1}
}
@keyframes rm-scale-in{
 from{opacity:0;transform:scale(.97)}
 to{opacity:1;transform:scale(1)}
}
body:has(.rm-menu){scroll-behavior:smooth}
.rm-menu .hero-main>*{animation:rm-fade-up .8s cubic-bezier(.22,1,.36,1) both}
.rm-menu .hero-main>*:nth-child(1){animation-delay:.08s}
.rm-menu .hero-main>*:nth-child(2){animation-delay:.18s}
.rm-menu .hero-main>*:nth-child(3){animation-delay:.28s}
.rm-menu .hero-main>*:nth-child(4){animation-delay:.38s}
.rm-menu .intro{animation:rm-fade-up .8s cubic-bezier(.22,1,.36,1) both}
.rm-menu .category-image{animation:rm-scale-in .9s cubic-bezier(.22,1,.36,1) both}
.rm-menu .category-copy{animation:rm-fade-up .8s cubic-bezier(.22,1,.36,1) .12s both}
.rm-menu .story-photo{animation:rm-fade-in 1s ease both}
.rm-menu .story-content{animation:rm-fade-up .8s cubic-bezier(.22,1,.36,1) .12s both}
.rm-menu .rm-poster{animation:rm-fade-up .8s cubic-bezier(.22,1,.36,1) both}
.rm-menu .rm-item{animation:rm-fade-up .65s cubic-bezier(.22,1,.36,1) both}
.rm-menu .rm-item:nth-child(2){animation-delay:.06s}
.rm-menu .rm-item:nth-child(3){animation-delay:.12s}
.rm-menu .rm-item:nth-child(4){animation-delay:.18s}
.rm-menu .rm-item:nth-child(5){animation-delay:.24s}
.rm-menu .rm-item:nth-child(6){animation-delay:.3s}
@media(prefers-reduced-motion:reduce){
 body:has(.rm-menu){scroll-behavior:auto}
 .rm-menu .hero-main>*,.rm-menu .intro,.rm-menu .category-image,.rm-menu .category-copy,
 .rm-menu .story-photo,.rm-menu .story-content,.rm-menu .rm-poster,.rm-menu .rm-item{
  animation:none!important;transform:none!important
 }
}
.rm-menu .rm-reveal{
 opacity:0;
 transform:translateY(24px);
 transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1);
 transition-delay:var(--rm-reveal-delay,0s);
 animation:none!important;
}
.rm-menu .category-image.rm-reveal{transform:scale(.97)}
.rm-menu .rm-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
 .rm-menu .rm-reveal,.rm-menu .rm-reveal.is-visible{
  opacity:1;transform:none;transition:none!important;animation:none!important
 }
}
/* Category detail board inspired by the reference menu layout. */
.rm-menu .rm-menu-board{
 position:relative;
 max-width:1120px;
 margin:0 auto;
 padding:clamp(34px,5.5vw,76px);
 background:#fffefa var(--rm-detail-bg,none) center/100% 100% no-repeat;
 box-shadow:0 18px 60px #24291c0a;
}
.rm-menu .rm-menu-board:before{
 content:"";
 position:absolute;
 inset:12px;
 border:1px solid #dcdcd2;
 pointer-events:none;
}
.rm-menu .rm-menu-header{
 position:relative;
 text-align:center;
}
.rm-menu .rm-menu-header .eyebrow{color:var(--red)}
.rm-menu .rm-menu-header h1{
 margin:12px 0;
 color:var(--red);
 font:italic 400 clamp(51px,7vw,94px)/1 "Playfair Display",Georgia,serif;
 letter-spacing:-.06em;
}
.rm-menu .rm-menu-subhead{
 display:block;
 font-size:11px;
 font-weight:700;
 letter-spacing:.49em;
 text-transform:uppercase;
}
.rm-menu .rm-menu-header p{
 max-width:470px;
 margin:22px auto 0;
 color:var(--muted);
 font-size:12px;
 line-height:1.8;
}
.rm-menu .rm-menu-illustrations{
 position:relative;
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 gap:clamp(18px,5vw,65px);
 align-items:end;
 margin:34px 0 6px;
}
.rm-menu .rm-menu-illustration{
 height:clamp(170px,23vw,270px);
 margin:0;
}
.rm-menu .rm-menu-illustration img{
 width:100%;
 height:100%;
 object-fit:contain;
}
.rm-menu .rm-menu-deco{
 height:56px;
 margin:13px 0 19px;
 display:flex;
 align-items:center;
 justify-content:center;
 gap:15px;
 color:#a3a899;
 font-size:32px;
}
.rm-menu .rm-menu-deco:before,.rm-menu .rm-menu-deco:after{
 content:"";
 width:30%;
 height:1px;
 background:var(--line);
}
.rm-menu .rm-menu-item-grid{
 position:relative;
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr));
 column-gap:65px;
}
.rm-menu .rm-menu-item{
 display:block;
 min-width:0;
 margin:0;
 padding:22px 0;
 border-bottom:1px solid #e9e8df;
}
.rm-menu .rm-menu-item-copy{min-width:0}
.rm-menu .rm-menu-item-top{
 display:flex;
 align-items:flex-start;
 justify-content:space-between;
 gap:14px;
}
.rm-menu .rm-menu-item h2{
 margin:0;
 color:#20221d;
 font:600 13px/1.5 var(--sans);
 letter-spacing:.16em;
 text-transform:uppercase;
}
.rm-menu .rm-menu-item p{
 max-width:360px;
 margin:6px 0 0;
 color:#898d7f;
 font-size:11px;
 line-height:1.75;
}
.rm-menu .rm-menu-item .rm-price{
 color:var(--red);
 font:600 13px var(--sans);
}
.rm-menu .rm-menu-item.rm-highlight h2,.rm-menu .rm-menu-item.rm-highlight .rm-price{color:var(--red)}
.rm-menu .rm-menu-item-photo{
 width:100%;
 height:150px;
 margin:0 0 14px;
}
.rm-menu .rm-menu-item-photo img{
 width:100%;
 height:100%;
 object-fit:contain;
}
@media(max-width:650px){
 .rm-menu .rm-menu-board{padding:34px 24px}
 .rm-menu .rm-menu-board:before{inset:8px}
 .rm-menu .rm-menu-illustrations{grid-template-columns:1fr;gap:12px}
 .rm-menu .rm-menu-illustration{height:190px}
 .rm-menu .rm-menu-item-grid{grid-template-columns:1fr}
 .rm-menu .rm-menu-item{padding:17px 0}
 .rm-menu .rm-menu-item h2,.rm-menu .rm-menu-item .rm-price{font-size:12px}
}

/* Category detail: two-column menu board based on asian.html. */
.rm-menu .rm-detail{
 padding:24px clamp(10px,2.5vw,46px) 30px;
 background-color:#e7dfd2;
 background-image:var(--rm-menu-bg,none);
 background-position:center;
 background-size:cover;
}
.rm-menu .rm-menu-board{
 max-width:1728px;
 min-height:760px;
 margin:0 auto;
 padding:clamp(58px,7vw,112px) clamp(34px,7vw,116px) clamp(58px,7vw,100px);
 background-color:#fffefa;
 background-image:var(--rm-detail-bg,none);
 background-position:center;
 background-size:cover;
 box-shadow:0 18px 60px #24291c12;
 overflow:hidden;
}
.rm-menu .rm-menu-board:before{
 inset:0;
 border:1px solid #deded5;
}
.rm-menu .rm-menu-layout{
 position:relative;
 display:grid;
 grid-template-columns:minmax(330px,.82fr) minmax(520px,1.28fr);
 gap:clamp(50px,8vw,145px);
 align-items:start;
}
.rm-menu .rm-menu-showcase{
 min-width:0;
 min-height:630px;
 display:flex;
 flex-direction:column;
 align-items:center;
 text-align:center;
}
.rm-menu .rm-menu-showcase-header{width:100%;padding-top:6px}
.rm-menu .rm-menu-showcase-header .eyebrow{
 color:var(--red);
 font-size:11px;
 letter-spacing:.36em;
 text-transform:uppercase;
}
.rm-menu .rm-menu-showcase-header h1{
 margin:18px 0 4px;
 color:#22241f;
 font:800 clamp(54px,6.2vw,96px)/.9 var(--sans);
 letter-spacing:-.075em;
 text-transform:uppercase;
}
.rm-menu .rm-menu-subhead{
 display:block;
 color:var(--red);
 font:italic 400 clamp(34px,4vw,58px)/1 "Playfair Display",Georgia,serif;
 letter-spacing:-.055em;
}
.rm-menu .rm-menu-rule{
 display:block;
 width:58px;
 height:2px;
 margin:16px auto 0;
 background:var(--red);
}
.rm-menu .rm-menu-showcase-header p{
 max-width:370px;
 margin:22px auto 0;
 color:#777970;
 font-size:13px;
 line-height:1.75;
}
.rm-menu .rm-menu-showcase-images{
 position:relative;
 width:100%;
 flex:1;
 min-height:390px;
 margin-top:34px;
 display:flex;
 flex-direction:column;
 align-items:center;
 justify-content:center;
 gap:10px;
}
.rm-menu .rm-menu-showcase-image{
 position:relative;
 width:100%;
 height:clamp(240px,27vw,370px);
 margin:0;
 display:flex;
 align-items:center;
 justify-content:center;
}
.rm-menu .rm-menu-showcase-image img{
 width:100%;
 height:100%;
 object-fit:contain;
 mix-blend-mode:multiply;
}
.rm-menu .rm-menu-showcase-image-secondary{
 width:62%;
 height:170px;
 margin-top:-72px;
 margin-left:38%;
 z-index:1;
}
.rm-menu .rm-menu-list{
 min-width:0;
 padding-top:clamp(30px,7vw,110px);
}
.rm-menu .rm-menu-layout>.rm-menu-deco{display:none}
.rm-menu .rm-menu-item{
 min-width:0;
 margin:0 0 23px;
 padding:0 0 18px;
 border-bottom:0;
}
.rm-menu .rm-menu-item-top{
 min-width:0;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:18px;
 padding:0;
}
.rm-menu .rm-menu-item h2{
 min-width:0;
 margin:0;
 color:#292b26;
 font:700 16px/1.25 var(--sans);
 letter-spacing:.13em;
 text-transform:uppercase;
}
.rm-menu .rm-menu-item .rm-price{
 flex:0 0 auto;
 color:var(--red);
 font:700 15px/1 var(--sans);
 white-space:nowrap;
}
.rm-menu .rm-menu-item p{
 max-width:520px;
 margin:7px 0 0;
 color:#777970;
 font-size:12px;
 line-height:1.55;
}
.rm-menu .rm-menu-item .rm-badge{
 margin-top:7px;
 border:0;
 padding:0;
 color:var(--red);
 font-size:10px;
 letter-spacing:.12em;
 text-transform:uppercase;
}
.rm-menu .rm-menu-item.rm-highlight{border-bottom-color:transparent}
.rm-menu .rm-menu-item.rm-highlight .rm-menu-item-top{
 padding:5px 13px;
 border-radius:18px;
 background:var(--red);
}
.rm-menu .rm-menu-item.rm-highlight h2,
.rm-menu .rm-menu-item.rm-highlight .rm-price{color:#fff}
.rm-menu .rm-menu-item.rm-highlight p{
 padding-left:0;
 margin-left:0;
 text-align:left;
}
.rm-menu .rm-back{max-width:1728px;margin:22px auto 0;text-align:center}
@media(max-width:900px){
 .rm-menu .rm-menu-board{padding-left:clamp(28px,5vw,58px);padding-right:clamp(28px,5vw,58px)}
 .rm-menu .rm-menu-layout{grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:42px}
 .rm-menu .rm-menu-item h2{font-size:14px}
}
@media(max-width:650px){
 .rm-menu .rm-detail{padding:0;background-image:none}
 .rm-menu .rm-menu-board{
  min-height:0;
  padding:54px 25px 42px;
  background-image:var(--rm-detail-mobile,var(--rm-detail-bg,none));
 }
 .rm-menu .rm-menu-layout{display:block}
 .rm-menu .rm-menu-showcase{min-height:0}
 .rm-menu .rm-menu-showcase-header h1{font-size:clamp(45px,15vw,72px)}
 .rm-menu .rm-menu-showcase-images{min-height:260px;margin-top:20px}
 .rm-menu .rm-menu-showcase-image{height:250px}
 .rm-menu .rm-menu-showcase-image-secondary{height:120px;margin-top:-52px}
 .rm-menu .rm-menu-list{padding-top:48px}
 .rm-menu .rm-menu-item{margin-bottom:18px;padding-bottom:15px}
 .rm-menu .rm-menu-item h2{font-size:12px;letter-spacing:.1em}
 .rm-menu .rm-menu-item .rm-price{font-size:12px}
}

/* Keep the page canvas consistent with the reference menu background. */
body.rm-canvas,
.rm-menu,
.rm-menu .rm-detail{
 background-color:#f7f5ef;
}
.rm-menu .rm-detail{background-image:none}
.rm-menu .rm-menu-board{
 background-repeat:no-repeat;
 background-size:100% 100%;
}
.rm-menu .rm-menu-subhead.rm-menu-description{
 max-width:460px;
 margin:12px auto 0;
 color:#8b433b;
 font:400 14px/1.6 var(--sans);
 letter-spacing:0;
 text-transform:none;
}
@media(max-width:650px){
 .rm-menu .rm-menu-board{background-size:100% 100%}
 .rm-menu .rm-menu-subhead.rm-menu-description{max-width:390px;margin-top:10px;font-size:14px;line-height:1.55}
}

/* Detail menu columns: seven items on the right, remaining items on the left. */
.rm-menu .rm-menu-layout{
 grid-template-areas:
  "showcase menu-right"
  "menu-left menu-bottom";
 grid-template-rows:auto auto;
}
.rm-menu .rm-menu-showcase{
 grid-area:showcase;
 min-height:0;
}
.rm-menu .rm-menu-showcase-header h1{
 max-width:680px;
 margin:16px auto 10px;
 font-size:clamp(42px,4.35vw,68px);
 line-height:.94;
 letter-spacing:-.065em;
}
.rm-menu .rm-menu-list-right{
 grid-area:menu-right;
}
.rm-menu .rm-menu-list-left{
 grid-area:menu-left;
 padding-top:28px;
}
.rm-menu .rm-menu-bottom-image{
 grid-area:menu-bottom;
 width:min(82%,360px);
 height:250px;
 margin:76px auto 0;
 display:flex;
 align-items:center;
 justify-content:center;
}
.rm-menu .rm-menu-bottom-image img{
 width:100%;
 height:100%;
 object-fit:contain;
 mix-blend-mode:multiply;
}
.rm-menu .rm-menu-mobile-image-1{display:none}
@media(max-width:650px){
 .rm-menu .rm-menu-layout{display:block}
 .rm-menu .rm-menu-showcase-header h1{max-width:520px;margin:10px auto 8px;font-size:clamp(36px,10vw,52px);line-height:.96}
 .rm-menu .rm-menu-list-right,.rm-menu .rm-menu-list-left{padding-top:48px}
 .rm-menu .rm-menu-bottom-image{width:88%;height:220px;margin:28px auto 0}
}

/* Compact item rhythm and equal-size illustrations on both columns. */
.rm-menu .rm-menu-item{
 margin-bottom:12px;
 padding-bottom:0;
}
.rm-menu .rm-menu-showcase-image-primary,
.rm-menu .rm-menu-bottom-image{
 width:min(100%,360px);
 height:clamp(220px,24vw,300px);
}
.rm-menu .rm-menu-bottom-image{
 margin:40px auto 0;
}
@media(max-width:650px){
 .rm-menu .rm-menu-showcase-image-primary,
 .rm-menu .rm-menu-bottom-image{
  width:88%;
  height:220px;
 }
 .rm-menu .rm-menu-bottom-image{margin:28px auto 0}
}

/* Mobile order follows the reference: menu list, illustration, then remaining menu list. */
@media(max-width:650px){
 .rm-menu .rm-menu-layout{
  display:flex;
  flex-direction:column;
  min-height:0;
  gap:0;
 }
 .rm-menu .rm-menu-showcase{order:1}
 .rm-menu .rm-menu-showcase-images.rm-menu-has-secondary{display:none}
 .rm-menu .rm-menu-list-right{
  order:2;
  padding-top:28px;
 }
 .rm-menu .rm-menu-bottom-image{
  order:3;
  margin:34px auto 0;
  transform:none;
 }
 .rm-menu .rm-menu-list-left{
  order:4;
  padding-top:28px;
  transform:none;
 }
}

@media(max-width:650px){
 body.rm-canvas,
 .rm-menu,
 .rm-menu .rm-detail{
  background-color:#e7dfd2;
 }
 .rm-menu .rm-detail{
  padding:0 20px;
 }
 .rm-menu .rm-menu-board{
  margin:0 auto;
  border-radius:9px;
 }
 .rm-menu .rm-menu-board:before{
  inset:8px;
  border-radius:5px;
 }
}

/* Mobile detail hardening: keep the reference sequence even when the active theme
   adds layout rules after this stylesheet. The second illustration belongs between
   the first seven items and the remaining items. */
@media(max-width:650px){
 .rm-menu .rm-detail{
  padding:0 20px !important;
  background-color:#e7dfd2 !important;
  background-image:none !important;
 }
 .rm-menu .rm-menu-board{
  display:block !important;
  min-height:0 !important;
  margin:0 auto !important;
  padding:54px 25px 42px !important;
  border-radius:9px !important;
  background-size:100% 100% !important;
 }
 .rm-menu .rm-menu-layout{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  min-height:0 !important;
  gap:0 !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  grid-template-areas:none !important;
 }
 .rm-menu .rm-menu-showcase{
  order:1 !important;
  flex:none !important;
  min-height:0 !important;
 }
 .rm-menu .rm-menu-showcase-images{
  display:none !important;
 }
 .rm-menu .rm-menu-list-right{
  order:2 !important;
  flex:none !important;
  width:100% !important;
  padding-top:28px !important;
  margin-top:0 !important;
 }
 .rm-menu .rm-menu-mobile-image-1{
  order:3 !important;
  display:flex !important;
  flex:0 0 auto !important;
  width:88% !important;
  height:220px !important;
  margin:34px auto 0 !important;
  align-items:center;
  justify-content:center;
 }
 .rm-menu .rm-menu-mobile-image-1 img{
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
 }
 .rm-menu .rm-menu-bottom-image{
  order:5 !important;
  flex:0 0 auto !important;
  width:88% !important;
  height:220px !important;
  margin:34px auto 0 !important;
  transform:none !important;
 }
 .rm-menu .rm-menu-list-left{
  order:4 !important;
  flex:none !important;
  width:100% !important;
  padding-top:28px !important;
  margin-top:0 !important;
  transform:none !important;
 }
 .rm-menu .rm-menu-item{
  margin-bottom:18px;
  padding-bottom:15px;
  border-bottom:0 !important;
 }
 .rm-menu .rm-back{
  max-width:1728px;
  margin:0 20px !important;
  padding:36px 0 30px !important;
  background:#e7dfd2 !important;
  text-align:center;
 }
}

.rm-menu .rm-menu-showcase-image img,
.rm-menu .rm-menu-bottom-image img{
 animation:none !important;
 transform:none;
}

/* Balanced desktop grid: equal list zones and a centered lower illustration. */
@media(min-width:901px){
 .rm-menu .rm-menu-layout{
  min-height:700px;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(40px,5vw,90px);
  grid-template-rows:minmax(0,1fr) minmax(0,1fr);
  align-items:stretch;
 }
 .rm-menu .rm-menu-list-right,
 .rm-menu .rm-menu-list-left{
  display:flex;
  flex-direction:column;
  justify-content:flex-start !important;
  align-self:start;
  height:auto;
  min-height:0;
  gap:8px;
  padding-top:0;
  padding-bottom:0;
 }
 .rm-menu .rm-menu-item{margin-bottom:0}
 .rm-menu .rm-menu-showcase-images{min-height:0}
 .rm-menu .rm-menu-bottom-image{
  align-self:center;
  justify-self:center;
  margin:0;
 }
 .rm-menu .rm-menu-list-left{
  padding-top:clamp(72px,6vw,100px);
 }
 .rm-menu .rm-menu-list-right{
  padding-top:clamp(28px,2vw,40px);
 }
 .rm-menu .rm-menu-list-left,
 .rm-menu .rm-menu-bottom-image{
  transform:translateY(calc(-1 * clamp(90px,7vw,130px)));
 }
}

/* Astra transparent headers are absolutely positioned over page content.
   Keep the detail board below that 70px header without affecting Canvas pages. */
body.ast-theme-transparent-header:not(.rm-canvas) .rm-menu .rm-detail{
 padding-top:70px !important;
}

/* The category page is inside Elementor's default 10px container padding.
   Remove only that top inset so the hero starts flush with the viewport on both
   desktop and mobile; detail pages keep their header offset above. */
body.ast-theme-transparent-header:not(.rm-canvas) .elementor .e-con:has(.rm-menu > .hero){
 --padding-top:0px !important;
 --padding-bottom:0px !important;
}

/* Detail pages use the same Elementor container but do not have the category
   hero marker. Remove its default top/bottom inset so the menu section and the
   following reservation content meet cleanly. */
body.ast-theme-transparent-header:not(.rm-canvas) .elementor .e-con:has(.rm-menu > .rm-detail){
 --padding-top:0px !important;
 --padding-bottom:0px !important;
}

/* Remove the seam between the menu container and the next Elementor section. */
body.ast-theme-transparent-header:not(.rm-canvas) .elementor .e-con:has(.rm-menu){
 --padding-bottom:0px !important;
 margin-bottom:0 !important;
}
body.ast-theme-transparent-header:not(.rm-canvas) .elementor .e-con:has(.rm-menu) + .e-con{
 --padding-top:0px !important;
 margin-top:0 !important;
}
.rm-menu{margin-bottom:0 !important}

/* Motion study matched to the reference: one-shot hero flash, then masked
   media and short staggered reveals as each section enters the viewport. */
@keyframes rm-hero-settle{
  0%{transform:scale(1)}
  48%{transform:scale(1.065)}
  100%{transform:scale(1.02)}
}
@keyframes rm-hero-flash{
  0%,100%{opacity:0;transform:scaleX(.58)}
  28%{opacity:.18;transform:scaleX(.72)}
  48%{opacity:.9;transform:scaleX(1)}
  68%{opacity:.42;transform:scaleX(1)}
}
@keyframes rm-copy-up{
  0%{opacity:0;transform:translate3d(0,24px,0)}
  100%{opacity:1;transform:none}
}

.rm-menu .hero::before{
  animation:rm-hero-settle 1.65s cubic-bezier(.16,1,.3,1) .25s both;
  will-change:transform;
}
.rm-menu .rm-hero-flash{
  position:absolute;
  z-index:5;
  inset:0;
  background:#f5f1e8;
  opacity:0;
  pointer-events:none;
  transform-origin:center;
  animation:rm-hero-flash 1.15s cubic-bezier(.65,0,.35,1) .48s both;
}
.rm-menu .hero-main{z-index:4}
.rm-menu .hero-main>*{animation:none}
.rm-menu .hero::after{z-index:6}

.rm-menu .rm-reveal{
  opacity:0;
  transform:translate3d(0,28px,0);
  transition:
    opacity .85s cubic-bezier(.16,1,.3,1),
    transform .85s cubic-bezier(.16,1,.3,1),
    clip-path 1s cubic-bezier(.16,1,.3,1);
  transition-delay:var(--rm-reveal-delay,0s);
  animation:none!important;
}
.rm-menu .rm-reveal.is-visible{
  opacity:1;
  transform:none;
}

.rm-menu .intro.rm-reveal>*,
.rm-menu .category-copy.rm-reveal>:not(.mini-rule),
.rm-menu .story-content.rm-reveal>*{
  opacity:0;
  transform:translate3d(0,22px,0);
}
.rm-menu .intro.rm-reveal.is-visible>*,
.rm-menu .category-copy.rm-reveal.is-visible>:not(.mini-rule),
.rm-menu .story-content.rm-reveal.is-visible>*{
  animation:rm-copy-up .72s cubic-bezier(.16,1,.3,1) both;
}
.rm-menu .intro.rm-reveal.is-visible>*:nth-child(2),
.rm-menu .category-copy.rm-reveal.is-visible>:not(.mini-rule):nth-child(2),
.rm-menu .story-content.rm-reveal.is-visible>*:nth-child(2){animation-delay:.08s}
.rm-menu .intro.rm-reveal.is-visible>*:nth-child(3),
.rm-menu .category-copy.rm-reveal.is-visible>:not(.mini-rule):nth-child(3),
.rm-menu .story-content.rm-reveal.is-visible>*:nth-child(3){animation-delay:.16s}
.rm-menu .intro.rm-reveal.is-visible>*:nth-child(4),
.rm-menu .category-copy.rm-reveal.is-visible>:not(.mini-rule):nth-child(4),
.rm-menu .story-content.rm-reveal.is-visible>*:nth-child(4){animation-delay:.24s}
.rm-menu .intro.rm-reveal.is-visible>*:nth-child(5),
.rm-menu .category-copy.rm-reveal.is-visible>:not(.mini-rule):nth-child(5),
.rm-menu .story-content.rm-reveal.is-visible>*:nth-child(5){animation-delay:.32s}

.rm-menu .category-image.rm-reveal{
  opacity:1;
  clip-path:inset(12% 8% 12% 8% round 48% 48% 46% 46%);
  transform:translate3d(-34px,0,0);
}
.rm-menu .category.reverse .category-image.rm-reveal{
  transform:translate3d(34px,0,0);
}
.rm-menu .category-image.rm-reveal img{
  transform:scale(1.1);
  transition:transform 1.1s cubic-bezier(.16,1,.3,1);
}
.rm-menu .category-image.rm-reveal.is-visible{
  clip-path:inset(0 round 0);
  transform:none;
}
.rm-menu .category-image.rm-reveal.is-visible img{
  transform:scale(1);
}
.rm-menu .category-image.rm-reveal.is-visible:hover img{
  transform:scale(1.025);
}
.rm-menu .category-copy .mini-rule{
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .8s cubic-bezier(.16,1,.3,1) .2s;
}
.rm-menu .category-copy.is-visible .mini-rule{transform:scaleX(1)}

.rm-menu .story-photo.rm-reveal{
  clip-path:inset(16% 0 0);
  transform:none;
}
.rm-menu .story-photo.rm-reveal.is-visible{clip-path:inset(0)}
.rm-menu .story-photo.rm-reveal img{
  transform:scale(1.08);
  transition:transform 1.1s cubic-bezier(.16,1,.3,1);
}
.rm-menu .story-photo.rm-reveal.is-visible img{transform:scale(1)}

.rm-menu .rm-menu-board.rm-reveal{
  transform:translate3d(0,28px,0) scale(.988);
}
.rm-menu .rm-menu-board.rm-reveal.is-visible{transform:none}
.rm-menu .rm-item.rm-reveal{transform:translate3d(0,18px,0)}
.rm-menu .rm-item.rm-reveal.is-visible{transform:none}

@media(max-width:650px){
  .rm-menu .category-image.rm-reveal,
  .rm-menu .category.reverse .category-image.rm-reveal{
    transform:translate3d(0,26px,0);
  }
  .rm-menu .category-image.rm-reveal.is-visible{transform:none}
}

@media(prefers-reduced-motion:reduce){
  .rm-menu .hero::before,
  .rm-menu .rm-hero-flash,
  .rm-menu .intro.rm-reveal.is-visible>*,
  .rm-menu .category-copy.rm-reveal.is-visible>:not(.mini-rule),
  .rm-menu .story-content.rm-reveal.is-visible>*{
    animation:none!important;
  }
  .rm-menu .rm-reveal,
  .rm-menu .rm-reveal.is-visible,
  .rm-menu .category-image.rm-reveal,
  .rm-menu .category-image.rm-reveal.is-visible,
  .rm-menu .category.reverse .category-image.rm-reveal,
  .rm-menu .story-photo.rm-reveal,
  .rm-menu .story-photo.rm-reveal.is-visible{
    opacity:1;
    transform:none!important;
    clip-path:none;
    transition:none!important;
  }
  .rm-menu .intro.rm-reveal>*,
  .rm-menu .category-copy.rm-reveal>:not(.mini-rule),
  .rm-menu .story-content.rm-reveal>*{
    opacity:1;
    transform:none;
  }
  .rm-menu .category-image.rm-reveal img,
  .rm-menu .story-photo.rm-reveal img{
    transform:none!important;
    transition:none!important;
  }
  .rm-menu .category-copy .mini-rule{transform:scaleX(1);transition:none}
}
