/* Food-magazine menu – typographic grid, small photos */
:root{--mg-ink:#1f2622;--mg-mute:#6b7570;--mg-line:#e3e9e5;--mg-gold:#c9a24a;--mg-green:#33483e;--mg-orange:#33483e;--mg-paper:var(--urban-white);--serif:'Playfair Display',Georgia,serif;--hindi:'Tiro Devanagari Hindi','Noto Sans Devanagari',serif}
.mg{background:var(--mg-paper);color:var(--mg-ink);padding-bottom:3rem}
.mg-mast{padding:calc(var(--mm-navh,100px) + 1.5rem) 0 1.5rem;text-align:center}
.mg-mast .mg-issue{display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mg-mute);margin-bottom:1rem;border-bottom:1px solid var(--mg-line);padding-bottom:.6rem}
.mg-mast h1{font-family:var(--heading);font-weight:400;font-size:clamp(3.4rem,8vw,7.5rem);line-height:.9;letter-spacing:.02em;text-transform:uppercase;color:var(--mg-green);margin:0;text-shadow:3px 3px 0 var(--mg-gold)}
.mg-mast h1 em{display:block;font-family:var(--hindi);font-style:normal;font-size:.38em;color:var(--mg-ink);text-shadow:none;margin-top:.35em;letter-spacing:0;text-transform:none}
.mg-deck{font-family:var(--heading);font-size:clamp(1.3rem,2.2vw,1.7rem);letter-spacing:.08em;text-transform:uppercase;color:var(--mg-green);max-width:46rem;margin:1.2rem auto 0;line-height:1.3}
.mg-legend{display:inline-flex;align-items:center;gap:1.1rem;margin:1.1rem auto 0;padding:.55rem 1.2rem;border:1px solid var(--mg-line);border-radius:999px;background:#fff;font-family:var(--heading);font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mg-mute);flex-wrap:wrap;justify-content:center}
.mg-legend span{display:inline-flex;align-items:center;gap:.4rem}
.mg-legend i{font-style:normal;display:inline-grid;place-items:center;width:20px;height:20px}
.mg-legend i svg{width:20px;height:20px}
.mg-legend-sep{width:1px;height:18px;background:var(--mg-line)}
@media (max-width:767px){.mg-legend{gap:.6rem;font-size:.9rem;padding:.5rem .9rem}.mg-legend-sep{display:none}}
.mg-bar-wrap{position:sticky;top:var(--mm-navh,100px);z-index:30;background:rgba(250,250,250,.94);backdrop-filter:blur(8px);border-top:1px solid var(--mg-line);border-bottom:1px solid var(--mg-line)}
.mg-bar{display:flex;gap:.2rem;overflow-x:auto;scrollbar-width:none;padding:.5rem 0;justify-content:safe center}
.mg-bar::-webkit-scrollbar{display:none}
.mg-bar a{white-space:nowrap;font-family:var(--heading);font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mg-mute);text-decoration:none;padding:.4rem .8rem;border-radius:999px;transition:color .2s,background .2s}
.mg-bar a.is-on{background:var(--mg-green);color:#fff}
/* section */
.mg-sec{padding:3.5rem 0 1.5rem}
.mg-sec-head{text-align:center;max-width:46rem;margin:0 auto 2rem;opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.mg-sec-head.is-in{opacity:1;transform:none}
.mg-sec-head h2{font-family:var(--heading);font-weight:400;font-size:clamp(2.8rem,6vw,5rem);line-height:.92;letter-spacing:.02em;text-transform:uppercase;margin:0;color:var(--mg-green);text-shadow:3px 3px 0 var(--mg-gold)}
.mg-hindi{font-family:var(--hindi);font-size:1.35rem;color:var(--mg-ink);margin:.5rem 0 .6rem}
.mg-intro{font-size:1rem;line-height:1.6;color:#3d4a44;margin:0}
.mg-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem 2.5rem;max-width:68.75rem;margin:0 auto}
.mg-dish{text-align:center;cursor:pointer;opacity:0;transform:translateY(12px);transition:opacity .5s,transform .5s}
.mg-dish.is-in{opacity:1;transform:none}
.mg-dish img{width:84px;height:84px;border-radius:50%;object-fit:cover;display:block;margin:0 auto .6rem;box-shadow:0 6px 14px rgba(0,0,0,.14);border:3px solid #fff;transition:transform .3s}
.mg-dish:hover img{transform:scale(1.08)}
.mg-dish h3{font-family:var(--heading);font-weight:400;font-size:1.5rem;letter-spacing:.06em;text-transform:uppercase;margin:0;line-height:1.05;color:var(--mg-ink);display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap;justify-content:center}
.mg-chilli{display:inline-block;width:18px;height:18px;vertical-align:middle}
.mg-chilli svg{width:100%;height:100%;display:block}
.mg-p{font-family:var(--heading);font-size:1.3rem;letter-spacing:.04em;color:var(--mg-green);margin:.2rem 0 .3rem}
.mg-p small{font-size:.7rem;letter-spacing:.1em;margin-left:.2rem;color:var(--mg-mute);font-family:var(--body-text)}
.mg-p small:first-child{margin:0 .25rem 0 0}
.mg-dish p{margin:.2rem auto 0;font-size:.95rem;line-height:1.5;color:#3d4a44;max-width:21rem}
.mg-tags{display:flex;gap:.35rem;justify-content:center;margin:.1rem 0 .2rem}
.mg-tag{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:.15rem .5rem;border-radius:999px;background:#e4ece6;color:#2f6a3a}
.mg-tag.is-chef{background:#f6e6c8;color:#8a6a1e}
.mg-vars{display:flex;flex-wrap:wrap;gap:.3rem .45rem;margin-top:.45rem;justify-content:center}
.mg-vars span{border:1px solid rgba(51,72,62,.3);border-radius:999px;padding:.1rem .55rem;font-family:var(--heading);font-size:.95rem;color:var(--mg-green)}
.mg-vars em{font-style:normal;font-family:var(--body-text);font-size:.74rem;color:var(--mg-mute)}
.mg-mods{margin-top:.35rem;font-size:.78rem;color:var(--mg-mute);letter-spacing:.02em}
.is-off{opacity:.45}
/* fact strip */
.mg-fact{max-width:760px;margin:2.5rem auto 0;display:flex;gap:1.2rem;align-items:center;background:#fff;border:2px solid var(--mg-ink);border-radius:14px;padding:1.1rem 1.4rem;box-shadow:6px 6px 0 var(--mg-gold);opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.mg-fact.is-in{opacity:1;transform:none}
.mg-fact>*{transition:opacity .45s,transform .45s}
.mg-fact.is-swap>*{opacity:0;transform:translateY(8px)}
.mg-fact::after{content:"";position:absolute;left:1.4rem;right:1.4rem;bottom:-2px;height:3px;background:var(--mg-gold);border-radius:2px;animation:mgBar 6s linear infinite;transform-origin:left}
.mg-fact{position:relative}
@keyframes mgBar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.mg-fact img{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:0 0 84px;border:3px solid #fff;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.mg-fact span{display:block;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--mg-gold);font-weight:700;margin-bottom:.2rem}
.mg-fact p{margin:0;font-size:1.02rem;line-height:1.5;color:#3d4a44}
/* dietary sticker */
.mg-order{position:fixed;right:22px;top:50%;margin-top:-52px;z-index:60;width:104px;height:104px;border-radius:50%;background:var(--mg-green);color:#fff;box-shadow:0 14px 30px rgba(0,0,0,.3);font-family:var(--heading);font-size:1.25rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.05;display:grid;place-items:center;text-align:center;text-decoration:none;transform:rotate(8deg);transition:transform .2s,background .2s;animation:mgPulse 2.6s ease-in-out infinite}
.mg-order::after{content:"";position:absolute;inset:6px;border:2px dashed rgba(201,162,74,.9);border-radius:50%}
.mg-order:hover{transform:rotate(0deg) scale(1.06);background:#2a3b33;color:#fff}
@keyframes mgPulse{0%,100%{box-shadow:0 14px 30px rgba(0,0,0,.3),0 0 0 0 rgba(51,72,62,.35)}50%{box-shadow:0 14px 30px rgba(0,0,0,.3),0 0 0 14px rgba(51,72,62,0)}}
.mg-fab{position:fixed;left:22px;bottom:22px;z-index:60;width:92px;height:92px;border-radius:50%;border:0;background:var(--mg-gold);color:#fff;box-shadow:0 12px 26px rgba(0,0,0,.28);cursor:pointer;font-family:var(--heading);font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.1;display:grid;place-items:center;transform:rotate(-12deg);transition:transform .2s,background .2s}
.mg-fab:hover{transform:rotate(-6deg) scale(1.05)}
.mg-fab.is-active{background:var(--mg-green);color:#fff}
.mg-fab::after{content:"";position:absolute;inset:5px;border:2px dashed rgba(255,255,255,.6);border-radius:50%}
.mg-filters{position:fixed;left:22px;bottom:124px;z-index:60;background:#fff;border:2px solid var(--mg-ink);border-radius:14px;padding:.6rem;display:none;flex-direction:column;gap:.3rem;box-shadow:6px 6px 0 var(--mg-gold)}
.mg-filters.is-open{display:flex}
.mg-filters button{border:0;background:transparent;text-align:left;padding:.5rem .8rem;border-radius:8px;font-family:var(--heading);font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mg-ink);cursor:pointer}
.mg-filters button.is-on{background:var(--mg-green);color:#fff}
/* end */
.mg-end{padding:4rem 0 2rem;text-align:center}
.mg-end h2{font-family:var(--heading);font-weight:400;font-size:clamp(2.6rem,5vw,4.4rem);letter-spacing:.02em;text-transform:uppercase;color:var(--mg-green);text-shadow:3px 3px 0 var(--mg-gold);margin:0 0 .5rem}
.mg-end p{font-size:1.05rem;color:#3d4a44;margin:0 auto 1.5rem;max-width:36rem}
.mg-end .kd-button-group{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
.mg-end .kd-button-group a{width:220px;height:52px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;font-family:var(--heading);font-size:1.15rem;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;border:2px solid var(--mg-green);box-sizing:border-box}
.mg-end .kd-button-group a.kd-button{background:var(--mg-green);color:#fff}
.mg-end .kd-button-group a.kd-button-secondary{color:var(--mg-green);background:transparent}
@media (max-width:991px){.mg-grid{grid-template-columns:1fr 1fr;gap:1.8rem 1.5rem}}
@media (max-width:767px){
 .mg-grid{grid-template-columns:1fr;gap:1.4rem}
 .mg-sec{padding:2.5rem 0 1rem}
 .mg-mast .mg-issue{font-size:.6rem}
 .mg-fab{width:74px;height:74px;font-size:.78rem;left:12px;bottom:12px}
 .mg-filters{left:12px;bottom:96px}
 .mg-order{width:84px;height:84px;font-size:1rem;right:10px;top:auto;bottom:12px;margin-top:0}
 .mg-fact{flex-direction:column;text-align:center;margin:2rem 0 0}
}
