.rimal-dining { background:var(--home-paper); }
.rimal-dining__layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); align-items:stretch; gap:20px; width:min(1140px,calc(100% - 64px)); margin-inline:auto; }
.rimal-dining__copy { min-width:0; padding:10px; }
.rimal-dining .home-editorial__kicker { margin:10px 0 30px; font-size:10px; letter-spacing:.4em; line-height:1.5; }
.rimal-dining h2 { margin:0; font-size:clamp(2rem,3vw,2.65rem); line-height:1.08; }
.rimal-dining__intro { margin:42px 10px 0; font-size:17px; line-height:1.5; color:var(--home-ink); }
.rimal-dining__menus { margin:32px 10px 0; }
.rimal-dining__menus details { border:0; }
.rimal-dining__menus summary { display:flex; align-items:center; gap:10px; min-height:44px; padding:10px; border-bottom:1px solid var(--home-line); font-size:16px; font-family:var(--font-sans,Arial,sans-serif); font-weight:400; line-height:1.3; list-style:none; cursor:pointer; }
.rimal-dining__menus summary::-webkit-details-marker { display:none; }
.rimal-dining__menus summary:focus-visible,.rimal-dining__pdf:focus-visible { outline:2px solid var(--home-accent); outline-offset:3px; }
.rimal-dining__toggle { position:relative; flex:0 0 13px; width:13px; height:13px; color:var(--home-accent); }
.rimal-dining__toggle::before,.rimal-dining__toggle::after { position:absolute; inset:6px 0 auto; height:2px; background:currentColor; content:''; }
.rimal-dining__toggle::after { transform:rotate(90deg); transition:transform .35s cubic-bezier(.65,0,.35,1); }
.rimal-dining__menus details[open] .rimal-dining__toggle::after { transform:rotate(0deg); }
.rimal-dining__menus details[data-closing] .rimal-dining__toggle::after { transform:rotate(90deg); }
.rimal-dining__panel { overflow:hidden; }
.rimal-dining__panel-inner { padding:12px 10px 28px; }
.rimal-dining__pdf { display:table; max-width:100%; margin:0 auto 30px; padding:10px 24px; border-radius:30px; background:var(--home-accent); color:#fff!important; font-size:11px; line-height:1.4; text-align:center; text-transform:uppercase; text-decoration:none; transition:opacity .2s ease; }
.rimal-dining__pdf:hover { opacity:.85; }
.rimal-dining__price { margin:0 0 8px; font-family:var(--font-serif); color:var(--home-accent); font-size:25px; }
.rimal-dining__price span { font-family:var(--font-sans,Arial,sans-serif); font-size:13px; }
.rimal-dining__note { margin:0 0 24px; font-size:13px; line-height:1.5; }
.rimal-dining__menu-group + .rimal-dining__menu-group { margin-top:34px; }
.rimal-dining__menu-group h3 { margin:0 0 24px; padding-bottom:15px; border-bottom:1px solid var(--home-line); font-family:var(--font-serif); font-size:26px; font-weight:400; line-height:1.2; color:var(--home-accent); text-transform:uppercase; }
.rimal-dining__menu-group ul { display:grid; gap:20px; margin:0; padding:0; list-style:none; }
.rimal-dining__item-heading { display:flex; align-items:baseline; justify-content:space-between; gap:14px; }
.rimal-dining__menu-group h4 { margin:0; font-family:var(--font-serif); font-size:19px; line-height:1.35; font-weight:500; }
.rimal-dining__item-price { flex-shrink:0; font-size:12px; color:var(--home-accent); }
.rimal-dining__menu-group li p { margin:7px 0 0; font-size:14px; line-height:1.6; color:var(--home-muted); }
.rimal-dining__discover { margin:28px 10px 10px; }
.rimal-dining__image { position:relative; min-width:0; min-height:560px; margin:0; overflow:hidden; border-radius:6px; background:#ded5c5; }
.rimal-dining__image picture { position:absolute; inset:0; }
.rimal-dining__image img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rimal-dining__image figcaption { position:absolute; inset:auto 16px 16px; width:fit-content; max-width:calc(100% - 32px); padding:8px 11px; background:rgba(29,27,22,.7); color:#fff; font-size:11px; line-height:1.4; }
@media(max-width:767px) { .rimal-dining__layout { grid-template-columns:minmax(0,1fr); width:calc(100% - 36px); gap:30px; } .rimal-dining__copy { padding:0; } .rimal-dining .home-editorial__kicker { margin-top:0; margin-bottom:22px; letter-spacing:.25em; } .rimal-dining__intro { margin:26px 0 0; font-size:16px; } .rimal-dining__menus { margin:28px 0 0; } .rimal-dining__discover { margin-inline:0; } .rimal-dining__image { min-height:0; height:auto; aspect-ratio:4/3; } .rimal-dining__menu-group h3 { font-size:24px; } .rimal-dining__menu-group h4 { font-size:18px; } }
@media(prefers-reduced-motion:reduce) { .rimal-dining__toggle::after,.rimal-dining__pdf { transition:none; } }
