:root{--color-charcoal: #1a1a1a;--color-gold: #d4af37;--color-gold-light: #e5c769;--color-gold-dark: #b8962c;--color-cream: #f8f6f3;--color-cream-dark: #efe9e0;--color-text: #2c2c2c;--color-text-light: #6b6b6b;--color-olive: #556b2f;--color-olive-light: #7a9a45;--color-white: #ffffff;--color-overlay: rgba(0, 0, 0, .6);--color-overlay-light: rgba(0, 0, 0, .4);--font-heading: "Cormorant Garamond", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .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;--text-7xl: 4.5rem;--text-8xl: 6rem;--space-1: .25rem;--space-2: .5rem;--space-3: .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;--max-width: 1400px;--header-height: 80px;--transition-fast: .15s ease;--transition-base: .3s ease;--transition-slow: .5s ease;--transition-slower: .8s ease;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .2);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{font-family:var(--font-body);font-weight:400;line-height:1.6;color:var(--color-text);background-color:var(--color-cream);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit}.heading-display{font-family:var(--font-heading);font-weight:400;line-height:1.1;letter-spacing:.02em}.heading-xl{font-family:var(--font-heading);font-size:var(--text-6xl);font-weight:400;line-height:1.1;letter-spacing:.02em}.heading-lg{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;line-height:1.2}.heading-md{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:400;line-height:1.2}.heading-sm{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;line-height:1.3}.text-body{font-size:var(--text-base);line-height:1.7}.text-sm{font-size:var(--text-sm);line-height:1.6}.text-lg{font-size:var(--text-lg);line-height:1.7}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-6)}.section{padding:var(--space-24) 0;overflow-x:hidden;position:relative}.section-dark{background-color:var(--color-charcoal);color:var(--color-cream)}.section-cream{background-color:var(--color-cream)}.section-title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;text-align:center;margin-bottom:var(--space-4);letter-spacing:.02em}.section-subtitle{text-align:center;color:var(--color-text-light);max-width:600px;margin:0 auto var(--space-16);font-size:var(--text-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);font-size:var(--text-sm);font-weight:500;letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm);transition:all var(--transition-base);cursor:pointer}.btn-primary{background-color:var(--color-gold);color:var(--color-charcoal);border:2px solid var(--color-gold)}.btn-primary:hover{background-color:var(--color-gold-light);border-color:var(--color-gold-light);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background-color:transparent;color:var(--color-gold);border:2px solid var(--color-gold)}.btn-outline:hover{background-color:var(--color-gold);color:var(--color-charcoal)}.btn-white{background-color:var(--color-white);color:var(--color-charcoal);border:2px solid var(--color-white)}.btn-white:hover{background-color:transparent;color:var(--color-white)}.form-group{margin-bottom:var(--space-6)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--color-text);margin-bottom:var(--space-2);letter-spacing:.05em;text-transform:uppercase}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-4);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-white);border:1px solid #ddd;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 0 3px #d4af371a}.form-input.error,.form-select.error,.form-textarea.error{border-color:#dc3545}.form-error{color:#dc3545;font-size:var(--text-sm);margin-top:var(--space-1)}.form-textarea{min-height:120px;resize:vertical}.divider{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin:var(--space-8) 0}.divider:before,.divider:after{content:"";height:1px;width:60px;background-color:var(--color-gold)}.divider-icon{color:var(--color-gold);font-size:var(--text-lg)}.fade-in{opacity:0;transform:translateY(30px);transition:opacity var(--transition-slower),transform var(--transition-slower)}.fade-in.visible{opacity:1;transform:translateY(0)}.fade-in-left{opacity:0;transform:translate(-30px);transition:opacity var(--transition-slower),transform var(--transition-slower)}.fade-in-left.visible{opacity:1;transform:translate(0)}.fade-in-right{opacity:0;transform:translate(30px);transition:opacity var(--transition-slower),transform var(--transition-slower)}.fade-in-right.visible{opacity:1;transform:translate(0)}@media(max-width:1024px){:root{--text-6xl: 3rem;--text-7xl: 3.5rem;--text-8xl: 4.5rem}.section{padding:var(--space-16) 0}}@media(max-width:768px){:root{--text-5xl: 2.25rem;--text-6xl: 2.5rem;--text-7xl: 3rem;--text-8xl: 3.5rem;--header-height: 70px}.container{padding:0 var(--space-4)}.section{padding:var(--space-12) 0}.section-title{font-size:var(--text-4xl)}.section-subtitle{font-size:var(--text-base);margin-bottom:var(--space-10)}}@media(max-width:480px){:root{--text-4xl: 1.875rem;--text-5xl: 2rem;--text-6xl: 2.25rem}}.text-center{text-align:center}.text-gold{color:var(--color-gold)}.text-olive{color:var(--color-olive)}.mb-0{margin-bottom:0}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.japanese{font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:.85em;color:var(--color-text-light)}.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-5) 0;transition:all var(--transition-base);background-color:transparent;overflow-x:hidden}.header--scrolled{background-color:#1a1a1af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-3) 0;box-shadow:var(--shadow-lg)}.header__container{display:flex;align-items:center;justify-content:space-between}.header__logo{display:flex;flex-direction:column;line-height:1}.header__logo-text{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;color:var(--color-gold);letter-spacing:.1em}.header__logo-subtext{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-cream);letter-spacing:.3em;text-transform:uppercase}.header__nav{display:none}.header__nav-list{display:flex;gap:var(--space-8)}.header__nav-link{font-size:var(--text-sm);font-weight:400;color:var(--color-cream);letter-spacing:.1em;text-transform:uppercase;position:relative;padding:var(--space-2) 0;transition:color var(--transition-fast)}.header__nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-gold);transition:width var(--transition-base)}.header__nav-link:hover{color:var(--color-gold)}.header__nav-link:hover:after{width:100%}.header__actions{display:none;align-items:center;gap:var(--space-6)}.header__phone{display:flex;align-items:center;gap:var(--space-2);color:var(--color-cream);font-size:var(--text-sm);letter-spacing:.05em;transition:color var(--transition-fast)}.header__phone:hover{color:var(--color-gold)}.header__cta{padding:var(--space-3) var(--space-6)}.header__mobile-toggle{display:flex;align-items:center;justify-content:center;color:var(--color-cream);transition:color var(--transition-fast)}.header__mobile-toggle:hover{color:var(--color-gold)}.header__mobile-menu{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:var(--color-charcoal);transform:translate(100%);transition:transform var(--transition-base);overflow-y:auto;z-index:999}.header__mobile-menu--open{transform:translate(0)}.header__mobile-nav{padding:var(--space-8) var(--space-6)}.header__mobile-nav-list{display:flex;flex-direction:column;gap:var(--space-6)}.header__mobile-nav-link{font-family:var(--font-heading);font-size:var(--text-2xl);color:var(--color-cream);letter-spacing:.05em;transition:color var(--transition-fast)}.header__mobile-nav-link:hover{color:var(--color-gold)}.header__mobile-cta{margin-top:var(--space-4);width:100%;text-align:center}@media(min-width:1024px){.header__nav{display:block}.header__actions{display:flex}.header__mobile-toggle{display:none}}@media(min-width:768px){.header__phone span{display:inline}}@media(max-width:767px){.header__phone span{display:none}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero__background{position:absolute;inset:0;background-image:url(https://images.unsplash.com/photo-1579027989536-b7b1f875659b?ixlib=rb-4.0.3&auto=format&fit=crop&w=2070&q=80);background-size:cover;background-position:center;background-attachment:fixed}.hero__overlay{position:absolute;inset:0;background:linear-gradient(135deg,#1a1a1ad9,#1a1a1ab3,#1a1a1ad9)}.hero__content{position:relative;z-index:1;text-align:center;padding:var(--space-8);max-width:900px}.hero__tagline-top{font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:var(--text-lg);color:var(--color-gold);letter-spacing:.5em;margin-bottom:var(--space-6);opacity:0;animation:fadeInUp 1s ease forwards .3s}.hero__title{margin-bottom:var(--space-6)}.hero__title-line{display:block;font-family:var(--font-heading);font-weight:400;color:var(--color-cream);line-height:1;letter-spacing:.1em;opacity:0;animation:fadeInUp 1s ease forwards}.hero__title-line:first-child{font-size:var(--text-7xl);animation-delay:.5s}.hero__title-line--accent{font-size:var(--text-5xl);color:var(--color-gold);margin-top:var(--space-2);animation-delay:.7s}.hero__divider{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-6);opacity:0;animation:fadeInUp 1s ease forwards .9s}.hero__divider-line{width:80px;height:1px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent)}.hero__divider-icon{font-family:Yu Gothic,serif;font-size:var(--text-2xl);color:var(--color-gold)}.hero__tagline{font-family:var(--font-heading);font-size:var(--text-2xl);font-style:italic;color:var(--color-cream);letter-spacing:.05em;margin-bottom:var(--space-6);opacity:0;animation:fadeInUp 1s ease forwards 1.1s}.hero__description{font-size:var(--text-lg);color:#f8f6f3cc;max-width:600px;margin:0 auto var(--space-10);line-height:1.8;opacity:0;animation:fadeInUp 1s ease forwards 1.3s}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;opacity:0;animation:fadeInUp 1s ease forwards 1.5s}.hero__cta{padding:var(--space-5) var(--space-10);font-size:var(--text-sm)}.hero__cta-secondary{padding:var(--space-5) var(--space-10);font-size:var(--text-sm);color:var(--color-cream);border-color:var(--color-cream)}.hero__cta-secondary:hover{background-color:var(--color-cream);color:var(--color-charcoal)}.hero__scroll-indicator{position:absolute;bottom:var(--space-10);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--color-cream);opacity:0;animation:fadeIn 1s ease forwards 2s;cursor:pointer;transition:color var(--transition-fast)}.hero__scroll-indicator:hover{color:var(--color-gold)}.hero__scroll-text{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase}.hero__scroll-icon{animation:bounce 2s infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(10px)}60%{transform:translateY(5px)}}@media(max-width:768px){.hero__background{background-attachment:scroll}.hero__title-line:first-child{font-size:var(--text-5xl)}.hero__title-line--accent{font-size:var(--text-3xl)}.hero__tagline{font-size:var(--text-xl)}.hero__description{font-size:var(--text-base)}.hero__actions{flex-direction:column;align-items:center}.hero__cta,.hero__cta-secondary{width:100%;max-width:280px}}@media(max-width:480px){.hero__content{padding:var(--space-4)}.hero__tagline-top{font-size:var(--text-base);letter-spacing:.3em}.hero__divider-line{width:50px}}.about{background-color:var(--color-cream);padding:var(--space-24) 0}.about__label{display:inline-block;font-size:var(--text-sm);font-weight:500;color:var(--color-gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-4)}.about__story{display:grid;grid-template-columns:1fr;gap:var(--space-12);margin-bottom:var(--space-24)}.about__title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;color:var(--color-charcoal);line-height:1.2;margin-bottom:var(--space-6)}.about__divider{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-8)}.about__divider-line{width:40px;height:1px;background-color:var(--color-gold)}.about__divider-icon{font-family:Yu Gothic,serif;font-size:var(--text-xl);color:var(--color-gold)}.about__text{font-size:var(--text-lg);color:var(--color-text);line-height:1.8;margin-bottom:var(--space-6)}.about__text:last-child{margin-bottom:0}.about__image-frame{position:relative;overflow:hidden;border-radius:var(--radius-md)}.about__image-frame:before{content:"";position:absolute;inset:-10px;border:1px solid var(--color-gold);border-radius:var(--radius-md);opacity:.3;z-index:-1}.about__image-frame img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.about__image-frame:hover img{transform:scale(1.05)}.about__story-image .about__image-frame{aspect-ratio:4/3}.about__chef{display:grid;grid-template-columns:1fr;gap:var(--space-12);margin-bottom:var(--space-24);padding:var(--space-12);background-color:var(--color-charcoal);border-radius:var(--radius-lg);color:var(--color-cream)}.about__chef .about__text{color:#f8f6f3d9}.about__chef-image .about__image-frame{aspect-ratio:3/4;max-width:400px;margin:0 auto}.about__chef-name{font-family:var(--font-heading);font-size:var(--text-4xl);font-weight:400;color:var(--color-cream);margin-bottom:var(--space-2)}.about__chef-title{font-size:var(--text-base);color:var(--color-gold);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-8)}.about__chef-signature{font-family:var(--font-heading);font-style:italic;font-size:var(--text-lg);color:var(--color-gold);margin-top:var(--space-4)}.about__values{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-8);margin-bottom:var(--space-24)}.about__value-card{text-align:center;padding:var(--space-10);background-color:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.about__value-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.about__value-icon{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;background-color:var(--color-cream);border-radius:50%;color:var(--color-gold);margin-bottom:var(--space-6)}.about__value-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;color:var(--color-charcoal);margin-bottom:var(--space-4)}.about__value-text{font-size:var(--text-base);color:var(--color-text-light);line-height:1.7}.about__awards{text-align:center}.about__awards-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;color:var(--color-charcoal);margin-bottom:var(--space-10)}.about__awards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-6)}.about__award-card{padding:var(--space-8);border:1px solid rgba(212,175,55,.3);border-radius:var(--radius-md);transition:all var(--transition-base)}.about__award-card:hover{border-color:var(--color-gold);background-color:#d4af370d}.about__award-year{display:block;font-size:var(--text-sm);color:var(--color-gold);letter-spacing:.1em;margin-bottom:var(--space-2)}.about__award-name{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:500;color:var(--color-charcoal);margin-bottom:var(--space-2)}.about__award-org{font-size:var(--text-sm);color:var(--color-text-light)}@media(min-width:1024px){.about__story{grid-template-columns:1fr 1fr;align-items:center}.about__chef{grid-template-columns:1fr 1.5fr;align-items:center;padding:var(--space-16)}.about__chef-image{order:-1}}@media(max-width:768px){.about{padding:var(--space-16) 0}.about__title{font-size:var(--text-4xl)}.about__story{margin-bottom:var(--space-16)}.about__chef{padding:var(--space-8);margin-bottom:var(--space-16)}.about__chef-name{font-size:var(--text-3xl)}.about__values{margin-bottom:var(--space-16)}.about__value-card{padding:var(--space-8)}}.menu{background-color:var(--color-charcoal);color:var(--color-cream);padding:var(--space-24) 0}.menu__header{text-align:center;margin-bottom:var(--space-12)}.menu__label{display:inline-block;font-size:var(--text-sm);font-weight:500;color:var(--color-gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-4)}.menu__title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;color:var(--color-cream);margin-bottom:var(--space-4)}.menu__subtitle{font-size:var(--text-lg);color:#f8f6f3b3;max-width:600px;margin:0 auto}.menu__tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-12);padding-bottom:var(--space-6);border-bottom:1px solid rgba(212,175,55,.2)}.menu__tab{padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:500;color:#f8f6f399;background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);letter-spacing:.05em;text-transform:uppercase;transition:all var(--transition-base);cursor:pointer}.menu__tab:hover{color:var(--color-cream);border-color:#d4af374d}.menu__tab--active{color:var(--color-charcoal);background-color:var(--color-gold);border-color:var(--color-gold)}.menu__tab--active:hover{color:var(--color-charcoal)}.menu__content{max-width:1000px;margin:0 auto}.menu__category-header{text-align:center;margin-bottom:var(--space-10)}.menu__category-title{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;color:var(--color-gold);margin-bottom:var(--space-2)}.menu__category-description{font-size:var(--text-base);color:#f8f6f3b3}.menu__items{display:flex;flex-direction:column;gap:var(--space-6)}.menu__item{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:#ffffff08;border:1px solid rgba(212,175,55,.1);border-radius:var(--radius-md);transition:all var(--transition-base)}.menu__item:hover{background:#ffffff0d;border-color:#d4af374d}.menu__item--featured{background:linear-gradient(135deg,#d4af371a,#d4af3705);border-color:#d4af374d}.menu__item-image{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:var(--radius-sm)}.menu__item-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.menu__item:hover .menu__item-image img{transform:scale(1.05)}.menu__item-content{flex:1}.menu__item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-3)}.menu__item-names{flex:1}.menu__item-name{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:500;color:var(--color-cream);margin-bottom:var(--space-1)}.menu__item-japanese{font-family:Yu Gothic,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:var(--text-sm);color:var(--color-gold);opacity:.8}.menu__item-price{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:500;color:var(--color-gold);white-space:nowrap}.menu__item-description{font-size:var(--text-base);color:#f8f6f3b3;line-height:1.7}.menu__item-badge{display:inline-block;margin-top:var(--space-4);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:500;color:var(--color-charcoal);background-color:var(--color-gold);border-radius:var(--radius-sm);letter-spacing:.1em;text-transform:uppercase}.menu__note{text-align:center;font-size:var(--text-sm);color:#f8f6f380;font-style:italic;margin-top:var(--space-10)}@media(min-width:768px){.menu__item{flex-direction:row;align-items:flex-start}.menu__item-image{width:200px;min-width:200px;aspect-ratio:4/3}.menu__item--featured .menu__item-image{width:280px;min-width:280px}}@media(max-width:767px){.menu{padding:var(--space-16) 0}.menu__title{font-size:var(--text-4xl)}.menu__tabs{gap:var(--space-2)}.menu__tab{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.menu__item{padding:var(--space-4)}.menu__item-header{flex-wrap:wrap}.menu__item-price{width:100%;margin-top:var(--space-1)}}.gallery{background-color:var(--color-cream);padding:var(--space-24) 0}.gallery__header{text-align:center;margin-bottom:var(--space-12)}.gallery__label{display:inline-block;font-size:var(--text-sm);font-weight:500;color:var(--color-gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-4)}.gallery__title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;color:var(--color-charcoal);margin-bottom:var(--space-4)}.gallery__subtitle{font-size:var(--text-lg);color:var(--color-text-light);max-width:600px;margin:0 auto}.gallery__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.gallery__item{position:relative;overflow:hidden;border-radius:var(--radius-md);cursor:pointer;aspect-ratio:4/3}.gallery__item--large{grid-column:span 1;grid-row:span 1}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.gallery__item:hover img{transform:scale(1.1)}.gallery__item-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,26,.7) 0%,transparent 50%);display:flex;align-items:flex-end;padding:var(--space-4);opacity:0;transition:opacity var(--transition-base)}.gallery__item:hover .gallery__item-overlay{opacity:1}.gallery__item-category{font-size:var(--text-sm);font-weight:500;color:var(--color-cream);letter-spacing:.1em;text-transform:uppercase}.gallery__lightbox{position:fixed;inset:0;z-index:2000;background-color:#000000f2;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease}.gallery__lightbox-close{position:absolute;top:var(--space-6);right:var(--space-6);color:var(--color-cream);opacity:.8;transition:opacity var(--transition-fast);z-index:10}.gallery__lightbox-close:hover{opacity:1}.gallery__lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);color:var(--color-cream);opacity:.6;transition:opacity var(--transition-fast);padding:var(--space-4)}.gallery__lightbox-nav:hover{opacity:1}.gallery__lightbox-nav--prev{left:var(--space-4)}.gallery__lightbox-nav--next{right:var(--space-4)}.gallery__lightbox-content{max-width:90vw;max-height:85vh;display:flex;flex-direction:column;align-items:center}.gallery__lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--radius-sm)}.gallery__lightbox-caption{margin-top:var(--space-4);font-size:var(--text-base);color:var(--color-cream);opacity:.8;text-align:center}.gallery__lightbox-counter{position:absolute;bottom:var(--space-6);left:50%;transform:translate(-50%);color:var(--color-cream);font-size:var(--text-sm);opacity:.6;letter-spacing:.1em}@media(min-width:768px){.gallery__grid{grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.gallery__item--large{grid-column:span 2;grid-row:span 2;aspect-ratio:16/10}}@media(min-width:1024px){.gallery__grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:767px){.gallery{padding:var(--space-16) 0}.gallery__title{font-size:var(--text-4xl)}.gallery__grid{gap:var(--space-3)}.gallery__lightbox-nav{padding:var(--space-2)}.gallery__lightbox-nav--prev{left:var(--space-2)}.gallery__lightbox-nav--next{right:var(--space-2)}}.reservation{background-color:var(--color-charcoal);color:var(--color-cream);padding:var(--space-24) 0}.reservation__header{text-align:center;margin-bottom:var(--space-12)}.reservation__label{display:inline-block;font-size:var(--text-sm);font-weight:500;color:var(--color-gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-4)}.reservation__title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;color:var(--color-cream);margin-bottom:var(--space-4)}.reservation__subtitle{font-size:var(--text-lg);color:#f8f6f3b3;max-width:600px;margin:0 auto}.reservation__content{display:grid;grid-template-columns:1fr;gap:var(--space-12);max-width:1200px;margin:0 auto}.reservation__info{display:flex;flex-direction:column;gap:var(--space-6)}.reservation__info-card{padding:var(--space-8);background:#ffffff08;border:1px solid rgba(212,175,55,.2);border-radius:var(--radius-md)}.reservation__info-card h3{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:400;color:var(--color-gold);margin-bottom:var(--space-4)}.reservation__info-card ul{display:flex;flex-direction:column;gap:var(--space-3)}.reservation__info-card li{position:relative;padding-left:var(--space-6);font-size:var(--text-base);color:#f8f6f3cc}.reservation__info-card li:before{content:"•";position:absolute;left:0;color:var(--color-gold)}.reservation__info-card p{font-size:var(--text-base);color:#f8f6f3cc;line-height:1.7}.reservation__link{display:inline-block;margin-top:var(--space-4);color:var(--color-gold);font-size:var(--text-sm);font-weight:500;transition:opacity var(--transition-fast)}.reservation__link:hover{opacity:.8}.reservation__form{padding:var(--space-10);background:#ffffff05;border:1px solid rgba(212,175,55,.3);border-radius:var(--radius-lg)}.reservation__form-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.reservation__form .form-label{display:flex;align-items:center;gap:var(--space-2);color:var(--color-cream)}.reservation__form .form-input,.reservation__form .form-select,.reservation__form .form-textarea{background-color:#ffffff0d;border-color:#ffffff26;color:var(--color-cream)}.reservation__form .form-input::placeholder,.reservation__form .form-textarea::placeholder{color:#f8f6f366}.reservation__form .form-input:focus,.reservation__form .form-select:focus,.reservation__form .form-textarea:focus{background-color:#ffffff14;border-color:var(--color-gold)}.reservation__form .form-select option{background-color:var(--color-charcoal);color:var(--color-cream)}.reservation__checkbox{display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-8)}.reservation__checkbox input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--color-gold);cursor:pointer}.reservation__checkbox label{font-size:var(--text-base);color:#f8f6f3cc;cursor:pointer}.reservation__submit{width:100%;padding:var(--space-5);font-size:var(--text-base)}.reservation__modal{position:fixed;inset:0;z-index:2000;background-color:#000000e6;display:flex;align-items:center;justify-content:center;padding:var(--space-4);animation:fadeIn .3s ease}.reservation__modal-content{position:relative;max-width:480px;padding:var(--space-12);background-color:var(--color-charcoal);border:1px solid var(--color-gold);border-radius:var(--radius-lg);text-align:center}.reservation__modal-close{position:absolute;top:var(--space-4);right:var(--space-4);color:var(--color-cream);opacity:.6;transition:opacity var(--transition-fast)}.reservation__modal-close:hover{opacity:1}.reservation__modal-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background-color:var(--color-gold);color:var(--color-charcoal);border-radius:50%;margin-bottom:var(--space-6)}.reservation__modal-content h3{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;color:var(--color-cream);margin-bottom:var(--space-4)}.reservation__modal-content p{font-size:var(--text-base);color:#f8f6f3cc;margin-bottom:var(--space-4);line-height:1.7}.reservation__modal-note{font-size:var(--text-sm);color:var(--color-gold);margin-bottom:var(--space-8)!important}@media(min-width:768px){.reservation__form-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.reservation__content{grid-template-columns:1fr 1.5fr}.reservation__form-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.reservation{padding:var(--space-16) 0}.reservation__title{font-size:var(--text-4xl)}.reservation__form,.reservation__info-card{padding:var(--space-6)}.reservation__modal-content{padding:var(--space-8)}}.private-dining{background-color:var(--color-cream);padding:var(--space-24) 0}.private-dining__header{text-align:center;margin-bottom:var(--space-16)}.private-dining__label{display:inline-block;font-size:var(--text-sm);font-weight:500;color:var(--color-gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-4)}.private-dining__title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;color:var(--color-charcoal);margin-bottom:var(--space-4)}.private-dining__subtitle{font-size:var(--text-lg);color:var(--color-text-light);max-width:600px;margin:0 auto}.private-dining__rooms{display:grid;grid-template-columns:1fr;gap:var(--space-8);margin-bottom:var(--space-16)}.private-dining__room{display:flex;flex-direction:column;background-color:var(--color-white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md);transition:transform var(--transition-base),box-shadow var(--transition-base)}.private-dining__room:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.private-dining__room-image{aspect-ratio:16/10;overflow:hidden}.private-dining__room-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.private-dining__room:hover .private-dining__room-image img{transform:scale(1.05)}.private-dining__room-content{padding:var(--space-8)}.private-dining__room-japanese{font-family:Yu Gothic,serif;font-size:var(--text-sm);color:var(--color-gold);letter-spacing:.2em}.private-dining__room-name{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;color:var(--color-charcoal);margin:var(--space-2) 0}.private-dining__room-capacity{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-light);margin-bottom:var(--space-4)}.private-dining__room-description{font-size:var(--text-base);color:var(--color-text);line-height:1.7}.private-dining__features{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-8);margin-bottom:var(--space-16)}.private-dining__feature{text-align:center;padding:var(--space-8);background-color:var(--color-charcoal);border-radius:var(--radius-md);color:var(--color-cream)}.private-dining__feature-icon{display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;background-color:#d4af371a;border-radius:50%;color:var(--color-gold);margin-bottom:var(--space-4)}.private-dining__feature-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:500;margin-bottom:var(--space-3)}.private-dining__feature-text{font-size:var(--text-sm);color:#f8f6f3cc;line-height:1.7}.private-dining__inquiry{max-width:800px;margin:0 auto;padding:var(--space-10);background-color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.private-dining__inquiry-header{text-align:center;margin-bottom:var(--space-8)}.private-dining__inquiry-header h3{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:400;color:var(--color-charcoal);margin-bottom:var(--space-2)}.private-dining__inquiry-header p{font-size:var(--text-base);color:var(--color-text-light)}.private-dining__form-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4);margin-bottom:var(--space-6)}.private-dining__submit{width:100%;padding:var(--space-5)}.private-dining__success{text-align:center;padding:var(--space-10)}.private-dining__success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background-color:var(--color-olive);color:var(--color-cream);border-radius:50%;margin-bottom:var(--space-6)}.private-dining__success h4{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:400;color:var(--color-charcoal);margin-bottom:var(--space-4)}.private-dining__success p{font-size:var(--text-base);color:var(--color-text-light);margin-bottom:var(--space-6)}@media(min-width:768px){.private-dining__rooms,.private-dining__form-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.private-dining__form-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:767px){.private-dining{padding:var(--space-16) 0}.private-dining__title{font-size:var(--text-4xl)}.private-dining__room-content,.private-dining__inquiry,.private-dining__feature{padding:var(--space-6)}}.location{background-color:var(--color-cream);padding:var(--space-24) 0}.location__header{text-align:center;margin-bottom:var(--space-16)}.location__label{display:inline-block;font-size:var(--text-sm);font-weight:500;color:var(--color-gold);letter-spacing:.2em;text-transform:uppercase;margin-bottom:var(--space-4)}.location__title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:400;color:var(--color-charcoal);margin-bottom:var(--space-6)}.location__divider{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-bottom:var(--space-6)}.location__divider-line{width:60px;height:1px;background-color:var(--color-gold)}.location__divider-icon{font-family:Yu Gothic,serif;font-size:var(--text-xl);color:var(--color-gold)}.location__subtitle{font-size:var(--text-lg);color:var(--color-text-light);max-width:600px;margin:0 auto;line-height:1.7}.location__content{display:grid;grid-template-columns:1fr;gap:var(--space-12)}.location__info{display:flex;flex-direction:column;gap:var(--space-10)}.location__info-block{display:flex;gap:var(--space-6)}.location__info-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background-color:var(--color-charcoal);border-radius:50%;color:var(--color-gold)}.location__info-content h3{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:500;color:var(--color-charcoal);margin-bottom:var(--space-3)}.location__info-content p{font-size:var(--text-base);color:var(--color-text);line-height:1.8}.location__info-content a{color:var(--color-gold);font-weight:500;transition:opacity var(--transition-fast)}.location__info-content a:hover{opacity:.8}.location__hours{display:flex;flex-direction:column;gap:var(--space-2)}.location__hours-row{display:flex;justify-content:space-between;max-width:320px;padding:var(--space-2) 0;border-bottom:1px solid rgba(0,0,0,.08)}.location__hours-row:last-child{border-bottom:none}.location__hours-day{font-size:var(--text-base);color:var(--color-text)}.location__hours-time{font-size:var(--text-base);color:var(--color-text-light)}.location__map-area{display:flex;flex-direction:column;gap:var(--space-6)}.location__map{aspect-ratio:16/10;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.location__map iframe{width:100%;height:100%}.location__transport{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background-color:var(--color-charcoal);border-radius:var(--radius-md)}.location__transport-item{display:flex;align-items:flex-start;gap:var(--space-4);color:var(--color-cream)}.location__transport-item svg{flex-shrink:0;color:var(--color-gold);margin-top:2px}.location__transport-item div{display:flex;flex-direction:column;gap:var(--space-1)}.location__transport-item strong{font-size:var(--text-sm);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--color-gold)}.location__transport-item span{font-size:var(--text-sm);color:#f8f6f3cc}@media(min-width:1024px){.location__content{grid-template-columns:1fr 1.2fr;gap:var(--space-16);align-items:start}.location__map{aspect-ratio:4/3}}@media(max-width:767px){.location{padding:var(--space-16) 0}.location__title{font-size:var(--text-4xl)}.location__info-block{flex-direction:column;gap:var(--space-4)}.location__info-icon{width:50px;height:50px}.location__hours-row{max-width:100%}.location__transport{padding:var(--space-4)}}.footer{background-color:#0f0f0f;color:var(--color-cream);padding:var(--space-16) 0 var(--space-8)}.footer__content{display:grid;grid-template-columns:1fr;gap:var(--space-10);margin-bottom:var(--space-12)}.footer__logo{display:flex;flex-direction:column;margin-bottom:var(--space-4)}.footer__logo-text{font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:500;color:var(--color-gold);letter-spacing:.1em}.footer__logo-subtext{font-family:var(--font-heading);font-size:var(--text-sm);color:var(--color-cream);letter-spacing:.3em;text-transform:uppercase}.footer__tagline{font-style:italic;color:#f8f6f399;margin-bottom:var(--space-6)}.footer__social{display:flex;gap:var(--space-4)}.footer__social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#ffffff0d;border-radius:50%;color:var(--color-cream);transition:all var(--transition-fast)}.footer__social a:hover{background:var(--color-gold);color:var(--color-charcoal)}.footer__links h4,.footer__contact h4,.footer__newsletter h4{font-family:var(--font-heading);font-size:var(--text-lg);font-weight:500;color:var(--color-gold);margin-bottom:var(--space-4);letter-spacing:.05em}.footer__links ul,.footer__contact ul{display:flex;flex-direction:column;gap:var(--space-3)}.footer__links a{font-size:var(--text-sm);color:#f8f6f3b3;transition:color var(--transition-fast)}.footer__links a:hover{color:var(--color-gold)}.footer__contact li{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:#f8f6f3b3}.footer__contact a{color:#f8f6f3b3;transition:color var(--transition-fast)}.footer__contact a:hover{color:var(--color-gold)}.footer__newsletter p{font-size:var(--text-sm);color:#f8f6f399;margin-bottom:var(--space-4)}.footer__form{display:flex;gap:var(--space-2)}.footer__form input{flex:1;padding:var(--space-3) var(--space-4);font-size:var(--text-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-sm);color:var(--color-cream)}.footer__form input::placeholder{color:#f8f6f366}.footer__form input:focus{outline:none;border-color:var(--color-gold)}.footer__form button{display:flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-4);background:var(--color-gold);color:var(--color-charcoal);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.footer__form button:hover{background:var(--color-gold-light)}.footer__subscribed{display:flex;align-items:center;gap:var(--space-2);color:var(--color-olive-light);font-size:var(--text-sm)}.footer__bottom{display:flex;flex-direction:column;gap:var(--space-4);padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,.1);text-align:center}.footer__bottom p{font-size:var(--text-sm);color:#f8f6f380}.footer__bottom-links{display:flex;justify-content:center;gap:var(--space-6)}.footer__bottom-links a{font-size:var(--text-sm);color:#f8f6f380;transition:color var(--transition-fast)}.footer__bottom-links a:hover{color:var(--color-gold)}@media(min-width:768px){.footer__content{grid-template-columns:repeat(2,1fr)}.footer__bottom{flex-direction:row;justify-content:space-between;text-align:left}}@media(min-width:1024px){.footer__content{grid-template-columns:1.5fr 1fr 1fr 1.5fr}}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}html{scroll-padding-top:var(--header-height)}::selection{background-color:var(--color-gold);color:var(--color-charcoal)}:focus-visible{outline:2px solid var(--color-gold);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:50%;transform:translate(-50%);padding:var(--space-3) var(--space-6);background:var(--color-gold);color:var(--color-charcoal);font-weight:500;border-radius:var(--radius-sm);z-index:9999;transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-4)}
