@keyframes fall{0%{transform:translateY(-100vh) rotate(0deg);opacity:1}to{transform:translateY(100vh) rotate(1turn);opacity:0}}.animate-fall{animation:fall linear infinite}@keyframes bounce-slow{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-30px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-15px,0)}90%{transform:translate3d(0,-4px,0)}}.animate-bounce-slow{animation:bounce-slow 2s infinite}@keyframes scroll{0%{transform:translateY(0);opacity:1}to{transform:translateY(12px);opacity:0}}.animate-scroll{animation:scroll 2s infinite}@keyframes float{0%{transform:translateY(0)}to{transform:translateY(-20px)}}.animate-float{animation:float 3s ease-in-out infinite alternate}@keyframes fadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn .6s ease-out forwards}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-left{animation:slideInLeft .8s ease-out forwards}@keyframes slideInRight{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}.animate-slide-in-right{animation:slideInRight .8s ease-out forwards}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-rotate{animation:rotate 2s linear infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-pulse-custom{animation:pulse 2s ease-in-out infinite}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(0,0,0,.2)}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.animate-gradient{background-size:200% 200%;animation:gradientShift 3s ease infinite}.translate-49{transform:translate(49%)}.translate-51{transform:translate(51%)}.position-pixel-perfect{position:absolute;top:0;left:0;transform:translate(0)}.enter-state{opacity:0;transform:translateY(20px);transition:all .3s ease}.active-state{opacity:1;transform:translateY(0);transition:all .3s ease}.exit-state{opacity:0;transform:translateY(-20px);transition:all .3s ease}@media (max-width:768px){.mobile-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (min-width:769px){.desktop-position{position:absolute;top:20%;left:30%;transform:translate(0)}}.complex-layout{position:relative;overflow:hidden}.complex-layout:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1}.parallax-container{position:relative;overflow:hidden}.parallax-layer{position:absolute;top:0;left:0;width:100%;height:100%;will-change:transform}.fixed-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:10}.absolute-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.absolute-center-x{position:absolute;left:50%;transform:translateX(-50%)}.absolute-center-y{position:absolute;top:50%;transform:translateY(-50%)}.grid-overlay{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.grid-item{grid-column:span 1}.flex-center{justify-content:center}.flex-between,.flex-center{display:flex;align-items:center}.flex-between{justify-content:space-between}.flex-start{display:flex;align-items:flex-start;justify-content:flex-start}.flex-end{display:flex;align-items:flex-end;justify-content:flex-end}.z-base{z-index:1}.z-overlay{z-index:10}.z-modal{z-index:100}.z-tooltip{z-index:1000}.overflow-hidden-x{overflow-x:hidden}.overflow-hidden-y{overflow-y:hidden}.overflow-scroll-x{overflow-x:auto}.overflow-scroll-y{overflow-y:auto}.full-width{width:100%}.full-height{height:100%}.full-screen{width:100vw;height:100vh}.spacing-xs{margin:.25rem;padding:.25rem}.spacing-sm{margin:.5rem;padding:.5rem}.spacing-md{margin:1rem;padding:1rem}.spacing-lg{margin:1.5rem;padding:1.5rem}.spacing-xl{margin:2rem;padding:2rem}:root{--tokyo-gold:#c8a068;--tokyo-gold-light:#d4b078;--tokyo-gold-dark:#b89058;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#e5e5e5;--neutral-300:#d4d4d4;--neutral-400:#a3a3a3;--neutral-500:#737373;--neutral-600:#525252;--neutral-700:#404040;--neutral-800:#262626;--neutral-900:#171717;--primary:var(--tokyo-gold);--primary-light:var(--tokyo-gold-light);--primary-dark:var(--tokyo-gold-dark);--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-dark:#1a1a1a;--text-primary:#1a1a1a;--text-secondary:#6b7280;--text-light:#fff;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem}.bg-tokyo-gold{background-color:var(--tokyo-gold)}.bg-tokyo-gold-light{background-color:var(--tokyo-gold-light)}.bg-tokyo-gold-dark{background-color:var(--tokyo-gold-dark)}.text-tokyo-gold{color:var(--tokyo-gold)}.text-tokyo-gold-light{color:var(--tokyo-gold-light)}.text-tokyo-gold-dark{color:var(--tokyo-gold-dark)}.border-tokyo-gold{border-color:var(--tokyo-gold)}.border-tokyo-gold-light{border-color:var(--tokyo-gold-light)}.border-tokyo-gold-dark{border-color:var(--tokyo-gold-dark)}.tokyo-gold-border{border:2px solid var(--tokyo-gold)}.tokyo-gold-border-thick{border:4px solid var(--tokyo-gold)}.tokyo-gold-border-dashed{border:2px dashed var(--tokyo-gold)}.text-shadow-sm{text-shadow:1px 1px 2px rgba(0,0,0,.3)}.text-shadow-md{text-shadow:2px 2px 4px rgba(0,0,0,.4)}.text-shadow-lg{text-shadow:2px 2px 4px rgba(0,0,0,.5)}.text-shadow-xl{text-shadow:3px 3px 6px rgba(0,0,0,.6)}.shadow-3xl{box-shadow:0 35px 60px -12px rgba(0,0,0,.25)}.shadow-tokyo{box-shadow:0 4px 20px hsla(35,47%,60%,.3)}.shadow-tokyo-lg{box-shadow:0 10px 40px hsla(35,47%,60%,.4)}.glass-effect{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2)}.glass-effect-dark{backdrop-filter:blur(10px);background:rgba(0,0,0,.1);border:1px solid hsla(0,0%,100%,.1)}.gradient-tokyo{background:linear-gradient(135deg,var(--tokyo-gold),var(--tokyo-gold-light))}.gradient-tokyo-dark{background:linear-gradient(135deg,var(--tokyo-gold-dark),var(--tokyo-gold))}.gradient-overlay{background:linear-gradient(135deg,hsla(35,47%,60%,.1),hsla(35,47%,60%,.3) 50%,hsla(35,47%,60%,.1))}.font-besley{font-family:Besley,serif}.font-japanese{font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif}.vertical-text,.writing-mode-vertical-rl{writing-mode:vertical-rl;text-orientation:mixed}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:var(--neutral-100);border-radius:var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb{background:var(--tokyo-gold);border-radius:var(--radius-full)}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--tokyo-gold-dark)}@media (max-width:640px){.mobile-hidden{display:none}}@media (min-width:641px){.desktop-hidden{display:none}}@media print{.print-hidden{display:none!important}.print-visible{display:block!important}}@media (prefers-contrast:high){.high-contrast{border:2px solid}}@media (prefers-reduced-motion:reduce){.no-motion{animation:none!important;transition:none!important}}.hero-door{background-size:cover;background-position:50%;background-repeat:no-repeat;will-change:transform}.hero-door-1,.hero-door-2,.hero-door-3,.hero-door-4{background-image:url(/assets/images/Shoji.svg)}.hero-content-overlay{will-change:transform,opacity;transform-origin:center center}.hero-logo{will-change:width,height;transition:all .3s ease}.hero-title{text-shadow:2px 2px 4px rgba(0,0,0,.8);will-change:opacity}.hero-subtitle{text-shadow:1px 1px 2px rgba(0,0,0,.6);will-change:opacity}.hero-background{will-change:transform,opacity;transform-origin:center center}.hero-restaurant-image{will-change:transform;transform-origin:center center}.hero-parallax{will-change:transform}@media (max-width:768px){.hero-title{font-size:2.5rem;line-height:1.2}.hero-subtitle{font-size:1.125rem}.hero-logo{width:80px;height:80px}}@media (max-width:480px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.hero-logo{width:60px;height:60px}}@media (prefers-contrast:high){.hero-subtitle,.hero-title{text-shadow:3px 3px 6px #000}}@media (prefers-reduced-motion:reduce){.hero-background,.hero-content-overlay,.hero-door,.hero-logo,.hero-parallax,.hero-restaurant-image,.hero-subtitle,.hero-title{will-change:auto}}.about-petal{background-size:cover;background-position:50%;background-repeat:no-repeat;will-change:transform,opacity;border-radius:50%}.about-petal-1{background-image:url(/assets/images/petal1.png)}.about-petal-2{background-image:url(/assets/images/petal2.png)}.about-petal-3{background-image:url(/assets/images/petal3.png)}.about-petal-4{background-image:url(/assets/images/petal4.png)}.about-petal-5{background-image:url(/assets/images/petal5.png)}.about-petal-6{background-image:url(/assets/images/petal6.png)}.about-petal-7{background-image:url(/assets/images/petal7.png)}.about-petal-8{background-image:url(/assets/images/petal8.png)}.about-content{position:absolute;top:50%;left:70%;transform:translate(-50%,-50%);max-width:32rem;width:32rem;padding:2.5rem 2rem;will-change:opacity,transform}.about-title{text-shadow:2px 2px 4px rgba(0,0,0,.3);will-change:opacity}.about-text{text-shadow:1px 1px 2px rgba(0,0,0,.2);will-change:opacity}.about-background{background-size:cover;background-position:50%;background-repeat:no-repeat;overflow-x:hidden}@media (max-width:1024px){.about-content{left:60%;width:28rem;max-width:85%;padding:2rem 1.5rem}.about-title{font-size:3rem}}@media (max-width:768px){.about-content{padding:2rem 1.5rem;max-width:95%}.about-title{font-size:2.5rem}.about-text{font-size:1rem}}@media (max-width:480px){.about-content{padding:1.5rem 1rem}.about-title{font-size:2rem}.about-text{font-size:.875rem}}@media (prefers-contrast:high){.about-title{text-shadow:3px 3px 6px rgba(0,0,0,.8)}.about-text{text-shadow:2px 2px 4px rgba(0,0,0,.6)}}@media (prefers-reduced-motion:reduce){.about-petal{animation:none}.about-content,.about-petal,.about-text,.about-title{will-change:auto}}.values-card{will-change:transform,opacity,width;transition:all .7s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.15)}.values-card:hover{transform:translateY(-4px) scale(1.02)}.values-card.active{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.25);transform:scale(1.05);z-index:10;width:20rem}.values-title{text-shadow:2px 2px 4px rgba(0,0,0,.5);will-change:opacity;transition:all .3s ease}.values-content{will-change:max-width,opacity,transform;transition:all .7s cubic-bezier(.4,0,.2,1);border-top:2px solid hsla(0,0%,100%,.3);text-shadow:1px 1px 2px rgba(0,0,0,.3)}.values-content.active{max-width:32rem;opacity:1;transform:translateY(0)}.values-content.inactive{max-width:0;opacity:0;transform:translateY(.5rem)}.values-vertical-text{writing-mode:vertical-rl;text-orientation:mixed}.values-background{background-size:cover;background-position:50%;background-repeat:no-repeat;overflow-x:hidden}.values-overlay{background:rgba(0,0,0,.3);backdrop-filter:blur(2px)}.values-container{will-change:transform}.values-container.has-active .values-card:not(.active){opacity:.7;transform:scale(.95)}@media (max-width:1024px){.values-card{height:20rem;width:5rem}.values-card.active{width:18rem}.values-title{font-size:2.5rem}}@media (max-width:768px){.values-container{flex-direction:column;gap:1rem}.values-card{height:4rem;width:100%;max-width:20rem}.values-card.active{height:auto;width:100%;max-width:24rem}.values-title{font-size:2rem}.values-vertical-text{writing-mode:horizontal-tb;text-orientation:mixed}}@media (max-width:480px){.values-card{height:3.5rem;padding:1.5rem}.values-card.active{padding:2rem}.values-title{font-size:1.5rem}}@media (prefers-contrast:high){.values-card{border-width:2px;background:hsla(0,0%,100%,.2)}.values-card.active{background:hsla(0,0%,100%,.3);border-width:3px}.values-title{text-shadow:3px 3px 6px rgba(0,0,0,.8)}.values-content{text-shadow:2px 2px 4px rgba(0,0,0,.6)}}@media (prefers-reduced-motion:reduce){.values-card,.values-content,.values-title{transition:none;will-change:auto}.values-card.active,.values-card:hover{transform:none}}.menu-container{will-change:opacity,transform}.menu-option{position:relative;overflow:hidden;will-change:transform;transition:all .4s cubic-bezier(.4,0,.2,1)}.menu-option:hover{transform:translateY(-8px) scale(1.02)}.menu-border{position:absolute;pointer-events:none;border:2px solid var(--tokyo-gold);transition:all .3s ease}.menu-border-top-left{top:1.25rem;left:1.25rem;width:5rem;height:5rem;border-right:none;border-bottom:none}.menu-border-bottom-right{bottom:1.25rem;right:1.25rem;width:5rem;height:5rem;border-left:none;border-top:none}.menu-option:hover .menu-border{border-color:var(--tokyo-gold-light);transform:scale(1.1)}.menu-image{transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.menu-option:hover .menu-image{transform:scale(1.05)}.menu-hover-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,hsla(35,47%,60%,.1),hsla(35,47%,60%,.3) 50%,hsla(35,47%,60%,.1));opacity:0;transition:opacity .4s ease;pointer-events:none}.menu-option:hover .menu-hover-overlay{opacity:1}.menu-background{background-size:cover;background-position:50%;background-repeat:no-repeat;overflow-x:hidden}@media (max-width:1024px){.menu-container{gap:2rem}.menu-option{height:400px}}@media (max-width:768px){.menu-container{flex-direction:column;gap:1.5rem;padding:1rem}.menu-option{height:350px}.menu-border-bottom-right,.menu-border-top-left{width:3rem;height:3rem}}@media (max-width:480px){.menu-option{height:300px}.menu-border-bottom-right,.menu-border-top-left{width:2.5rem;height:2.5rem}}@media (prefers-contrast:high){.menu-border{border-width:3px}.menu-option:hover .menu-border{border-color:var(--tokyo-gold-dark)}}@media (prefers-reduced-motion:reduce){.menu-hover-overlay,.menu-image,.menu-option{transition:none;will-change:auto}.menu-option:hover,.menu-option:hover .menu-image{transform:none}}.map-section{position:relative;min-height:100vh;background-attachment:fixed;background-size:cover;background-position:50%;background-repeat:no-repeat;overflow-x:hidden;display:flex;align-items:center;justify-content:center}.store-card{background:hsla(0,0%,100%,.9);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(139,111,71,.15);transition:all .3s ease;border:2px solid rgba(212,175,55,.3);width:100%;max-width:600px}.store-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(139,111,71,.25);border-color:rgba(212,175,55,.5)}.store-card-inner{padding:32px}.map-wrapper{border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.1)}.map-wrapper iframe{display:block}.info-row{display:flex;flex-wrap:wrap;gap:8px;line-height:1.6}@media (max-width:1024px){.store-card{max-width:500px}}@media (max-width:768px){.map-section{background-attachment:scroll}.store-card{max-width:100%}.store-card-inner{padding:24px}.map-wrapper iframe{height:200px}}@media (max-width:480px){.store-card-inner{padding:20px}}