:root{
 --red:#B82020; --red-hi:#F23A33; --ink:#0B0B0B; --ink-2:#161413; --paper:#F3EEE6; --paper-2:#E9E2D6; --card:#FBF8F3;
 --grey:#C4BBAB; --stone:#5E5A57; --muted:#6B645C;
 --ar:"Tajawal",system-ui,sans-serif; --disp:"Bebas Neue","Tajawal",sans-serif; --serif:"Playfair Display",Georgia,serif; --script:"Great Vibes",cursive; --jp:"Noto Serif JP",serif;
 --r:22px; --pad:clamp(16px,4vw,40px); --max:1240px;
 --shadow:0 22px 50px -26px rgba(11,11,11,.55);
 --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .08 0 0 0 0 .06 0 0 0 .5 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
 --flower:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23B82020'%3E%3Ccircle cx='12' cy='6' r='4.2'/%3E%3Ccircle cx='18' cy='12' r='4.2'/%3E%3Ccircle cx='12' cy='18' r='4.2'/%3E%3Ccircle cx='6' cy='12' r='4.2'/%3E%3Ccircle cx='12' cy='12' r='2.4' fill='%23F3EEE6'/%3E%3C/svg%3E");
}
*{box-sizing:border-box}
html{overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:128px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:500 16px/1.7 var(--ar);overflow-x:clip;position:relative}
body::before{content:"";position:fixed;inset:0;background:var(--grain);opacity:.28;pointer-events:none;z-index:0;mix-blend-mode:multiply}
main,header,footer{position:relative;z-index:1}
.top{z-index:40}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;cursor:pointer}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad);position:relative}
.skip{position:fixed;inset-inline-start:16px;top:-80px;background:var(--ink);color:#fff;padding:8px 14px;border-radius:10px;z-index:99}
.skip:focus{top:8px}
:focus-visible{outline:3px solid var(--red-hi);outline-offset:3px;border-radius:8px}

/* header */
.top{position:sticky;top:0;background:rgba(243,238,230,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(11,11,11,.08)}
.top__in{max-width:var(--max);margin:0 auto;padding:10px var(--pad);display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.brand img{width:48px;height:48px;flex:none}
.brand__name{font:400 26px/1 var(--disp);letter-spacing:.06em;display:flex;flex-direction:column}
.brand__name small{font:600 12px/1.3 var(--ar);letter-spacing:0;color:var(--muted);margin-top:3px}
.nav{display:flex;gap:4px;margin-inline-start:auto}
.nav a{text-decoration:none;font-weight:700;padding:8px 14px;border-radius:999px;transition:background .2s,color .2s}
.nav a:hover{background:var(--ink);color:var(--paper)}
.lang{margin-inline-start:6px;border:1.5px solid var(--ink);background:transparent;border-radius:999px;padding:6px 14px;font:400 18px/1 var(--disp);letter-spacing:.08em;min-height:40px}
html[lang=en] .lang{font-family:var(--ar);font-weight:800;font-size:15px}
@media (max-width:820px){.nav{display:none}.lang{margin-inline-start:auto}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 26px;border-radius:999px;font-weight:800;text-decoration:none;border:1.5px solid transparent;transition:transform .15s,background .2s,color .2s,box-shadow .2s}
.btn:active{transform:scale(.97)}
.btn--red{background:var(--red);color:#fff;box-shadow:0 12px 24px -12px rgba(184,32,32,.8)}
.btn--red:hover{background:#9d1a1a}
.btn--ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--ghost:hover{background:var(--ink);color:var(--paper)}
.btn--wa{background:var(--ink);color:#fff;width:100%}
.btn--wa:hover{background:var(--red)}
.cta{display:flex;flex-wrap:wrap;gap:12px}

/* menu-style titles: script, Arabic, ornament */
section{position:relative}
.ttl{max-width:700px;margin:0 auto 38px;text-align:center}
.ttl__script{display:block;font:400 clamp(34px,4.4vw,50px)/1 var(--script);color:var(--red);margin-bottom:2px}
.ttl__ar{margin:0;font:900 clamp(34px,5.4vw,60px)/1.12 var(--ar);letter-spacing:-.01em}
html[lang=en] .ttl__ar{font:400 clamp(46px,7vw,84px)/.95 var(--disp);letter-spacing:.03em;color:var(--red)}
.ttl p{margin:12px auto 0;color:var(--muted);font-size:17px;max-width:36em}
.orn{display:block;height:18px;margin:14px auto 0;width:min(340px,80%);background:var(--flower) center/18px 18px no-repeat,linear-gradient(var(--red),var(--red)) left center/calc(50% - 18px) 1.5px no-repeat,linear-gradient(var(--red),var(--red)) right center/calc(50% - 18px) 1.5px no-repeat;transform-origin:center}
.ttl--light .ttl__ar{color:var(--paper)}
.ttl--light p{color:#bdb4a8}
.ttl--light .orn{--flower:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23F23A33'%3E%3Ccircle cx='12' cy='6' r='4.2'/%3E%3Ccircle cx='18' cy='12' r='4.2'/%3E%3Ccircle cx='12' cy='18' r='4.2'/%3E%3Ccircle cx='6' cy='12' r='4.2'/%3E%3Ccircle cx='12' cy='12' r='2.4' fill='%230B0B0B'/%3E%3C/svg%3E")}

/* cat-wave band (from their menu corners) */
.band{position:relative;z-index:1;height:clamp(46px,6vw,66px);background:url(/assets/lx/pattern.webp) center/auto 100% repeat-x}

/* hanko stamp */
.hanko{position:absolute;z-index:4;display:grid;place-items:center;writing-mode:vertical-rl;font:900 30px/1 var(--jp);color:#fff;background:var(--red);width:58px;height:92px;border-radius:8px;letter-spacing:.12em;box-shadow:0 10px 20px -10px rgba(184,32,32,.9);transform:rotate(6deg);outline:2px solid rgba(255,255,255,.55);outline-offset:-6px}
.hanko--sm{width:46px;height:74px;font-size:24px;top:18px;right:28px}

/* hero */
.hero{overflow-x:clip;max-width:var(--max);margin:0 auto;padding:clamp(20px,4vw,50px) var(--pad) clamp(30px,5vw,60px);display:grid;grid-template-columns:.95fr 1.1fr;grid-template-areas:"copy media";gap:clamp(24px,5vw,64px);align-items:center;position:relative}
.hero__stage{position:absolute;inset:0;pointer-events:none;z-index:0}
.hero__ink{position:absolute;width:min(700px,50%);inset-inline-end:-3%;top:8%;opacity:.85}
.hero__splash{position:absolute;width:min(240px,18%);inset-inline-end:1%;bottom:0;opacity:.8;transform:rotate(-14deg)}
.hero__media{grid-area:media;position:relative;z-index:1;display:grid;place-items:center}
.orb{position:relative;width:min(560px,100%);aspect-ratio:1}
.frame{position:absolute;inset:7%;border-radius:50%;overflow:hidden;background:var(--ink);box-shadow:0 40px 70px -30px rgba(11,11,11,.7)}
.frame video{width:100%;height:100%;object-fit:cover;object-position:50% 55%}
.orb__ring{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;animation:spin 80s linear infinite;pointer-events:none;z-index:2}
@keyframes spin{to{transform:rotate(360deg)}}
.orb .hanko{top:6%;inset-inline-start:2%}
.orb__cat{position:absolute;z-index:5;width:30%;bottom:-3%;inset-inline-end:-2%;transform-origin:50% 100%;animation:peek 4.8s ease-in-out infinite;filter:drop-shadow(0 12px 14px rgba(11,11,11,.25))}
@keyframes peek{0%,100%{transform:translateY(0) rotate(0)}40%{transform:translateY(-6%) rotate(-4deg)}55%{transform:translateY(-6%) rotate(4deg)}70%{transform:translateY(-3%) rotate(-2deg)}}
.frame__tag{position:absolute;z-index:6;bottom:9%;inset-inline-start:6%;background:var(--ink);color:#fff;font-weight:700;font-size:13px;padding:7px 14px;border-radius:999px;box-shadow:0 8px 16px -8px rgba(0,0,0,.6)}
.hero__copy{grid-area:copy;min-width:0;position:relative;z-index:2}
.kicker{display:inline-block;font-weight:800;color:var(--red);font-size:14px;margin:0 0 14px;padding:6px 14px;border:1.5px solid rgba(184,32,32,.35);border-radius:999px;background:rgba(251,248,243,.75)}
.hero h1{margin:0 0 16px;font:900 clamp(40px,4.8vw,66px)/1.12 var(--ar);letter-spacing:-.02em}
.hero h1 span{display:block}
.hero h1 em{display:block;font-style:normal;color:var(--red)}
html[lang=en] .hero h1{font:400 clamp(58px,8vw,108px)/.9 var(--disp);letter-spacing:.01em}
html[lang=en] .hero h1 em{font:italic 700 clamp(40px,5.2vw,70px)/1.05 var(--serif);margin-top:6px}
.lead{font-size:clamp(17px,1.6vw,19px);color:#2c2824;max-width:34em;margin:0 0 26px}
.proof{list-style:none;padding:0;margin:30px 0 0;display:flex;gap:10px;flex-wrap:wrap}
.proof li{background:var(--card);border:1px solid rgba(11,11,11,.08);border-radius:16px;padding:10px 16px;display:flex;align-items:baseline;gap:8px;min-width:0}
.proof b{font:700 26px/1 var(--serif);color:var(--red)}
.proof span{font-size:13px;font-weight:700;color:var(--muted)}
@media (max-width:899px){
 .hero{grid-template-columns:1fr;grid-template-areas:"media" "copy";padding-top:12px}
 .orb{width:min(88%,420px);aspect-ratio:9/12;max-height:60vh}
 .frame{inset:0;border-radius:999px 999px 30px 30px}
 .orb__ring{inset:auto;top:-7%;left:-9%;width:118%;height:auto;aspect-ratio:1;z-index:0}
 .frame{z-index:1}
 .orb .hanko{top:5%;inset-inline-start:-4%;width:46px;height:74px;font-size:23px}
 .orb__cat{width:40%;bottom:-6%;inset-inline-end:-8%}
 .frame__tag{bottom:5%;inset-inline-start:6%;font-size:12px}
 .hero__ink{width:140%;inset-inline-end:-40%;top:0;opacity:.45}
 .hero__splash{width:40%;inset-inline-end:auto;inset-inline-start:auto;left:-16%;right:auto;top:20%;bottom:auto;opacity:.4}
 .hero h1{font-size:clamp(38px,11vw,56px)}
}

/* offers — poster style like their Instagram */
.offers{padding:clamp(60px,8vw,110px) 0 60px;background:radial-gradient(70% 55% at 50% 0,rgba(184,32,32,.35),transparent 70%),var(--ink);color:var(--paper);overflow:hidden}
.offers__splash{position:absolute;width:520px;max-width:70%;inset-inline-start:-120px;bottom:-160px;opacity:.35;pointer-events:none}
.offers__rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(272px,300px);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 24px;scrollbar-width:thin;scrollbar-color:var(--red) transparent;position:relative}
.offers__rail>*{scroll-snap-align:start;min-width:0}
.ocard{background:linear-gradient(180deg,#1a1716,#0f0d0c);color:#fff;border-radius:24px;overflow:hidden;display:flex;flex-direction:column;border:1px solid #2a2523;box-shadow:0 30px 50px -30px rgba(184,32,32,.6)}
.ocard__img{position:relative;aspect-ratio:1;overflow:hidden}
.ocard__img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.ocard:hover .ocard__img img{transform:scale(1.05)}
.ocard__price{position:absolute;inset-inline-start:14px;top:14px;width:86px;height:86px;border-radius:50%;background:rgba(11,11,11,.8);display:grid;place-content:center;text-align:center;line-height:1}
.ocard__price::before{content:"";position:absolute;inset:-7px;background:url(/assets/lx/ring.webp) center/contain no-repeat}
.ocard__price b{font:italic 700 25px/1 var(--serif);position:relative}
.ocard__price small{font:400 14px/1 var(--disp);letter-spacing:.1em;color:var(--red-hi);margin-top:3px;position:relative}
.ocard__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.ocard__en{font:italic 700 23px/1.15 var(--serif);color:#fff}
.ocard__en i{color:var(--red-hi)}
.ocard__body h3{margin:0;font:800 17px/1.35 var(--ar);color:#e6ded4}
html[lang=en] .ocard__body h3{display:none}
.ocard__body p{margin:0;color:#b9b0a5;font-size:14px;line-height:1.6;flex:1}
.ocard .ctl{display:block;margin-top:8px}
.ocard .add{background:var(--red);color:#fff;border:0;width:100%}
.ocard .add:hover{background:var(--red-hi)}
.ocard .step,.boat .step{background:#1c1a19;border-color:#3a3431}
.ocard .step button,.boat .step button,.ocard .step output,.boat .step output{color:#fff}
.ocard .step{width:100%;justify-content:space-between}

/* chef's picks — editorial */
.sig{padding:clamp(60px,8vw,110px) 0 clamp(40px,6vw,80px)}
.sig__list{display:grid;gap:clamp(30px,5vw,70px)}
.pick{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,5vw,70px);align-items:center}
.pick:nth-child(even) .pick__img{order:2}
.pick__img{position:relative;width:min(100%,460px);aspect-ratio:1;margin-inline:auto;display:block;padding:0;border:0;background:none}
.pick__img img:first-child{position:absolute;inset:7%;width:86%;height:86%;border-radius:50%;object-fit:cover;box-shadow:0 30px 60px -30px rgba(11,11,11,.8);transition:transform .8s}
.pick__img:hover img:first-child{transform:scale(1.03) rotate(-2deg)}
.pick__ring{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.pick__no{position:absolute;top:0;inset-inline-end:2%;font:400 72px/1 var(--disp);color:var(--red);opacity:.9;text-shadow:0 2px 0 var(--paper)}
.pick__b{min-width:0}
.pick__en{display:block;font:400 clamp(42px,5vw,62px)/1 var(--script);color:var(--red)}
.pick__b h3{margin:4px 0 8px;font:900 clamp(28px,3.4vw,40px)/1.2 var(--ar)}
html[lang=en] .pick__b h3{display:none}
.pick__b p{margin:0 0 16px;color:#3a3530;font-size:17px;max-width:30em}
.pick__buy{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.pick__buy .price{font-size:32px}
.pick__buy .add{min-height:50px;padding:0 26px;font-size:15.5px}
.pick__buy .step{min-height:50px}
@media (max-width:760px){.pick{grid-template-columns:1fr;text-align:center}.pick:nth-child(even) .pick__img{order:0}.pick__img{width:min(84%,360px)}.pick__b p{margin-inline:auto}.pick__buy{justify-content:center}}

/* sushi boat showcase */
.boat{padding:clamp(60px,8vw,110px) 0;background:radial-gradient(60% 60% at 20% 50%,rgba(184,32,32,.28),transparent 70%),var(--ink);color:var(--paper);overflow:hidden}
.boat__in{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,5vw,60px);align-items:center}
.boat__img{margin:0;border-radius:28px;overflow:hidden;box-shadow:0 40px 80px -40px rgba(184,32,32,.7)}
.boat__img img{width:100%;aspect-ratio:16/9;object-fit:cover}
.boat__copy{min-width:0}
.boat__copy h2{margin:0 0 10px;font:900 clamp(34px,4.6vw,54px)/1.1 var(--ar)}
html[lang=en] .boat__copy h2{font:400 clamp(46px,6vw,72px)/.95 var(--disp)}
.boat__copy>p{color:#cfc7be;margin:0 0 18px}
.boat__sizes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.boat__sizes button{border:1.5px solid #3a3431;background:#141211;color:var(--paper);border-radius:16px;padding:10px 4px;display:grid;gap:2px;justify-items:center;transition:.2s;min-width:0}
.boat__sizes button b{font:400 30px/1 var(--disp);letter-spacing:.04em}
.boat__sizes button small{font-size:12px;font-weight:700;color:#a99f94}
.boat__sizes button[aria-checked=true]{background:var(--red);border-color:var(--red)}
.boat__sizes button[aria-checked=true] small{color:#ffd9d6}
.boat__inc{margin:14px 0 10px;font-weight:700;color:var(--paper);min-height:1.7em}
.boat__buy{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.boat__price{font:italic 700 38px/1 var(--serif);color:#fff}
.boat__price small{font:600 15px var(--ar);color:#a99f94;font-style:normal;margin-inline-start:4px}
.boat .add{background:var(--paper);color:var(--ink);min-height:50px;padding:0 26px;font-size:15.5px}
.boat .add:hover{background:var(--red);color:#fff}
@media (max-width:899px){.boat__in{grid-template-columns:1fr}}
@media (max-width:420px){.boat__sizes button b{font-size:26px}}

/* menu */
.menu{padding:clamp(60px,8vw,110px) 0 50px}
.cats{position:sticky;top:69px;z-index:30;background:rgba(243,238,230,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-block:1px solid rgba(11,11,11,.08);margin-bottom:10px}
.cats__in{max-width:var(--max);margin:0 auto;display:flex;gap:8px;overflow-x:auto;padding:10px var(--pad);scrollbar-width:none}
.cats__in::-webkit-scrollbar{display:none}
.cats a{flex:none;text-decoration:none;font-weight:800;font-size:15px;padding:8px 16px;border-radius:999px;border:1.5px solid rgba(11,11,11,.14);background:var(--card);white-space:nowrap;transition:.2s}
.cats a.on{background:var(--red);color:#fff;border-color:var(--red)}
.msec{padding-top:50px}
.msec__h{text-align:center;margin:0 0 26px}
.msec__h h3{margin:0;font:900 30px/1.2 var(--ar);color:var(--red)}
.msec__h span{display:block;font:400 clamp(42px,5vw,60px)/.95 var(--disp);letter-spacing:.06em;color:var(--red)}
html[lang=en] .msec__h h3{display:none}
.msec__h small{display:block;font-weight:700;color:var(--muted);margin-top:6px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media (max-width:1100px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.card{background:var(--card);border:1px solid rgba(11,11,11,.07);border-radius:26px;display:flex;flex-direction:column;min-width:0;transition:box-shadow .3s,transform .3s;padding:14px 14px 16px;position:relative}
.card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.card__img{display:block;position:relative;padding:0;border:0;background:none;width:80%;aspect-ratio:1;margin:4px auto 10px}
.card__img img:first-child{position:absolute;inset:8%;width:84%;height:84%;border-radius:50%;object-fit:cover;background:var(--ink);transition:transform .6s}
.card:hover .card__img img:first-child{transform:rotate(-4deg) scale(1.04)}
.card__ring{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:transform .8s}
.card:hover .card__ring{transform:rotate(25deg)}
.card__b{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0;text-align:center}
.card__b h4{margin:0;font:800 17.5px/1.35 var(--ar)}
.card__en{font:400 15px/1 var(--disp);letter-spacing:.08em;color:var(--red)}
html[lang=en] .card__en{display:none}
.card__d{margin:3px 0 0;font-size:13.5px;line-height:1.55;color:var(--muted);flex:1}
.row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;flex-wrap:wrap}
.price{font:italic 700 21px/1 var(--serif);color:var(--red);white-space:nowrap}
.price small{font:600 12px var(--ar);color:var(--muted);font-style:normal;margin-inline-start:3px}
.pcs{display:inline-block;font-size:12px;font-weight:800;color:var(--stone);background:var(--paper-2);border-radius:999px;padding:1px 9px;margin-inline-start:6px;vertical-align:2px}
.add{min-height:42px;padding:0 16px;border-radius:999px;border:0;background:var(--ink);color:#fff;font-weight:800;font-size:14.5px;white-space:nowrap;transition:background .2s}
.add:hover{background:var(--red)}
.step{display:inline-flex;align-items:center;border:1.5px solid rgba(11,11,11,.15);border-radius:999px;min-height:42px;background:#fff}
.step button{width:40px;height:40px;border:0;background:transparent;font-size:20px;font-weight:800;color:var(--ink)}
.step output{min-width:22px;text-align:center;font-weight:800}
@media (max-width:640px){
 .grid{grid-template-columns:1fr;gap:12px}
 .card{flex-direction:row;align-items:center;padding:10px 12px;border-radius:22px;gap:10px}
 .card__img{width:108px;flex:none;margin:0}
 .card__b{text-align:start}
 .card__b h4{font-size:16px}
 .card__d{font-size:13px}
 .row{margin-top:6px}
}

/* place */
.place{padding:clamp(60px,8vw,110px) 0}
.place__in{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(24px,5vw,64px);align-items:center}
.place__img{margin:0;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);position:relative}
.place__img img{aspect-ratio:16/9;object-fit:cover;width:100%}
.place__copy,.visit__copy,.cat-cta__copy{min-width:0}
.place__copy h2,.visit h2,.cat-cta h2{font:900 clamp(30px,4.4vw,48px)/1.15 var(--ar);margin:0 0 14px}
html[lang=en] .place__copy h2,html[lang=en] .visit h2,html[lang=en] .cat-cta h2{font:400 clamp(42px,6vw,66px)/.95 var(--disp)}
.place__copy p{color:#2c2824}
.facts{margin:18px 0 0;display:grid;gap:10px}
.facts div{background:var(--card);border:1px solid rgba(11,11,11,.07);border-inline-start:4px solid var(--red);border-radius:14px;padding:10px 16px}
.facts dt{font-size:13px;font-weight:800;color:var(--red)}
.facts dd{margin:0;font-weight:700}
.facts a{text-decoration:none}
@media (max-width:899px){.place__in{grid-template-columns:1fr}}

/* mascot cta */
.cat-cta{padding:10px 0 clamp(60px,8vw,100px)}
.cat-cta__in{background:var(--paper);border:1.5px solid rgba(184,32,32,.25);border-radius:36px;display:grid;grid-template-columns:320px 1fr;gap:clamp(18px,4vw,48px);align-items:center;padding:clamp(20px,4vw,40px);overflow:hidden;position:relative;box-shadow:inset 0 0 0 8px var(--card)}
.cat-cta__img{width:100%;max-width:320px;border-radius:28px;animation:bob 5s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-8px)}}
@media (max-width:760px){.cat-cta__in{grid-template-columns:1fr;text-align:center}.cat-cta__img{max-width:230px;margin:0 auto}.cat-cta .cta{justify-content:center}}

/* reviews */
.reviews{padding:clamp(60px,8vw,100px) 0;background:var(--paper-2)}
.rev__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.rev{margin:0;background:var(--card);border-radius:24px;padding:24px;min-width:0;position:relative}
.rev::before{content:"";position:absolute;top:-14px;inset-inline-start:22px;width:28px;height:28px;background:var(--flower) center/contain no-repeat}
.rev p{margin:0 0 12px;font-weight:600;font-size:16.5px}
.rev cite{font-style:normal;font-weight:800;color:var(--muted);font-size:14px}
@media (max-width:820px){.rev__grid{grid-template-columns:1fr;gap:24px}}
.rate{margin-top:30px;background:var(--ink);color:var(--paper);border-radius:26px;padding:clamp(20px,3vw,32px);display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;position:relative;overflow:hidden}
.rate::after{content:"";position:absolute;width:260px;height:260px;inset-inline-end:-90px;top:-90px;background:url(/assets/lx/ring.webp) center/contain no-repeat;opacity:.35;pointer-events:none}
.rate h3{margin:0 0 6px;font:900 26px/1.2 var(--ar)}
.rate p{margin:0;color:#cfc7be}
.rate__btns{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.rate .btn--ghost{border-color:var(--paper);color:var(--paper)}
.rate .btn--ghost:hover{background:var(--paper);color:var(--ink)}
.rate__msg{grid-column:1/-1;margin:0;font-weight:700;color:#f6c9c6}
.rate__msg:empty{display:none}
@media (max-width:760px){.rate{grid-template-columns:1fr}}

/* visit */
.visit{padding:clamp(60px,8vw,100px) 0}
.visit__in{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(24px,5vw,56px);align-items:center}
.addr{font-weight:800;font-size:19px}
.visit .cta{margin-top:20px}
.map{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3;background:var(--paper-2);border:6px solid var(--card)}
.map iframe{width:100%;height:100%;border:0;display:block}
@media (max-width:899px){.visit__in{grid-template-columns:1fr}}

/* footer */
.foot{background:var(--ink);color:var(--paper);padding:0 0 110px}
.foot .band{margin-bottom:34px;background-color:var(--paper)}
.foot__in{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.foot .brand__name small{color:#a99f94}
.foot__links{list-style:none;display:flex;flex-wrap:wrap;gap:6px 18px;margin:0;padding:0}
.foot__links a{text-decoration:none;font-weight:700}
.foot__links a:hover{color:var(--red-hi)}
.foot__c{width:100%;margin:0;color:#8f867c;font-size:13px}

/* fab + toast */
.fab{position:fixed;z-index:50;bottom:max(16px,env(safe-area-inset-bottom));inset-inline-end:16px;display:flex;align-items:center;gap:10px;background:var(--red);color:#fff;border:0;border-radius:999px;padding:8px 20px 8px 8px;box-shadow:0 14px 30px -10px rgba(184,32,32,.8);min-height:56px;font-weight:800}
html[dir=rtl] .fab{padding:8px 8px 8px 20px}
.fab[hidden]{display:none}
.fab__count{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--red);display:grid;place-items:center;font-weight:900}
.fab__total{font:italic 700 18px/1 var(--serif)}
.fab.bump{animation:bump .45s}
@keyframes bump{40%{transform:scale(1.1) rotate(-3deg)}}
.toast{position:fixed;z-index:60;left:0;right:0;margin-inline:auto;width:fit-content;bottom:86px;transform:translateY(20px);opacity:0;pointer-events:none;background:var(--ink);color:#fff;border-radius:999px;padding:6px 8px 6px 18px;display:flex;align-items:center;gap:10px;transition:.3s;max-width:calc(100vw - 32px);font-weight:700;font-size:15px}
html[dir=rtl] .toast{padding:6px 12px 6px 8px}
.toast.show{opacity:1;transform:none;pointer-events:auto}
.toast__cat{width:52px;height:auto;margin-block:-22px -4px;flex:none}
.toast.show .toast__cat{animation:cheer .6s ease-out}
@keyframes cheer{0%{transform:scale(.3) translateY(20px) rotate(-20deg)}70%{transform:scale(1.15) rotate(6deg)}100%{transform:none}}
.toast span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.toast button{border:0;background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:800;white-space:nowrap}

/* dialogs */
dialog{border:0;padding:0;color:var(--ink);background:var(--card)}
dialog::backdrop{background:rgba(11,11,11,.6);backdrop-filter:blur(4px)}
.sheet{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:28px;overflow:auto}
.sheet__img{height:33vh;max-height:33vh;background:radial-gradient(60% 70% at 50% 60%,rgba(184,32,32,.35),transparent 70%),var(--ink);display:grid;place-items:center;padding:16px 0}
.sheet__img img{height:100%;width:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;box-shadow:0 0 0 5px var(--red),0 20px 40px -10px rgba(0,0,0,.7)}
.sheet__close{position:absolute;inset-inline-end:12px;top:12px;z-index:2;margin:0}
.sheet__close button,.x{width:40px;height:40px;border-radius:50%;border:0;background:rgba(243,238,230,.95);font-size:24px;line-height:1;color:var(--ink)}
.sheet__body{padding:16px 20px 20px}
.sheet__body h3{margin:0;font:900 24px/1.25 var(--ar)}
.sheet__desc{margin:4px 0 10px;color:var(--muted)}
.opt{border:0;margin:0 0 12px;padding:0}
.opt legend{font-weight:800;margin-bottom:6px;font-size:14px}
.opt__c{display:flex;flex-wrap:wrap;gap:8px}
.opt label{position:relative}
.opt input{position:absolute;opacity:0;inset:0;margin:0}
.opt label span{display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border-radius:999px;border:1.5px solid rgba(11,11,11,.16);font-weight:700;font-size:14px;background:#fff}
.opt input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.opt input:focus-visible+span{outline:3px solid var(--red-hi);outline-offset:2px}
.opt small{color:var(--red);font-weight:800}
.opt input:checked+span small{color:#ffb4ae}
.sheet__foot{display:flex;gap:10px;align-items:center;position:sticky;bottom:0;background:var(--card);padding-top:8px}
.qty{display:inline-flex;align-items:center;border:1.5px solid rgba(11,11,11,.16);border-radius:999px;background:#fff}
.qty button{width:44px;height:46px;border:0;background:transparent;font-size:22px;font-weight:800}
.qty output{min-width:24px;text-align:center;font-weight:900}
.sheet__add{flex:1;min-width:0;padding:0 14px}
.cart{width:min(460px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0;margin-inline-start:auto;border-radius:0;overflow:auto;padding:0 20px 24px}
.cart[open]{display:flex;flex-direction:column}
.cart__head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:var(--card);padding:16px 0 10px;z-index:1}
.cart__head h3{margin:0;font:900 26px var(--ar)}
.cart__head form{margin:0}
.cart__list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cart__list li{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;background:#fff;border-radius:18px;padding:8px}
.cart__list img{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 2px var(--red)}
.cart__list .nm{font-weight:800;font-size:14.5px;line-height:1.35;min-width:0}
.cart__list .nm small{display:block;font-weight:600;color:var(--muted);font-size:12.5px}
.cart__list .lp{font:italic 700 16px var(--serif);color:var(--red)}
.cart__list .ctl{grid-column:2/-1;display:flex;align-items:center;justify-content:space-between;gap:8px}
.cart__list .ctl .step{min-height:36px}
.cart__list .ctl .step button{width:34px;height:34px}
.del{border:0;background:transparent;color:var(--muted);font-weight:700;text-decoration:underline;font-size:13.5px;min-height:36px}
.cart__empty{color:var(--muted);text-align:center;padding:24px 0}
.cart__sum{display:flex;justify-content:space-between;align-items:center;border-top:1.5px dashed rgba(11,11,11,.2);margin-top:14px;padding-top:12px;font-weight:900;font-size:18px}
.cart__sum b{font:italic 700 24px var(--serif);color:var(--red)}
.cart__form{display:grid;gap:12px;margin-top:14px}
.cart__form label{display:grid;gap:4px;font-weight:800;font-size:14px}
.cart__form input:not([type=radio]),.cart__form textarea{font:600 16px var(--ar);padding:10px 14px;border-radius:14px;border:1.5px solid rgba(11,11,11,.18);background:#fff;color:var(--ink);width:100%}
.cart__form input:focus,.cart__form textarea:focus{outline:none;border-color:var(--red)}
.method{border:0;padding:0;margin:0;display:flex;gap:8px;flex-wrap:wrap}
.method legend{font-weight:800;font-size:14px;margin-bottom:6px;width:100%}
.method label{display:flex!important;align-items:center;gap:8px;background:#fff;border:1.5px solid rgba(11,11,11,.16);border-radius:999px;padding:8px 14px;cursor:pointer}
.method label:has(input:checked){border-color:var(--ink);background:var(--ink);color:#fff}
.method input{accent-color:var(--red)}
.cart__note{margin:0;font-size:13px;color:var(--muted)}
.err{margin:0;color:var(--red);font-weight:800}
.err:empty{display:none}
.bad{border-color:var(--red)!important}
@media (max-width:640px){
 .cart{width:100vw;border-radius:0}
 .sheet{width:100vw;max-width:100vw;margin:auto 0 0;border-radius:28px 28px 0 0;max-height:94dvh}
 .sheet__img{height:30vh}
}

/* reveals */
.rv{opacity:0;transform:translateY(22px);transition:opacity .8s,transform .8s}
.rv.in{opacity:1;transform:none}
.ink-in{-webkit-mask:radial-gradient(circle at 50% 50%,#000 58%,transparent 72%) center/0% 0% no-repeat;mask:radial-gradient(circle at 50% 50%,#000 58%,transparent 72%) center/0% 0% no-repeat;transition:-webkit-mask-size 1.4s cubic-bezier(.2,.7,.2,1),mask-size 1.4s cubic-bezier(.2,.7,.2,1)}
.ink-in.in{-webkit-mask-size:260% 260%;mask-size:260% 260%}
.orn{transition:transform 1s .2s}
.rv-w:not(.in) .orn{transform:scaleX(0)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv{opacity:1;transform:none}.ink-in{-webkit-mask:none;mask:none}.orn{transform:none!important}}
.card__en,.pick__en,.ocard__en,.msec__h span,.ttl__script{direction:ltr;unicode-bidi:isolate}
