/* ===== Meez The House — styles ===== */
:root{
  --cream:#FBF5EA; --paper:#FFFDF8; --sand:#F1E4D1; --ink:#1D1A17; --ink2:#4a423a;
  --red:#E4502F; --red-d:#B93A1F; --green:#2F6B45; --green-d:#173D2A; --mustard:#F2B33D;
  --blue:#7D8EE6; --pink:#EE8FA2; --wood:#8A5A33; --wa:#25D366;
  --ar-display:"Reem Kufi",system-ui,sans-serif; --ar-hand:"Marhey",system-ui,sans-serif;
  --body:"Readex Pro",system-ui,sans-serif; --en-hand:"Caveat",cursive;
  --r:22px; --gutter:clamp(16px,5vw,40px);
  --ease:cubic-bezier(.2,.8,.2,1); --spring:cubic-bezier(.34,1.56,.64,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
main,footer{overflow-x:clip}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.75;overflow-x:hidden;-webkit-tap-highlight-color:transparent}
img{max-width:100%;display:block}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
.wrap{width:100%;max-width:1160px;margin:0 auto;padding:0 var(--gutter)}
.muted{color:var(--ink2);opacity:.8}.small{font-size:.85rem}
.hidden{display:none!important}
html[lang=en] body{line-height:1.6}

/* headings */
.kicker{font-family:var(--ar-hand);color:var(--red);font-size:1.05rem;margin:0 0 .4rem;letter-spacing:0}
html[lang=en] .kicker{font-family:var(--en-hand);font-size:1.45rem;font-weight:700}
.kicker--light{color:var(--mustard)}
.h2{font-family:var(--ar-display);font-weight:700;font-size:clamp(2rem,7.5vw,3.4rem);line-height:1.2;margin:0 0 1rem;text-wrap:balance}
html[lang=en] .h2{font-family:"Readex Pro",sans-serif;font-weight:600;letter-spacing:-.02em}
.h2--light{color:var(--paper)}
.scribble{position:relative;white-space:nowrap;color:var(--red)}
.scribble::after{content:"";position:absolute;inset:auto -4% -.12em -4%;height:.35em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 20' preserveAspectRatio='none'%3E%3Cpath d='M2 14 C40 4 80 18 120 8 S180 6 198 12' fill='none' stroke='%23F2B33D' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;z-index:-1;transform-origin:right;transform:scaleX(0);transition:transform 1s .3s var(--ease)}
html[dir=ltr] .scribble::after{transform-origin:left}
.in .scribble::after,.scribble.in::after{transform:scaleX(1)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:52px;padding:.7rem 1.5rem;border-radius:999px;border:2px solid var(--ink);font-weight:600;text-decoration:none;font-size:1rem;transition:transform .25s var(--spring),box-shadow .25s;box-shadow:4px 4px 0 var(--ink);background:var(--paper)}
.btn:active{transform:translate(3px,3px);box-shadow:1px 1px 0 var(--ink)}
@media (hover:hover){.btn:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}}
.btn--red{background:var(--red);color:#fff}
.btn--yellow{background:var(--mustard)}
.btn--ghost{background:transparent;box-shadow:none}
.btn b{display:inline-block;transition:transform .3s}
html[dir=ltr] .btn b{transform:scaleX(-1)}

/* ===== progress camel ===== */
.progress{position:fixed;top:0;inset-inline:0;height:4px;z-index:60;pointer-events:none}
.progress__track{position:absolute;inset:0;background:linear-gradient(90deg,var(--red),var(--mustard));transform-origin:right;transform:scaleX(var(--p,0))}
html[dir=ltr] .progress__track{transform-origin:left}
.progress__camel{position:absolute;top:2px;width:30px;inset-inline-start:calc(var(--p,0) * (100% - 30px));transition:opacity .3s;opacity:var(--po,0)}
html[dir=rtl] .progress__camel svg{transform:none}
html[dir=ltr] .progress__camel svg{transform:scaleX(-1)}
.progress.walking .lg.a{animation:leg .35s infinite alternate}
.progress.walking .lg.b{animation:leg .35s infinite alternate-reverse}

/* ===== topbar ===== */
.topbar{position:fixed;top:0;inset-inline:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + env(safe-area-inset-top)) var(--gutter) 10px;transition:background .3s,box-shadow .3s,transform .4s var(--ease)}
.topbar.solid{background:rgba(251,245,234,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(29,26,23,.08)}
.topbar.hide{transform:translateY(-110%)}
.brand{display:flex;align-items:center;gap:.4rem;text-decoration:none}
.brand__ar{font-family:var(--ar-display);font-weight:700;font-size:2rem;line-height:1;color:var(--ink)}
.brand__en{font-size:.62rem;line-height:1.05;font-weight:500;color:var(--ink)}
.brand__en b{font-weight:600}
.topbar__actions{display:flex;align-items:center;gap:.5rem}
.status{display:none;align-items:center;gap:.4rem;font-size:.78rem;padding:.3rem .7rem;border-radius:999px;background:var(--paper);border:1.5px solid var(--ink)}
.status i{width:8px;height:8px;border-radius:50%;background:#aaa}
.status.open i{background:#2fb65a;box-shadow:0 0 0 0 rgba(47,182,90,.6);animation:ping 1.8s infinite}
.status.closed i{background:var(--red)}
@media (min-width:380px){.status{display:inline-flex}}
.lang,.burger{width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);display:grid;place-items:center;font-weight:600;font-size:.9rem;transition:transform .3s var(--spring)}
.lang:active,.burger:active{transform:scale(.9)}
.lang span{font-family:var(--ar-display)}
html[lang=ar] .lang span{font-family:var(--body)}
.burger{gap:5px;align-content:center}
.burger span{display:block;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .35s var(--ease)}
.burger[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.burger[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* drawer */
.drawer{position:fixed;inset:0;z-index:45;background:rgba(23,61,42,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:center;padding:90px var(--gutter) 110px;opacity:0;pointer-events:none;transition:opacity .35s}
.drawer.open{opacity:1;pointer-events:auto}
.drawer__napkin{width:min(360px,100%);background:var(--paper);border-radius:6px;padding:2rem 1.6rem 1.4rem;display:flex;flex-direction:column;gap:.2rem;text-align:center;box-shadow:0 30px 60px rgba(0,0,0,.25);transform:rotate(-3deg) translateY(30px) scale(.9);transition:transform .5s var(--spring);background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1.4px);background-size:6px 6px}
.drawer.open .drawer__napkin{transform:rotate(-2deg)}
.drawer__title{font-family:var(--ar-hand);color:var(--green);font-size:1.4rem;margin:0 0 .6rem;border-bottom:2px solid var(--green);padding-bottom:.3rem;align-self:center}
html[lang=en] .drawer__title{font-family:var(--en-hand);font-size:1.8rem}
.drawer a,.drawer__game{font-family:var(--ar-hand);font-size:1.3rem;text-decoration:none;padding:.35rem;border:0;background:none}
html[lang=en] .drawer a,html[lang=en] .drawer__game{font-family:var(--en-hand);font-size:1.7rem;font-weight:700}
.drawer__game{color:var(--red)}
.drawer__logo{font-family:var(--ar-display);font-weight:700;color:var(--red);font-size:2rem;margin-top:.6rem}

/* ===== HERO ===== */
.hero{position:relative;min-height:100svh;display:grid;align-content:center;gap:0;padding:calc(72px + env(safe-area-inset-top)) var(--gutter) 70px;overflow:hidden;isolation:isolate}
.hero__wash{position:absolute;inset:-10%;z-index:-1;background:
  radial-gradient(40% 30% at 20% 20%,rgba(238,143,162,.25),transparent 70%),
  radial-gradient(45% 35% at 85% 30%,rgba(242,179,61,.25),transparent 70%),
  radial-gradient(50% 30% at 50% 90%,rgba(125,142,230,.2),transparent 70%),var(--cream)}
.hero__scene{position:relative;width:min(100%,430px);margin:0 auto;justify-self:center}
.balcony{width:100%;height:auto;overflow:visible;display:block;max-height:58svh}
.ink{stroke:var(--ink);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.loops ellipse{fill:none}
.railing circle{fill:none}.railing .fin{fill:var(--ink)}
.railing path{stroke-width:2.2}.railing .rail{stroke-width:2.6}
.slats{stroke:#1d1a17;stroke-width:1.5;fill:none;opacity:.85}
.inside__logo{font-family:var(--ar-display);font-weight:700;font-size:68px;fill:#FFF1CF}
.inside__sub{font-family:"Readex Pro";font-size:12px;fill:#FFE6B0;letter-spacing:.08em}
.inside__lamp{transform-box:fill-box;transform-origin:50% 0;animation:swing 4s ease-in-out infinite}
.shutter{transform-box:fill-box;transition:transform 1.4s var(--ease)}
.shutter--l{transform-origin:0% 50%}
.shutter--r{transform-origin:100% 50%}
.hero.opened .shutter--l{transform:perspective(600px) scaleX(.16) skewY(8deg)}
.hero.opened .shutter--r{transform:perspective(600px) scaleX(.16) skewY(-8deg)}
.shutter,.inside{cursor:pointer}
.lantern{transform-box:view-box}
.lantern--l{transform-origin:40px 40px;animation:swing 3.2s ease-in-out infinite}
.lantern--r{transform-origin:360px 40px;animation:swing 3.6s ease-in-out infinite reverse}
.lantern rect[fill="#f7d98a"]{animation:flicker 2.4s infinite}
.plant{transform-box:fill-box;transform-origin:50% 100%;animation:sway 5s ease-in-out infinite}
.plant--orange{animation-duration:6s;animation-delay:-2s}.plant--bush{animation-duration:5.5s;animation-delay:-1s}
.teapot{cursor:pointer;outline:none}
.teapot--y{transform-box:view-box;transform-origin:130px 446px;animation:swing 3s ease-in-out infinite}
.teapot--p{transform-box:view-box;transform-origin:272px 446px;animation:swingBig 2.4s ease-in-out infinite}
.teapot:focus-visible>g{filter:drop-shadow(0 0 6px var(--red))}
.teapot.jiggle{animation:jiggle .6s var(--spring)}
.steam path{fill:none;stroke:#b9b0a4;stroke-width:2;stroke-linecap:round;opacity:0}
.teapot--y.puff .steam path{animation:steam 1.4s ease-out}
.teapot--y.puff .steam path+path{animation-delay:.2s}
.tag__card{transform-box:fill-box;transform-origin:10% 20%;animation:tag 2.4s ease-in-out infinite}
.tag__txt{font-family:var(--ar-hand);font-weight:700;font-size:17px;fill:var(--red)}
html[lang=en] .tag__txt{font-family:var(--en-hand);font-size:21px}
.hero__hint{position:absolute;top:47%;inset-inline:0;margin:auto;width:max-content;font-family:var(--ar-hand);font-size:.85rem;background:var(--ink);color:#fff;padding:.25rem .8rem;border-radius:999px;opacity:0;transform:translateY(8px);transition:.4s;pointer-events:none}
html[lang=en] .hero__hint{font-family:var(--body);font-size:.78rem}
.hero.hint .hero__hint{opacity:1;transform:none}

.hero__copy{text-align:center;max-width:560px;margin:.4rem auto 0}
.hero__title{font-family:var(--ar-display);font-weight:700;font-size:clamp(2.1rem,9vw,4rem);line-height:1.15;margin:.2rem 0 .8rem;text-wrap:balance}
.hero__title em{font-style:normal;color:var(--red)}
html[lang=en] .hero__title{font-family:"Readex Pro";font-weight:600;letter-spacing:-.03em}
html[lang=en] .hero__title em{font-family:var(--en-hand);font-weight:700;font-size:1.2em;letter-spacing:0}
.hero__lead{margin:0 auto 1.3rem;max-width:44ch;color:var(--ink2)}
.hero__ctas{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
.hero__rating{margin-top:1.1rem;font-size:.9rem;display:flex;gap:.5rem;align-items:center;justify-content:center;flex-wrap:wrap}
.stars{color:var(--mustard);letter-spacing:2px;-webkit-text-stroke:.6px var(--ink)}
.hero__copy>*{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.hero.ready .hero__copy>*{opacity:1;transform:none}
.hero.ready .hero__copy>*:nth-child(2){transition-delay:.1s}.hero.ready .hero__copy>*:nth-child(3){transition-delay:.2s}.hero.ready .hero__copy>*:nth-child(4){transition-delay:.3s}.hero.ready .hero__copy>*:nth-child(5){transition-delay:.4s}
.scrollcue{position:absolute;bottom:92px;inset-inline:0;margin:auto;width:26px;height:42px;border:2px solid var(--ink);border-radius:20px;display:none}
.scrollcue span{position:absolute;top:8px;left:50%;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--ink);animation:cue 1.6s infinite}
@media (min-width:900px){
  .hero{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;padding-inline:max(var(--gutter),calc((100vw - 1200px)/2))}
  .hero__copy{text-align:start;margin:0}
  .hero__ctas,.hero__rating{justify-content:flex-start}
  .hero__lead{margin-inline:0}
  .balcony{max-height:82svh}
  .hero__scene{width:min(100%,520px)}
  .scrollcue{display:block;bottom:36px}
}

/* ===== ribbon ===== */
.ribbon{position:relative;background:var(--red);color:#fff;border-block:2px solid var(--ink);overflow:hidden;padding:.9rem 0 1.1rem;transform:rotate(-1.5deg) scaleX(1.04);z-index:2}
.ribbon__track{display:flex;width:max-content;animation:marquee 32s linear infinite}
html[dir=ltr] .ribbon__track{animation-name:marqueeL}
.ribbon__row{display:flex;gap:1.4rem;padding-inline-end:1.4rem;white-space:nowrap;font-family:var(--ar-hand);font-size:1.3rem;align-items:center}
html[lang=en] .ribbon__row{font-family:var(--en-hand);font-size:1.7rem;font-weight:700}
.ribbon__row i{font-style:normal;color:var(--mustard)}
.ribbon__camel{position:absolute;bottom:-4px;width:54px;animation:camelWalk 16s linear infinite;left:0}
.ribbon__camel .lg.a{animation:leg .4s infinite alternate}
.ribbon__camel .lg.b{animation:leg .4s infinite alternate-reverse}
html[dir=ltr] .ribbon__camel svg{transform:scaleX(-1)}

/* ===== story ===== */
section{position:relative}
.story{padding:110px 0 90px;overflow:hidden}
.lamp{position:absolute;top:0;width:90px;height:150px;transform-origin:50% 0;animation:swing 4.5s ease-in-out infinite;pointer-events:none;z-index:1}
.lamp::before{content:"";position:absolute;left:50%;top:0;width:1.5px;height:70px;background:#3a2a18}
.lamp::after{content:"";position:absolute;top:66px;left:0;width:90px;height:56px;border-radius:50%;background:repeating-linear-gradient(45deg,transparent 0 5px,rgba(120,80,30,.55) 5px 6.5px),repeating-linear-gradient(-45deg,transparent 0 5px,rgba(120,80,30,.55) 5px 6.5px),radial-gradient(circle at 50% 70%,#fff3c4,#e9b96b 60%);box-shadow:0 20px 50px 10px rgba(255,210,120,.35)}
.lamp--a{inset-inline-end:8%}.lamp--b{inset-inline-end:26%;transform:scale(.7);animation-delay:-2s;top:-20px}
.story__grid{display:grid;gap:3rem}
.story__text p{color:var(--ink2);max-width:52ch}
.facts{list-style:none;padding:0;margin:1.8rem 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.facts li{background:var(--paper);border:2px solid var(--ink);border-radius:18px;padding:.9rem .5rem;text-align:center;box-shadow:3px 3px 0 var(--ink)}
.facts li:nth-child(2){transform:rotate(-2deg)}.facts li:nth-child(3){transform:rotate(1.5deg)}
.facts b{display:block;font-family:var(--ar-display);font-size:1.7rem;line-height:1.2;color:var(--red);direction:ltr}
.facts b.hrs{direction:inherit;font-size:1.35rem;white-space:nowrap}
.facts b small{font-size:.55em;font-family:var(--body)}
.facts span{font-size:.78rem;line-height:1.3;display:block}
.story__art{position:relative;height:clamp(420px,110vw,560px)}
.arch{margin:0;position:absolute;overflow:hidden;border:3px solid var(--ink);border-radius:999px 999px 18px 18px;background:var(--sand);box-shadow:8px 8px 0 var(--green)}
.arch img{width:100%;height:100%;object-fit:cover;transform:scale(1.15) translateY(var(--py,0));transition:transform .1s linear}
.arch--tall{inset-inline-start:0;top:0;width:66%;height:88%}
.arch--small{inset-inline-end:0;bottom:0;width:46%;height:52%;box-shadow:6px 6px 0 var(--mustard);transform:rotate(4deg)}
.sticker{position:absolute;inset-inline-end:6%;top:6%;width:104px;height:104px;border-radius:50%;background:var(--mustard);border:2px solid var(--ink);display:grid;place-items:center;text-align:center;font-family:var(--ar-hand);font-size:.9rem;line-height:1.2;animation:spin 14s linear infinite;box-shadow:3px 3px 0 var(--ink)}
html[lang=en] .sticker{font-family:var(--en-hand);font-size:1.2rem;font-weight:700}
@media (min-width:900px){.story__grid{grid-template-columns:1.05fr 1fr;align-items:center}.story__art{height:600px}}

/* ===== rules ===== */
.rules{background:var(--green-d);color:#E9E3D6;padding:100px 0 110px;overflow:hidden;isolation:isolate}
.rules::before{content:"";position:absolute;inset:0;background:url(assets/wallpaper.svg) 0 0/120px;opacity:.09;z-index:-1}
.rules::after{content:"";position:absolute;inset:auto 0 0;height:34%;z-index:-1;background:linear-gradient(transparent,rgba(0,0,0,.25)),repeating-linear-gradient(90deg,#1f4a33 0 110px,#163c29 110px 114px)}
.rules__grid{display:grid;gap:2.5rem;align-items:center}
.rules__intro p{max-width:40ch}
.rules__dots{display:flex;gap:6px;margin-top:1rem}
.rules__dots i{width:26px;height:6px;border-radius:3px;background:rgba(255,255,255,.2);transition:.3s}
.rules__dots i.on{background:var(--mustard);width:40px}
.napkins{position:relative;height:430px;width:min(100%,330px);margin:0 auto;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.napkin{position:absolute;inset:0;background:#FFFDF6;color:var(--ink);border-radius:4px;padding:2rem 1.4rem 1.2rem;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 18px 40px rgba(0,0,0,.35);transition:transform .6s var(--spring),opacity .4s;background-image:radial-gradient(rgba(0,0,0,.05) 1px,transparent 1.5px),linear-gradient(#fff0,#fff0);background-size:5px 5px;cursor:grab;will-change:transform}
.napkin::before{content:"";position:absolute;inset:10px;border:1px dashed rgba(0,0,0,.08);border-radius:2px;pointer-events:none}
.napkin__head{font-family:var(--ar-hand);color:var(--green);font-size:1.9rem;line-height:1.3;border-bottom:2.5px solid var(--green);padding:0 .6rem .1rem;margin-bottom:.8rem}
html[lang=en] .napkin__head{font-family:var(--en-hand);font-size:2.3rem;font-weight:700}
.napkin__n{font-family:var(--body);font-size:.75rem;opacity:.5;margin-bottom:.5rem}
.napkin__doodle{width:120px;height:120px;margin:.3rem 0 .6rem}
.napkin__doodle *{vector-effect:non-scaling-stroke}
.napkin__rule{font-family:var(--ar-hand);font-size:2rem;line-height:1.35;font-weight:600}
html[lang=en] .napkin__rule{font-family:var(--en-hand);font-size:2.4rem;font-weight:700;text-transform:none}
.napkin__sub{font-size:.88rem;color:var(--ink2);margin:.4rem 0 0}
.napkin__logo{margin-top:auto;font-family:var(--ar-display);font-weight:700;color:var(--red);font-size:1.6rem;line-height:1}
.napkin.dragging{transition:none;cursor:grabbing}
.napkin.fly{opacity:0}
@media (min-width:900px){.rules__grid{grid-template-columns:1fr 1fr}}

/* ===== menu plates ===== */
.menu{padding:100px 0 60px;overflow:hidden}
.menu__sub{color:var(--ink2);margin:0}
.plates{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding:2rem max(var(--gutter),calc((100vw - 1160px)/2 + var(--gutter))) 2.5rem;scrollbar-width:none;overscroll-behavior-x:contain}
.plates::-webkit-scrollbar{display:none}
.plate{flex:0 0 min(78vw,320px);scroll-snap-align:center;perspective:1000px;background:none;border:0;padding:0;text-align:inherit}
.plate__inner{position:relative;transition:transform .8s var(--spring);transform-style:preserve-3d;aspect-ratio:1/1.32}
.plate.flip .plate__inner{transform:rotateY(180deg)}
.plate__face,.plate__back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:28px}
.plate__face{display:flex;flex-direction:column;align-items:center}
.bowl{position:relative;width:92%;aspect-ratio:1;border-radius:50%;background:#FFFEFB;box-shadow:inset 0 -6px 12px rgba(0,0,0,.06),0 16px 30px rgba(60,40,20,.18);display:grid;place-items:center;border:2px solid var(--ink)}
.bowl__rim{position:absolute;inset:0;border-radius:50%;transform:rotate(var(--rot,0deg));transition:transform .2s linear}
.bowl__rim svg{position:absolute;width:20px;height:28px;left:50%;top:50%;margin:-14px -10px;overflow:visible}
.bowl img{width:80%;height:80%;border-radius:50%;object-fit:cover;border:2px solid rgba(29,26,23,.15)}
.bowl__steam{position:absolute;top:-8%;left:50%;width:60px;height:60px;margin-left:-30px;pointer-events:none}
.bowl__steam i{position:absolute;bottom:0;width:6px;height:40px;border-radius:6px;background:linear-gradient(transparent,rgba(255,255,255,.9));filter:blur(3px);opacity:0}
.plate.steaming .bowl__steam i{animation:steamUp 1.6s ease-out}
.bowl__steam i:nth-child(1){left:14px}.bowl__steam i:nth-child(2){left:28px;animation-delay:.15s!important}.bowl__steam i:nth-child(3){left:42px;animation-delay:.3s!important}
.plate__name{font-family:var(--ar-display);font-weight:700;font-size:1.35rem;margin:1rem 0 0;text-align:center;line-height:1.3}
html[lang=en] .plate__name{font-family:"Readex Pro";font-weight:600;font-size:1.15rem}
.plate__tap{font-size:.78rem;color:var(--red);font-weight:500}
.plate__back{transform:rotateY(180deg);background:var(--paper);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--c,var(--mustard));padding:1.6rem 1.4rem;display:flex;flex-direction:column;justify-content:center;gap:.6rem}
.plate__back h3{font-family:var(--ar-display);font-size:1.6rem;margin:0;line-height:1.25}
html[lang=en] .plate__back h3{font-family:"Readex Pro";font-weight:600;font-size:1.35rem}
.plate__back p{margin:0;color:var(--ink2)}
.plate__back .pill{align-self:flex-start;font-size:.75rem;padding:.2rem .7rem;border-radius:999px;background:var(--c,var(--mustard));border:1.5px solid var(--ink);font-weight:500}
.menu__foot{text-align:center}

/* ===== place gallery ===== */
.place{padding:70px 0 100px;background:linear-gradient(var(--cream),var(--sand))}
.gallery{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.8rem}
.g{margin:0;position:relative;overflow:hidden;border-radius:20px;border:2px solid var(--ink);background:#ddd}
.g img{width:100%;height:100%;object-fit:cover;transform:scale(1.12) translateY(var(--py,0))}
.g figcaption{position:absolute;inset:auto .5rem .5rem;background:rgba(255,253,248,.92);border-radius:12px;padding:.35rem .6rem;font-size:.75rem;line-height:1.35;border:1.5px solid var(--ink);transform:translateY(130%);transition:transform .5s var(--spring)}
.g.in figcaption{transform:none;transition-delay:.4s}
.g1{grid-column:span 2;aspect-ratio:4/3;border-radius:999px 999px 20px 20px}
.g2{aspect-ratio:3/4}.g3{aspect-ratio:3/4;margin-top:2rem}
.g4{aspect-ratio:3/4;margin-top:-2rem}.g5{aspect-ratio:3/4}
.g6{grid-column:span 2;aspect-ratio:16/10}
@media (min-width:900px){.gallery{grid-template-columns:repeat(4,1fr);gap:1rem}.g1{grid-row:span 2;aspect-ratio:auto}.g6{aspect-ratio:auto}.g3{margin-top:0}.g4{margin-top:0}}

/* ===== teaser ===== */
.teaser{padding:40px 0 90px;background:var(--sand)}
.teaser__box{background:var(--red);color:#fff;border:2px solid var(--ink);border-radius:32px;padding:2rem 1.5rem;display:grid;gap:1rem;box-shadow:8px 8px 0 var(--ink);position:relative;overflow:hidden}
.teaser__box::before{content:"";position:absolute;inset:0;background:url(assets/wallpaper.svg) 0 0/100px;opacity:.12}
.teaser__box>*{position:relative}
.teaser__box p{max-width:42ch}
.teaser__art{width:150px;justify-self:center}
.teaser__stream{stroke-dasharray:60;animation:pourDash 1.2s linear infinite}
@media (min-width:760px){.teaser__box{grid-template-columns:200px 1fr;align-items:center;padding:2.5rem}.teaser__art{width:190px}}

/* ===== visit ===== */
.visit{padding:100px 0 140px}
.visit__grid{display:grid;gap:2rem}
.addr{font-weight:500;font-size:1.05rem}
.hours{width:100%;border-collapse:collapse;margin:.6rem 0;font-size:.93rem}
.hours td{padding:.55rem .2rem;border-bottom:1.5px dashed rgba(29,26,23,.18)}
.hours td:last-child{text-align:end;direction:ltr;unicode-bidi:plaintext}
html[dir=rtl] .hours td:last-child{text-align:left}
.hours tr.today td{font-weight:600;color:var(--red)}
.hours tr.today td:first-child::after{content:" •";}
.visit__btns{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}
.visit__map{position:relative;border:2px solid var(--ink);border-radius:28px;overflow:hidden;min-height:340px;box-shadow:8px 8px 0 var(--green)}
.visit__map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:saturate(.85) sepia(.12)}
.map__pin{position:absolute;top:12px;inset-inline-start:12px;background:var(--red);color:#fff;font-family:var(--ar-display);font-weight:700;padding:.2rem .9rem;border-radius:999px;border:2px solid var(--ink);animation:bob 2s ease-in-out infinite}
@media (min-width:900px){.visit__grid{grid-template-columns:1fr 1.1fr;align-items:stretch}}

/* ===== footer ===== */
.footer{position:relative;background:var(--ink);color:#e9e2d4;padding:70px 0 130px;overflow:hidden;text-align:center}
.footer__pattern{position:absolute;inset:0;background:url(assets/wallpaper.svg) 0 0/120px;opacity:.1}
.footer__inner{position:relative}
.footer__logo{font-family:var(--ar-display);font-weight:700;font-size:4rem;color:var(--red);line-height:1}
.footer__inner p{margin:.8rem 0}
.footer__links{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap}
.footer__links a{text-decoration:none;border-bottom:1.5px solid var(--mustard)}

/* ===== dock ===== */
.dock{position:fixed;inset:auto 0 0;z-index:40;display:flex;align-items:center;justify-content:center;gap:.7rem;padding:10px var(--gutter) calc(12px + env(safe-area-inset-bottom));pointer-events:none;transform:translateY(130%);transition:transform .5s var(--spring)}
.dock.show{transform:none}
.dock>*{pointer-events:auto}
.dock__wa,.dock__game{width:58px;height:58px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;box-shadow:3px 3px 0 var(--ink);position:relative;transition:transform .25s var(--spring)}
.dock__wa{background:var(--wa)}
.dock__wa svg{width:30px}
.dock__wa::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--wa);animation:ring 2.4s infinite}
.dock__reserve{height:58px;padding:0 1.6rem;border-radius:999px;background:var(--red);color:#fff;border:2px solid var(--ink);display:grid;place-items:center;font-weight:600;text-decoration:none;box-shadow:3px 3px 0 var(--ink);font-size:1rem;white-space:nowrap}
.dock__game{background:var(--mustard);animation:swingBig 2.4s ease-in-out infinite;transform-origin:50% -20px}
.dock__game svg{width:38px;margin-top:4px}
.dock__steam{position:absolute;top:-20px;left:50%;width:20px;margin-left:-10px;height:22px}
.dock__steam i{position:absolute;bottom:0;width:4px;height:16px;border-radius:4px;background:#c9c0b3;animation:steamUp 2s infinite ease-out}
.dock__steam i+i{left:10px;animation-delay:.7s}
.dock__wa:active,.dock__game:active,.dock__reserve:active{transform:scale(.92)}
@media (min-width:900px){.dock{justify-content:flex-end}.dock__reserve{display:none}}
.wa-sheet{position:fixed;z-index:41;bottom:calc(86px + env(safe-area-inset-bottom));inset-inline:var(--gutter);max-width:380px;background:var(--paper);border:2px solid var(--ink);border-radius:24px;padding:1rem;box-shadow:6px 6px 0 var(--ink);transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;transition:.35s var(--spring);transform-origin:bottom center}
@media (min-width:900px){.wa-sheet{inset-inline-start:auto}}
.wa-sheet.open{transform:none;opacity:1;pointer-events:auto}
.wa-sheet__title{margin:0 0 .6rem;font-family:var(--ar-hand);font-size:1.2rem;color:var(--green)}
html[lang=en] .wa-sheet__title{font-family:var(--en-hand);font-size:1.6rem;font-weight:700}
.wa-sheet a{display:flex;gap:.7rem;align-items:center;padding:.75rem .8rem;border-radius:14px;text-decoration:none;background:#EEF9F1;margin-top:.45rem;border:1.5px solid rgba(29,26,23,.1);font-size:.93rem;line-height:1.4;transition:background .2s}
.wa-sheet a:active{background:#d5f2de}
.wa-sheet a span:first-child{font-size:1.3rem}

/* ===== reveal ===== */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.facts li.reveal.in:nth-child(2){transform:rotate(-2deg)}.facts li.reveal.in:nth-child(3){transform:rotate(1.5deg)}
.arch--small.in{}

/* ===== GAME ===== */
.game{position:fixed;inset:0;z-index:100;background:#173D2A;opacity:0;pointer-events:none;transition:opacity .35s;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.game.open{opacity:1;pointer-events:auto}
#gc{position:absolute;inset:0;width:100%;height:100%;display:block}
.game__hud{position:absolute;top:calc(10px + env(safe-area-inset-top));inset-inline:12px;display:flex;align-items:center;gap:.6rem;z-index:2}
.game__close,.game__mute{width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:var(--paper);font-size:1rem;display:grid;place-items:center}
.game__score{background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:.35rem 1rem;font-size:.9rem;display:flex;gap:.4rem;align-items:center}
.game__score b{font-family:var(--ar-display);font-size:1.3rem;color:var(--red);min-width:2ch;text-align:center;display:inline-block}
.game__score b.bump{animation:bump .4s var(--spring)}
.game__lives{display:flex;gap:4px;margin-inline-start:auto}
.game__lives i{width:18px;height:18px;border-radius:4px;background:#fff;border:2px solid var(--ink);transform:rotate(12deg);transition:.3s}
.game__lives i.off{opacity:.2;transform:rotate(40deg) scale(.6)}
.game__panel{position:absolute;inset:auto 16px calc(24px + env(safe-area-inset-bottom));margin:auto;max-width:400px;background:var(--paper);border:2px solid var(--ink);border-radius:28px;padding:1.6rem 1.4rem;text-align:center;box-shadow:8px 8px 0 var(--ink);z-index:3;animation:pop .5s var(--spring)}
@media (min-height:700px){.game__panel{top:50%;bottom:auto;transform:translateY(-50%);animation:none}}
.game__logo{width:90px;margin:-70px auto .3rem;display:block;animation:swing 2s ease-in-out infinite;filter:drop-shadow(0 6px 0 rgba(0,0,0,.15))}
.game__panel h3{font-family:var(--ar-display);font-size:2.2rem;margin:0;color:var(--red)}
html[lang=en] .game__panel h3{font-family:var(--en-hand);font-size:2.8rem}
.game__how{text-align:start;padding-inline-start:1.3rem;margin:.8rem 0 1.2rem;font-size:.93rem;line-height:1.6}
.game__best{font-size:.85rem;margin:.8rem 0 0;color:var(--ink2)}
.game__verdict{font-family:var(--ar-hand);font-size:1.7rem;margin:0;color:var(--green)}
html[lang=en] .game__verdict{font-family:var(--en-hand);font-size:2.2rem;font-weight:700}
.game__final{margin:.2rem 0 0;display:flex;align-items:baseline;justify-content:center;gap:.4rem}
.game__final b{font-family:var(--ar-display);font-size:4rem;line-height:1;color:var(--red)}
.game__btns{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.game__cta{display:inline-block;margin-top:1rem;font-weight:600;color:var(--red);font-size:.95rem}

/* ===== keyframes ===== */
@keyframes swing{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
@keyframes swingBig{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@keyframes sway{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
@keyframes tag{0%,100%{transform:rotate(-8deg)}50%{transform:rotate(6deg)}}
@keyframes jiggle{0%{transform:rotate(0)}25%{transform:rotate(-14deg)}50%{transform:rotate(10deg)}75%{transform:rotate(-5deg)}100%{transform:rotate(0)}}
@keyframes flicker{0%,100%{opacity:.9}45%{opacity:.7}50%{opacity:1}70%{opacity:.8}}
@keyframes steam{0%{opacity:0;transform:translateY(0)}30%{opacity:.9}100%{opacity:0;transform:translateY(-26px)}}
@keyframes steamUp{0%{opacity:0;transform:translateY(0) scaleY(.6)}30%{opacity:.8}100%{opacity:0;transform:translateY(-30px) scaleY(1.2)}}
@keyframes marquee{to{transform:translateX(50%)}}
@keyframes marqueeL{to{transform:translateX(-50%)}}
@keyframes camelWalk{from{transform:translateX(calc(100vw + 60px))}to{transform:translateX(-80px)}}
html[dir=ltr] .ribbon__camel{animation-name:camelWalkL}
@keyframes camelWalkL{from{transform:translateX(-80px)}to{transform:translateX(calc(100vw + 60px))}}
@keyframes leg{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}
.lg{transform-box:fill-box;transform-origin:50% 0}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(47,182,90,.6)}100%{box-shadow:0 0 0 8px rgba(47,182,90,0)}}
@keyframes ring{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.35);opacity:0}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes cue{0%{opacity:0;transform:translateY(0)}40%{opacity:1}100%{opacity:0;transform:translateY(14px)}}
@keyframes pourDash{to{stroke-dashoffset:-120}}
@keyframes bump{50%{transform:scale(1.5)}}
@keyframes pop{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
