:root{--ink:#151310;--paper:#f4f0e8;--gold:#c8a66a;--wine:#611f27;--line:rgba(255,255,255,.2)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans SC",sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.topbar{position:fixed;z-index:30;top:0;left:0;width:100%;height:90px;padding:0 4.5vw;display:flex;align-items:center;color:#fff;border-bottom:1px solid rgba(255,255,255,.16);transition:.4s}.topbar.scrolled{height:72px;background:rgba(20,17,14,.94);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;border:1px solid var(--gold);display:grid;place-items:center;color:var(--gold);font-family:"Noto Serif SC";font-size:22px}.brand b{display:block;font-family:"Noto Serif SC";font-size:20px;letter-spacing:.25em}.brand small{font-size:8px;letter-spacing:.26em;color:#bbb}.topbar nav{margin:auto;display:flex;gap:3vw;font-size:13px;letter-spacing:.14em}.topbar nav a{position:relative}.topbar nav a:after{content:"";position:absolute;left:0;bottom:-10px;width:0;height:1px;background:var(--gold);transition:.3s}.topbar nav a:hover:after{width:100%}.nav-book{border:1px solid rgba(255,255,255,.5);padding:13px 20px;font-size:13px;letter-spacing:.12em}.nav-book span{color:var(--gold);margin-left:18px}.menu-toggle{display:none}.hero{height:100svh;min-height:720px;position:relative;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url("assets/world-table-hero.png") center/cover no-repeat;animation:heroZoom 14s ease-out both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,3,.88) 0%,rgba(5,4,3,.56) 40%,rgba(5,4,3,.1) 76%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 45%)}@keyframes heroZoom{from{transform:scale(1.06)}to{transform:scale(1)}}.hero-content{position:absolute;left:10vw;top:50%;transform:translateY(-47%);z-index:2}.eyebrow,.kicker{font-size:11px;letter-spacing:.32em;color:#8a7048;font-weight:500}.eyebrow{color:#d8c39a;display:flex;align-items:center;gap:13px}.eyebrow span{width:36px;height:1px;background:var(--gold)}h1,h2,h3{font-family:"Noto Serif SC";font-weight:400;margin:0}h1{font-size:clamp(64px,7.2vw,112px);line-height:1.08;letter-spacing:.08em;margin:24px 0}em{font-style:normal;color:var(--gold)}.hero-copy{line-height:2;font-size:16px;color:#ddd;letter-spacing:.08em}.hero-actions{display:flex;align-items:center;gap:35px;margin-top:40px}.btn{display:inline-block;padding:16px 34px;letter-spacing:.18em;font-size:14px}.gold{background:var(--gold);color:#1c160e}.text-link{font-size:13px;letter-spacing:.1em;border-bottom:1px solid #777;padding-bottom:8px}.text-link span{color:var(--gold);margin-left:20px}.hero-meta{position:absolute;z-index:2;right:4.5vw;bottom:45px;display:flex;gap:60px;font-size:12px}.hero-meta div{display:flex;flex-direction:column;gap:8px}.hero-meta small{color:#a99d8a;letter-spacing:.15em;margin-bottom:4px}.hero-meta b{font-weight:300}.hero-meta a{color:var(--gold)}.scroll{position:absolute;left:4.5vw;bottom:38px;font-size:8px;letter-spacing:.3em;writing-mode:vertical-rl;display:flex;align-items:center;gap:12px}.scroll span{height:60px;width:1px;background:#777}.section{padding:130px 9vw}.intro{display:grid;grid-template-columns:.7fr 1.4fr 1fr;gap:8vw;align-items:end}.intro-number span{font:400 100px/1 "Noto Serif SC";color:transparent;-webkit-text-stroke:1px #b7a98e}.intro-number small{display:block;margin-top:12px;letter-spacing:.2em;color:#897f70}.intro-copy h2,.section-heading h2,.experience-copy h2,.pricing h2,.booking h2{font-size:clamp(40px,4.3vw,68px);line-height:1.35;letter-spacing:.08em;margin:18px 0 28px}.intro-copy>p:last-child,.experience-copy>p{color:#6f685d;line-height:2.1;font-size:14px}.intro-stats{border-left:1px solid #cfc6b7}.intro-stats div{display:flex;align-items:baseline;gap:20px;padding:20px 0 20px 35px;border-bottom:1px solid #d8d0c3}.intro-stats b{font:400 34px "Noto Serif SC"}.intro-stats sup{font-size:14px;color:var(--gold)}.intro-stats span{font-size:12px;color:#7b7367;letter-spacing:.08em}.flavors{background:#181612;color:#fff}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:60px}.section-heading>p{font-size:13px;line-height:2;color:#9d968b}.light{color:#c4a875}.flavor-grid{display:grid;grid-template-columns:repeat(4,1fr);min-height:500px}.flavor-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:26px;overflow:hidden;border-right:1px solid rgba(255,255,255,.25);background-size:cover;background-position:center}.flavor-card:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.88),rgba(0,0,0,.05));transition:.5s}.flavor-card:hover:before{background:linear-gradient(0deg,rgba(75,29,24,.8),rgba(0,0,0,0))}.flavor-card:hover{transform:translateY(-8px)}.flavor-card>*{position:relative}.flavor-card>span{color:#d3c2a5;font:14px "Noto Serif SC"}.flavor-card small{letter-spacing:.17em;color:#d3c2a5;font-size:9px}.flavor-card h3{font-size:36px;margin:10px 0}.flavor-card p{font-size:11px;letter-spacing:.14em;color:#c4beb5}.card-japan{background-image:url("assets/world-table-hero.png");background-position:66% center}.card-west{background-image:url("assets/world-table-hero.png");background-position:83% center}.card-asia{background-image:url("assets/world-table-hero.png");background-position:48% center}.card-dessert{background-image:url("assets/world-table-hero.png");background-position:94% center}.outline-link{display:block;width:max-content;margin:50px auto 0;border-bottom:1px solid #777;padding:0 10px 10px;font-size:13px;letter-spacing:.15em}.outline-link span{color:var(--gold);margin-left:20px}.experience{display:grid;grid-template-columns:1.05fr .95fr;padding-left:0;gap:10vw;align-items:center}.experience-visual{height:720px;background:url("assets/world-table-hero.png") 70% center/auto 100% no-repeat;position:relative}.experience-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,var(--paper))}.plate{position:absolute;right:-55px;top:50%;transform:translateY(-50%);z-index:2;width:170px;height:170px;border-radius:50%;background:#641f27;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 20px 50px #4e251f55}.plate b{font:50px "Noto Serif SC";color:var(--gold)}.plate span,.plate small{font-size:8px;letter-spacing:.25em}.experience-copy ul{list-style:none;padding:15px 0 0;margin:0}.experience-copy li{display:flex;gap:25px;border-top:1px solid #d5cdbf;padding:22px 0}.experience-copy li>span{color:var(--gold);font:16px "Noto Serif SC"}.experience-copy li b,.experience-copy li small{display:block}.experience-copy li b{font:18px "Noto Serif SC";margin-bottom:6px}.experience-copy li small{color:#857c6e}.pricing{background:#e9e2d7;text-align:center}.pricing-head{margin-bottom:55px}.price-cards{display:grid;grid-template-columns:repeat(3,1fr);max-width:1180px;margin:auto;align-items:stretch}.price-card{background:#f7f3ec;padding:45px;text-align:left;border:1px solid #d5ccbd;position:relative}.price-card>p:first-child{font-size:9px;letter-spacing:.25em;color:#927c5a}.price-card h3{font-size:27px;margin:9px 0 25px}.price{display:flex;align-items:baseline}.price span{font-size:18px}.price b{font:52px "Noto Serif SC";margin:0 8px}.price small{font-size:11px;color:#756d62}.time{font-size:11px;color:#887f73;border-bottom:1px solid #d3cabc;padding-bottom:24px}.price-card ul{list-style:none;padding:15px 0;line-height:2.1;font-size:12px;color:#625c54}.price-card li:before{content:"·";color:var(--gold);margin-right:10px}.price-card a{display:flex;justify-content:space-between;border-top:1px solid #d3cabc;padding-top:20px;font-size:12px;letter-spacing:.13em}.price-card.featured{background:#541e25;color:#fff;transform:translateY(-15px);border-color:#541e25;box-shadow:0 25px 45px rgba(60,32,25,.18)}.price-card.featured .time,.price-card.featured a{border-color:#815159}.price-card.featured ul,.price-card.featured .time{color:#d1c3c3}.price-card.featured>i{position:absolute;right:20px;top:0;background:var(--gold);color:#281f16;padding:7px 12px;font-size:10px;font-style:normal}.price-note{font-size:10px;color:#8b8174;margin-top:30px}.story{min-height:500px;background:linear-gradient(rgba(15,11,8,.65),rgba(15,11,8,.72)),url("assets/world-table-hero.png") center 58%/cover fixed;display:grid;place-items:center;text-align:center;color:#fff}.story-quote>span{font:80px/1 "Noto Serif SC";color:var(--gold)}blockquote{font:400 clamp(24px,3vw,42px)/1.8 "Noto Serif SC";letter-spacing:.12em;margin:0}.story-quote p{font-size:11px;color:#bfb4a2;letter-spacing:.15em}.booking{background:#211e1a;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:11vw}.booking-copy>p:not(.kicker){color:#aaa}.contact{margin-top:70px}.contact span{display:block;font-size:10px;color:#9a8f80;letter-spacing:.18em;margin-bottom:8px}.contact a{font:30px "Noto Serif SC";color:var(--gold)}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}.booking-form label{font-size:11px;color:#a69c8d;letter-spacing:.1em}.booking-form input,.booking-form select{display:block;width:100%;border:0;border-bottom:1px solid #5a554c;background:transparent;color:#fff;padding:13px 0;outline:none;border-radius:0}.booking-form select option{color:#222}.booking-form button{grid-column:1/-1;background:var(--gold);border:0;padding:17px;letter-spacing:.2em;cursor:pointer}.booking-form button span{float:right}.booking-form>p{grid-column:1/-1;color:#c9a869;font-size:12px;margin:0}footer{background:#12110f;color:#8b847a;padding:55px 5vw;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;font-size:11px}.footer-brand{color:#fff}.footer-brand+ p{text-align:center;letter-spacing:.2em}footer>div{text-align:right}footer>div a{margin-left:25px}footer>small{grid-column:1/-1;text-align:center;border-top:1px solid #2c2925;padding-top:25px;margin-top:40px;font-size:8px;letter-spacing:.2em}.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.topbar{height:70px;padding:0 20px}.topbar nav,.nav-book{display:none}.menu-toggle{display:block;margin-left:auto;border:0;background:transparent;width:32px}.menu-toggle i{height:1px;background:#fff;display:block;margin:8px}.topbar.open nav{display:flex;position:absolute;top:70px;left:0;right:0;background:#181512;padding:30px;flex-direction:column;gap:25px}.hero{min-height:680px}.hero-content{left:25px;top:45%}.hero-copy{font-size:13px}.hero-meta{left:25px;right:auto;bottom:30px;gap:25px}.hero-meta div:nth-child(2),.scroll{display:none}.section{padding:90px 25px}.intro{grid-template-columns:1fr}.intro-number{display:none}.intro-stats{border-left:0}.section-heading{display:block}.flavor-grid{grid-template-columns:1fr 1fr}.flavor-card{min-height:330px}.experience{grid-template-columns:1fr;padding-left:25px}.experience-visual{height:480px;margin-left:-25px}.plate{right:10px;width:130px;height:130px}.price-cards{grid-template-columns:1fr;gap:16px}.price-card.featured{transform:none}.booking{grid-template-columns:1fr}.booking-form{grid-template-columns:1fr}.booking-form button,.booking-form>p{grid-column:auto}footer{grid-template-columns:1fr;text-align:center;gap:25px}.footer-brand{justify-content:center}.footer-brand+ p,footer>div{text-align:center}footer>small{grid-column:auto}footer>div a{margin:0 10px}}
@media(max-width:520px){h1{font-size:54px}.hero-actions{gap:20px}.btn{padding:14px 22px}.flavor-grid{grid-template-columns:1fr}.flavor-card{min-height:390px}.booking-form{gap:22px}.story{background-attachment:scroll}blockquote br{display:none}}

/* Languages and cinematic interactions */
body{overflow-x:hidden}.topbar nav{gap:2.2vw}.languages{display:flex;align-items:center;gap:5px;margin-right:18px;color:#777}.languages button{border:0;background:none;color:#aaa;padding:5px;cursor:pointer;font-size:10px;transition:color .3s}.languages button.active,.languages button:hover{color:var(--gold)}.hero-bg{inset:-5%;will-change:transform}.hero-grain{position:absolute;inset:0;opacity:.09;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.btn{position:relative;overflow:hidden;transition:transform .2s}.gold:after,.booking-form button:after{content:"";position:absolute;top:-50%;left:-80%;width:45%;height:200%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-25deg);animation:shine 4.5s infinite}@keyframes shine{0%,65%{left:-80%}100%{left:150%}}.booking-form button{position:relative;overflow:hidden}.flavor-card{transition:transform .35s ease,filter .35s;transform-style:preserve-3d;will-change:transform}.reveal{filter:blur(5px);transform:translateY(35px);transition:opacity .9s,transform .9s,filter .9s}.reveal.visible{filter:none}.cursor-glow{position:fixed;z-index:5;width:420px;height:420px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(200,166,106,.13),transparent 68%);transform:translate(-50%,-50%);mix-blend-mode:screen}.page-progress{position:fixed;z-index:50;top:0;left:0;height:2px;width:0;background:linear-gradient(90deg,#775231,var(--gold),#fff1c7);box-shadow:0 0 12px var(--gold)}
[dir="rtl"] body{font-family:Tahoma,"Noto Sans Arabic",sans-serif}[dir="rtl"] .hero-content{left:auto;right:10vw;text-align:right}[dir="rtl"] .hero-shade{transform:scaleX(-1)}[dir="rtl"] .section-heading,[dir="rtl"] .price-card,[dir="rtl"] .booking-copy{text-align:right}[dir="rtl"] .intro-stats{border-left:0;border-right:1px solid #cfc6b7}[dir="rtl"] .intro-stats div{padding-left:0;padding-right:35px}[dir="rtl"] .text-link span,[dir="rtl"] .price-card a span{display:inline-block;transform:scaleX(-1)}[dir="rtl"] .hero-meta{right:auto;left:4.5vw}[dir="rtl"] .scroll{left:auto;right:4.5vw}
@media(max-width:900px){.languages{margin-left:auto;margin-right:12px}.cursor-glow{display:none}[dir="rtl"] .hero-content{right:25px}[dir="rtl"] .hero-meta{left:auto;right:25px}.topbar.open .languages{position:absolute;right:55px}}

/* Mobile layout and touch refinements */
@media (max-width:900px){
  body.menu-open{overflow:hidden}
  .topbar,.topbar.scrolled{height:68px;padding:0 18px;background:rgba(20,17,14,.9);backdrop-filter:blur(14px)}
  .brand{gap:9px;position:relative;z-index:2}.brand-mark{width:36px;height:36px;font-size:19px}.brand b{font-size:17px}.brand small{font-size:7px}
  .languages{position:relative;z-index:2;margin-left:auto;margin-right:7px;gap:1px}.languages button{min-width:32px;min-height:44px;padding:0 5px}.languages span{font-size:9px}
  .menu-toggle{position:relative;z-index:2;width:44px;height:44px;padding:10px;margin:0 -8px 0 0;cursor:pointer}.menu-toggle i{transition:transform .25s,margin .25s}.topbar.open .menu-toggle i:first-child{transform:translateY(4.5px) rotate(45deg)}.topbar.open .menu-toggle i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .topbar.open:after{content:"";position:fixed;inset:68px 0 0;background:rgba(0,0,0,.42)}
  .topbar.open nav{display:flex;position:fixed;z-index:1;top:68px;bottom:0;left:0;right:0;min-height:0;padding:28px 28px 36px;background:#181512;gap:0;overflow-y:auto;overscroll-behavior:contain}
  .topbar.open nav a{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.1);font:400 22px "Noto Serif SC";letter-spacing:.12em}.topbar.open nav a:after{display:none}
  .topbar.open .languages{position:relative;right:auto}
  .topbar.open .nav-book{display:none}
  .topbar.open .nav-book span{color:#21190f}
  .hero{height:max(680px,100svh);min-height:0}.hero-bg{inset:0;background-position:61% center}.hero-shade{background:linear-gradient(90deg,rgba(5,4,3,.88),rgba(5,4,3,.52) 72%,rgba(5,4,3,.25)),linear-gradient(0deg,rgba(0,0,0,.76),transparent 55%)}
  .hero-content{left:clamp(20px,6vw,42px);right:20px;top:43%;transform:translateY(-50%)}
  .eyebrow{font-size:9px;letter-spacing:.22em;gap:10px}.eyebrow span{width:24px}h1{font-size:clamp(48px,14vw,72px);letter-spacing:.04em;margin:18px 0}
  .hero-copy{max-width:31em;line-height:1.85;letter-spacing:.04em}.hero-copy br{display:none}.hero-actions{margin-top:28px;gap:22px;flex-wrap:wrap}.btn{min-height:48px;padding:14px 24px}.text-link{padding:12px 0 8px}
  .hero-meta{left:clamp(20px,6vw,42px);bottom:22px}.hero-meta b{font-size:11px}
  .section{padding:78px clamp(20px,6vw,42px)}
  .intro{gap:36px}.intro-copy h2,.section-heading h2,.experience-copy h2,.pricing h2,.booking h2{font-size:clamp(34px,10vw,52px);line-height:1.35;letter-spacing:.04em;margin:14px 0 22px}.intro-copy>p:last-child,.experience-copy>p{line-height:1.9}
  .intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid #d8d0c3}.intro-stats div{display:block;padding:18px 10px 0;border:0;text-align:center}.intro-stats b{display:block;font-size:28px}.intro-stats span{display:block;margin-top:5px;font-size:10px}
  .section-heading{margin-bottom:34px}.section-heading>p{margin-top:18px}.flavor-grid{gap:1px}.flavor-card{min-height:280px;padding:22px}.flavor-card:hover{transform:none}.flavor-card h3{font-size:30px}.outline-link{margin-top:36px;min-height:44px;padding-top:10px}
  .experience{gap:58px;padding-left:0}.experience-visual{width:100%;height:min(62vw,470px);min-height:320px;margin:0;background-size:cover;background-position:68% 50%}.experience-visual:after{background:linear-gradient(0deg,var(--paper),transparent 22%)}.plate{right:20px;bottom:-36px;top:auto;transform:none;width:112px;height:112px}.plate b{font-size:38px}
  .experience-copy{padding:0 clamp(20px,6vw,42px)}.experience-copy li{gap:18px}.experience-copy li small{line-height:1.6}
  .pricing-head{margin-bottom:34px}.price-cards{gap:12px}.price-card{padding:32px 28px}.price-card h3{font-size:24px}.price b{font-size:46px}.price-card a{min-height:46px;align-items:center}
  .story{min-height:420px;padding-left:22px;padding-right:22px}blockquote{font-size:clamp(22px,6vw,32px);line-height:1.75;letter-spacing:.08em}
  .booking{gap:48px}.contact{margin-top:36px}.booking-form{gap:22px}.booking-form input,.booking-form select{min-height:48px;font-size:16px}.booking-form button{min-height:52px}
  footer{padding:48px 20px 28px;gap:20px}footer>div{display:flex;justify-content:center;flex-wrap:wrap;gap:4px}footer>div a{display:inline-flex;align-items:center;min-height:44px;margin:0;padding:0 10px}footer>small{margin-top:12px}
  [dir="rtl"] .hero-content{left:20px;right:clamp(20px,6vw,42px)}[dir="rtl"] .hero-meta{right:clamp(20px,6vw,42px)}
}
@media (max-width:560px){
  .flavor-grid{grid-template-columns:1fr 1fr}.flavor-card{min-height:245px}.flavor-card h3{font-size:26px}.flavor-card p{line-height:1.7}.flavor-card small{letter-spacing:.1em}
}
@media (max-width:390px){
  .topbar{padding:0 14px}.brand small{display:none}.languages button{min-width:28px}.hero-content{left:18px;right:18px}.hero-actions{gap:12px}.text-link span{margin-left:10px}
  .section{padding-left:18px;padding-right:18px}.flavor-card{min-height:225px;padding:17px}.flavor-card h3{font-size:24px}.flavor-card p{font-size:10px}.experience-copy{padding-left:18px;padding-right:18px}.price-card{padding:28px 22px}.booking-form{gap:18px}
}
@media (hover:none),(pointer:coarse){.flavor-card:hover{transform:none}.btn:active,.nav-book:active{transform:scale(.98)}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-bg,.gold:after,.booking-form button:after{animation:none}.reveal{transition-duration:.01ms}.flavor-card,.btn,.menu-toggle i{transition-duration:.01ms}}

/* Editorial image gallery */
.gallery{background:#f4f0e8}.gallery-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:52px}.gallery-heading h2{font-size:clamp(40px,4.3vw,68px);line-height:1.35;letter-spacing:.08em;margin:18px 0 0}.gallery-intro{text-align:right;color:#6f685d;font-size:13px;line-height:2}.gallery-intro span{display:block;margin-top:14px;color:#9b8054;font-size:9px;letter-spacing:.24em}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:240px;grid-auto-flow:dense;gap:10px}.gallery-item{position:relative;grid-column:span 1;grid-row:span 1;padding:0;border:0;background:#1b1814;color:#fff;overflow:hidden;cursor:zoom-in;text-align:left}.gallery-item.gallery-wide{grid-column:span 2}.gallery-item.gallery-tall{grid-row:span 2}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease,filter .5s}.gallery-item:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,9,7,.8),transparent 55%);transition:background .4s}.gallery-item>span{position:absolute;z-index:1;left:22px;right:22px;bottom:19px;display:flex;justify-content:space-between;align-items:end}.gallery-item b{font:400 21px "Noto Serif SC";letter-spacing:.08em}.gallery-item small{font-size:9px;letter-spacing:.16em;color:#d5c4a7}.gallery-item:hover img{transform:scale(1.045)}.gallery-item:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.gallery-hint{display:none}.lightbox{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(10,8,6,.94);opacity:0;visibility:hidden;transition:opacity .3s;color:#fff;touch-action:pan-y}.lightbox.open{opacity:1;visibility:visible}.lightbox figure{width:min(82vw,1200px);height:min(80vh,820px);margin:0;display:flex;flex-direction:column;align-items:center}.lightbox img{max-width:100%;min-height:0;flex:1;object-fit:contain}.lightbox figcaption{padding-top:15px;font:16px "Noto Serif SC";letter-spacing:.12em;color:#d5c4a7}.lightbox button{position:absolute;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.2);color:#fff;width:48px;height:48px;cursor:pointer}.lightbox-close{right:28px;top:24px;font-size:28px}.lightbox-prev{left:28px;font-size:20px}.lightbox-next{right:28px;font-size:20px}
@media(max-width:900px){.gallery-heading{display:block;margin-bottom:30px}.gallery-heading h2{font-size:clamp(34px,10vw,52px);letter-spacing:.04em}.gallery-intro{text-align:left;margin-top:18px}.gallery-intro br{display:none}.gallery-grid{grid-template-columns:none;grid-template-rows:repeat(2,58vw);grid-auto-flow:column;grid-auto-columns:82vw;grid-auto-rows:auto;gap:10px;overflow-x:auto;margin-left:calc(clamp(20px,6vw,42px)*-1);margin-right:calc(clamp(20px,6vw,42px)*-1);padding:0 clamp(20px,6vw,42px) 14px;scroll-snap-type:x mandatory;scrollbar-width:none}.gallery-grid::-webkit-scrollbar{display:none}.gallery-item,.gallery-item.gallery-wide,.gallery-item.gallery-tall{grid-column:auto;grid-row:auto;scroll-snap-align:center}.gallery-hint{display:block;margin:8px 0 0;color:#897f70;font-size:10px;letter-spacing:.12em}.lightbox figure{width:100vw;height:72vh}.lightbox figcaption{font-size:13px}.lightbox-close{right:14px;top:14px}.lightbox-prev{left:12px;bottom:28px}.lightbox-next{right:12px;bottom:28px}}
@media(max-width:390px){.gallery-grid{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;grid-template-rows:repeat(2,64vw);grid-auto-columns:84vw}.gallery-item>span{left:16px;right:16px;bottom:15px}.gallery-item b{font-size:18px}}

/* Cinematic hero video */
video.hero-bg{width:100%;height:100%;display:block;object-fit:cover;object-position:center;background:#100d09 url("assets/world-table-hero.png") center/cover no-repeat}
@media(max-width:900px){video.hero-bg{object-position:58% center}}

/* Cinematic masked title reveal — keeps the final DOM text perfectly continuous */
.hero-title>span,.hero-title>em{display:inline-block}.hero-title.is-revealing>span,.hero-title.is-revealing>em{clip-path:inset(-14% 100% -14% 0);filter:blur(7px);will-change:clip-path,filter,transform}.hero-title.is-revealing>span{animation:titleDevelop 1.35s cubic-bezier(.2,.72,.22,1) .12s both,titleGlint 1.8s ease-out .15s both}.hero-title.is-revealing>em{animation:titleDevelop 1.5s cubic-bezier(.2,.72,.22,1) .52s both,titleGlint 1.9s ease-out .58s both}@keyframes titleDevelop{0%{clip-path:inset(-14% 100% -14% 0);filter:blur(7px);transform:translateY(.12em)}58%{filter:blur(1.5px)}100%{clip-path:inset(-14% 0 -14% 0);filter:none;transform:none}}@keyframes titleGlint{0%,28%{text-shadow:none}58%{text-shadow:0 0 22px rgba(255,221,159,.48),0 0 7px rgba(255,240,204,.28)}100%{text-shadow:none}}[dir="rtl"] .hero-title.is-revealing>span,[dir="rtl"] .hero-title.is-revealing>em{clip-path:inset(-14% 0 -14% 100%);animation-name:titleDevelopRtl,titleGlint}@keyframes titleDevelopRtl{0%{clip-path:inset(-14% 0 -14% 100%);filter:blur(7px);transform:translateY(.12em)}58%{filter:blur(1.5px)}100%{clip-path:inset(-14% 0 -14% 0);filter:none;transform:none}}@media(prefers-reduced-motion:reduce){.hero-title.is-revealing>span,.hero-title.is-revealing>em{animation:none;clip-path:none;filter:none;transform:none}}

/* Editorial reveals used only on key storytelling moments */
.cinematic-title{clip-path:inset(-12% 100% -12% 0);filter:blur(5px);transform:translateY(.14em)}.cinematic-title.title-visible{animation:sectionTitleDevelop 1.25s cubic-bezier(.2,.72,.22,1) .12s both,sectionTitleGlint 1.7s ease-out .15s both}@keyframes sectionTitleDevelop{0%{clip-path:inset(-12% 100% -12% 0);filter:blur(5px);transform:translateY(.14em)}62%{filter:blur(1px)}100%{clip-path:inset(-12% 0 -12% 0);filter:none;transform:none}}@keyframes sectionTitleGlint{0%,35%{text-shadow:none}62%{text-shadow:0 0 16px rgba(200,166,106,.3)}100%{text-shadow:none}}[dir="rtl"] .cinematic-title{clip-path:inset(-12% 0 -12% 100%)}[dir="rtl"] .cinematic-title.title-visible{animation-name:sectionTitleDevelopRtl,sectionTitleGlint}@keyframes sectionTitleDevelopRtl{0%{clip-path:inset(-12% 0 -12% 100%);filter:blur(5px);transform:translateY(.14em)}62%{filter:blur(1px)}100%{clip-path:inset(-12% 0 -12% 0);filter:none;transform:none}}
.gallery-item.reveal{transform:none;transition:opacity .55s ease}.gallery-item.reveal.visible{animation:galleryCurtain 1.05s cubic-bezier(.2,.72,.22,1) both}.gallery-item.reveal.visible img{animation:galleryImageSettle 1.25s cubic-bezier(.2,.72,.22,1) both}.gallery-item.reveal.visible:hover img{transform:scale(1.045)}.gallery-item:nth-child(2n).reveal.visible{animation-delay:.08s}.gallery-item:nth-child(3n).reveal.visible{animation-delay:.16s}@keyframes galleryCurtain{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}@keyframes galleryImageSettle{from{transform:scale(1.08)}to{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.cinematic-title,.cinematic-title.title-visible{animation:none;clip-path:none;filter:none;transform:none}.gallery-item.reveal,.gallery-item.reveal.visible{clip-path:none;transition-duration:.01ms}.gallery-item.reveal img,.gallery-item.reveal.visible img{transform:none;transition-duration:.01ms}}
.card-japan{background-image:url("assets/photos/live-grill.webp");background-position:52% center}.card-west{background-image:url("assets/photos/wok-cooking.webp");background-position:50% center}.card-asia{background-image:url("assets/photos/sushi-selection.webp");background-position:48% center}.card-dessert{background-image:url("assets/photos/seafood-display.webp");background-position:52% center}.experience-visual{background-image:url("assets/photos/dining-room.webp");background-position:56% center;background-size:cover}
.hero-bg{background-image:url("assets/photos/dining-room.webp");background-position:center;background-size:cover}.story{background-image:linear-gradient(rgba(15,11,8,.65),rgba(15,11,8,.72)),url("assets/photos/dining-room.webp")}

/* Layered HERO carousel */
.hero-media{position:absolute;inset:-5%;overflow:hidden;will-change:transform;background:#100d09}.hero-slide{position:absolute;inset:0;background:var(--hero-image) center/cover no-repeat;opacity:0;transform:scale(1.08) translate3d(1.5%,0,0);transition:opacity 1.4s ease;will-change:opacity,transform}.hero-slide:nth-child(even){transform:scale(1.08) translate3d(-1.5%,0,0)}.hero-slide.is-active{z-index:1;opacity:1;animation:heroDrift 6.4s cubic-bezier(.2,.55,.3,1) both}.hero-slide.is-leaving{z-index:2;opacity:0;transform:scale(1.03);transition:opacity 1.4s ease,transform 1.8s ease}@keyframes heroDrift{from{transform:scale(1.08) translate3d(1.5%,0,0)}to{transform:scale(1.015) translate3d(0,0,0)}}.hero-slide:nth-child(even).is-active{animation-name:heroDriftReverse}@keyframes heroDriftReverse{from{transform:scale(1.08) translate3d(-1.5%,0,0)}to{transform:scale(1.015) translate3d(0,0,0)}}.hero-pagination{position:absolute;z-index:3;left:50%;bottom:38px;display:flex;gap:9px;transform:translateX(-50%)}.hero-pagination button{width:28px;height:18px;padding:0;border:0;background:transparent;cursor:pointer;position:relative}.hero-pagination button:before{content:"";position:absolute;left:0;right:0;top:8px;height:1px;background:rgba(255,255,255,.42)}.hero-pagination button:after{content:"";position:absolute;left:0;top:8px;width:0;height:1px;background:var(--gold)}.hero-pagination button.is-active:after{animation:heroProgress 5.6s linear forwards}@keyframes heroProgress{to{width:100%}}
@media(max-width:900px){.hero-media{inset:0}.hero-slide{background-position:58% center}.hero-slide:first-child{background-position:55% center}.hero-pagination{bottom:18px;left:auto;right:18px;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide.is-active,.hero-slide.is-leaving{animation:none;transition:none;transform:none}.hero-pagination button.is-active:after{animation:none;width:100%}}

/* Deliberately slower typography rhythm */
.hero-title.is-revealing>span{animation-duration:2.1s,2.55s;animation-delay:.2s,.25s}.hero-title.is-revealing>em{animation-duration:2.35s,2.7s;animation-delay:.85s,.92s}.cinematic-title.title-visible{animation-duration:1.95s,2.4s;animation-delay:.18s,.24s}

/* Real visit actions */
.booking-actions{display:grid;gap:12px;align-content:center}.booking-action{display:grid;grid-template-columns:1fr auto;gap:7px 20px;padding:24px 26px;border:1px solid #4f4940;transition:border-color .3s,background .3s,transform .3s}.booking-action small{grid-column:1/-1;color:#9a8f80;font-size:8px;letter-spacing:.22em}.booking-action b{font:400 20px "Noto Serif SC"}.booking-action span{align-self:center;color:#b5aa9b;font-size:10px}.booking-action.primary{border-color:var(--gold);background:#2b261f}.booking-action:hover{border-color:var(--gold);background:#2b261f;transform:translateX(5px)}@media(max-width:900px){.booking-actions{gap:10px}.booking-action{padding:21px 20px}.booking-action:hover{transform:none}}[dir="rtl"] .booking-action:hover{transform:translateX(-5px)}

/* Mobile navigation actions stay in flow instead of covering menu links */
.mobile-nav-actions{display:none}
@media(max-width:900px){.topbar>.brand{order:1;flex:0 0 auto}.topbar>.languages{order:2;margin-left:auto}.topbar>.menu-toggle{order:3;flex:0 0 44px}.topbar>nav{order:4}.topbar>.nav-book{order:5}.topbar.open nav>a{flex:0 0 auto}.mobile-nav-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:26px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}.mobile-nav-actions>a{display:grid!important;gap:7px;min-width:0;padding:17px!important;border:1px solid rgba(200,166,106,.48)!important;background:#211d18}.mobile-nav-actions>a:first-child{background:var(--gold);color:#21190f}.mobile-nav-actions small{font-size:7px;letter-spacing:.16em;opacity:.65}.mobile-nav-actions b{font:400 17px "Noto Serif SC"}.mobile-nav-actions span{overflow:hidden;font-size:9px;white-space:nowrap;text-overflow:ellipsis;opacity:.8}.topbar.open:after{pointer-events:none}}
@media(max-width:430px){.topbar,.topbar.scrolled{padding-left:14px;padding-right:10px}.brand{gap:7px}.brand-mark{width:34px;height:34px}.brand b{font-size:15px;letter-spacing:.18em}.languages{margin-right:1px!important}.languages button{min-width:29px;padding:0 3px}.mobile-nav-actions{grid-template-columns:1fr}.topbar.open nav{padding:22px 20px 30px}.topbar.open nav>a{font-size:20px;padding:15px 0}}

/* Keep the mobile drawer above composited HERO animation layers */
@media(max-width:900px){.hero{z-index:0}.topbar.open{z-index:1000;isolation:isolate}.topbar.open:after{display:none}.topbar.open nav{z-index:1;background:#181512}.topbar.open>.brand,.topbar.open>.languages,.topbar.open>.menu-toggle{z-index:2}}

/* backdrop-filter makes fixed descendants use the header as their containing block */
@media(max-width:900px){.topbar.open nav{position:absolute;top:68px;bottom:auto;height:calc(100dvh - 68px);max-height:calc(100dvh - 68px)}}

/* Top-down mobile drawer motion */
@media(max-width:900px){.topbar nav{display:flex;position:absolute;top:68px;left:0;right:0;height:calc(100dvh - 68px);visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-100%);transition:transform .48s cubic-bezier(.22,.78,.2,1),opacity .28s ease,visibility 0s linear .48s}.topbar.open nav{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0);transition-delay:0s}.topbar nav>a,.topbar nav>.mobile-nav-actions{opacity:0;transform:translateY(-12px);transition:opacity .24s ease,transform .36s ease}.topbar.open nav>a,.topbar.open nav>.mobile-nav-actions{opacity:1;transform:none}.topbar.open nav>a:nth-child(1){transition-delay:.16s}.topbar.open nav>a:nth-child(2){transition-delay:.2s}.topbar.open nav>a:nth-child(3){transition-delay:.24s}.topbar.open nav>a:nth-child(4){transition-delay:.28s}.topbar.open nav>a:nth-child(5){transition-delay:.32s}.topbar.open nav>.mobile-nav-actions{transition-delay:.36s}}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.topbar nav,.topbar nav>a,.topbar nav>.mobile-nav-actions{transition:none;transform:none}}

/* Refined curtain reveal: the header stays still while the drawer unfolds */
@media(max-width:900px){.topbar nav{opacity:1;transform:none;clip-path:inset(0 0 100% 0);transition:clip-path .56s cubic-bezier(.76,0,.24,1),visibility 0s linear .56s;will-change:clip-path}.topbar.open nav{clip-path:inset(0 0 0 0);transition-delay:0s}.topbar nav>a,.topbar nav>.mobile-nav-actions{opacity:0;transform:translateY(-8px);transition:opacity .25s ease,transform .32s ease}.topbar.open nav>a,.topbar.open nav>.mobile-nav-actions{opacity:1;transform:none}.topbar.open nav>a:nth-child(1){transition-delay:.2s}.topbar.open nav>a:nth-child(2){transition-delay:.23s}.topbar.open nav>a:nth-child(3){transition-delay:.26s}.topbar.open nav>a:nth-child(4){transition-delay:.29s}.topbar.open nav>a:nth-child(5){transition-delay:.32s}.topbar.open nav>.mobile-nav-actions{transition-delay:.35s}}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.topbar nav{clip-path:none}}

/* Mobile gallery swipe affordance */
.gallery-grid-wrap{position:relative}.gallery-swipe-cue{display:none}
@media(max-width:900px){.gallery-swipe-cue{position:absolute;z-index:3;right:calc(clamp(20px,6vw,42px)*-1);top:50%;display:flex;align-items:center;gap:7px;padding:10px 13px 10px 24px;color:#fff;background:linear-gradient(90deg,transparent,rgba(20,17,14,.88) 32%);font-size:9px;letter-spacing:.12em;transform:translateY(-50%);pointer-events:none;transition:opacity .35s,visibility .35s}.gallery-swipe-cue b{font:400 19px/1 sans-serif;color:var(--gold);animation:gallerySwipeHint 1.4s ease-in-out infinite}.gallery-swipe-cue.is-hidden{opacity:0;visibility:hidden}@keyframes gallerySwipeHint{0%,100%{transform:translateX(-4px);opacity:.45}50%{transform:translateX(4px);opacity:1}}}
@media(max-width:390px){.gallery-swipe-cue{right:-18px}}
@media(prefers-reduced-motion:reduce){.gallery-swipe-cue b{animation:none}}

/* Stronger mobile gallery cue */
@media(max-width:900px){.gallery-swipe-cue{right:calc(clamp(20px,6vw,42px)*-1 + 8px);gap:10px;padding:15px 17px 15px 24px;border:1px solid rgba(232,199,136,.78);border-right:0;border-radius:28px 0 0 28px;background:rgba(69,39,27,.94);box-shadow:-8px 8px 28px rgba(18,12,8,.35),0 0 20px rgba(200,166,106,.2);font-size:12px;font-weight:500;letter-spacing:.14em;backdrop-filter:blur(8px);animation:galleryCuePulse 2s ease-in-out infinite}.gallery-swipe-cue b{font-size:28px;color:#f0cb87;animation:gallerySwipeHintStrong 1.15s ease-in-out infinite}@keyframes gallerySwipeHintStrong{0%,100%{transform:translateX(-5px)}50%{transform:translateX(7px)}}@keyframes galleryCuePulse{0%,100%{box-shadow:-8px 8px 28px rgba(18,12,8,.35),0 0 12px rgba(200,166,106,.14)}50%{box-shadow:-8px 8px 28px rgba(18,12,8,.4),0 0 28px rgba(200,166,106,.42)}}.gallery-swipe-cue.is-hidden{animation:none}}
@media(max-width:390px){.gallery-swipe-cue{right:-10px}}
@media(prefers-reduced-motion:reduce){.gallery-swipe-cue{animation:none}}
