/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--ivory:#fbf7f0;--ivory-warm:#f6eee6;--sakura:#edcbd0;--sakura-deep:#c88994;--plum:#4b2433;--ink:#292327;--muted:#76696c;--seal:#a8333d;--line:#4b243321;--glass-frost:.5;--glass-saturation:1.12;--serif:"Yu Mincho", "Hiragino Mincho ProN", "Iowan Old Style", Georgia, serif;--sans:var(--font-geist), "Avenir Next", "Hiragino Sans", system-ui, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 82% 8%, #efc6cdb3 0, #efc6cd2e 20%, transparent 40%), radial-gradient(circle at 8% 76%, #fffffffa 0, #ffffff2e 34%, transparent 58%), linear-gradient(145deg, var(--ivory) 0%, #f8f0e9 58%, #f3e6e4 100%);font-family:var(--sans);margin:0;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(#53353d05 1px,#0000 1px),linear-gradient(90deg,#53353d05 1px,#0000 1px);background-size:5px 5px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 88%);mask-image:linear-gradient(#000,#0000 88%)}a{color:inherit;text-decoration:none}.page-shell{width:min(1480px,100% - 64px);min-height:100vh;margin:0 auto;padding:28px 0 34px;position:relative}.glass{background:rgba(255, 255, 255, var(--glass-frost));-webkit-backdrop-filter:url(#neko-glass-filter) saturate(var(--glass-saturation));backdrop-filter:url(#neko-glass-filter) saturate(var(--glass-saturation));border:1px solid #ffffff9e;position:relative;overflow:hidden;box-shadow:inset 0 0 2px 1px #29232726,inset 0 0 10px 4px #2923271a,0 4px 16px #11111a0d,0 8px 24px #11111a0d,0 0 8px #11111a0d,0 8px 24px #11111a33,0 16px 56px #11111a0d,inset 0 4px 16px #11111a0d,inset 0 8px 24px #11111a0d,inset 0 16px 56px #11111a0d}.glass-filter{pointer-events:none;width:0;height:0;position:absolute}.nav{z-index:10;border-radius:25px;justify-content:space-between;align-items:center;height:74px;padding:0 18px 0 26px;display:flex}.brand,.nav-links{z-index:1;position:relative}.brand{align-items:center;gap:14px;display:flex}.seal{color:#fff9f5;background:var(--seal);width:38px;height:38px;font-family:var(--serif);letter-spacing:-.13em;border-radius:4px 7px 4px 6px;place-items:center;font-size:16px;display:grid;transform:rotate(-1.5deg);box-shadow:inset 0 0 0 1px #ffffff2e,0 7px 18px #a8333d26}.brand-copy{line-height:1.05}.brand-name{font-family:var(--serif);letter-spacing:.04em;font-size:19px}.brand-jp{color:var(--muted);letter-spacing:.22em;margin-top:5px;font-size:10px;display:block}.nav-links{letter-spacing:.06em;align-items:center;gap:30px;font-size:12px;display:flex}.nav-links>a:not(.nav-cta){color:#63565a;transition:color .25s}.nav-links>a:not(.nav-cta):hover{color:var(--seal)}.nav-cta{color:#fff;background:var(--plum);border-radius:15px;padding:14px 20px;transition:transform .25s,box-shadow .25s;box-shadow:0 10px 25px #4b243329}.nav-cta:hover{transform:translateY(-2px);box-shadow:0 14px 30px #4b243338}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(30px,5vw,86px);min-height:606px;padding:58px 58px 30px 70px;display:grid}.hero-copy{z-index:3;padding-bottom:26px;position:relative}.eyebrow{color:var(--seal);text-transform:uppercase;letter-spacing:.25em;align-items:center;gap:11px;margin:0 0 25px;font-size:10px;font-weight:700;display:flex}.eyebrow:before{content:"";background:currentColor;width:24px;height:1px}h1,h2{font-family:var(--serif);font-weight:400}h1{letter-spacing:-.052em;text-wrap:balance;max-width:750px;margin:0;font-size:clamp(54px,5.15vw,82px);line-height:.99}h1 em{color:var(--plum);font-style:normal}.lead{max-width:570px;color:var(--muted);margin:26px 0 31px;font-size:15px;line-height:1.75}.actions{flex-wrap:wrap;align-items:center;gap:25px;display:flex}.primary-action{color:#fff;background:linear-gradient(135deg,#583040,#41202e);border-radius:17px;justify-content:center;align-items:center;gap:14px;padding:17px 22px;font-size:13px;font-weight:650;transition:transform .25s,box-shadow .25s;display:inline-flex;box-shadow:0 16px 32px #4b243330,inset 0 1px #ffffff26}.primary-action:hover{transform:translateY(-3px);box-shadow:0 20px 38px #4b24333d}.text-action{color:var(--plum);border-bottom:1px solid #4b243340;align-items:center;gap:10px;padding:12px 0;font-size:13px;display:inline-flex}.text-action span{color:var(--sakura-deep);font-size:17px}.trust-note{color:#8e7c80;letter-spacing:.07em;align-items:center;gap:9px;margin-top:31px;font-size:10px;display:flex}.trust-note span{background:var(--sakura-deep);border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 5px #c889941a}.art-stage{isolation:isolate;z-index:1;place-items:center;min-height:500px;display:grid;position:relative}.sun-disc{aspect-ratio:1;z-index:-2;background:radial-gradient(circle at 38% 27%,#ffffffe0 0 4%,#0000 24%),linear-gradient(145deg,#f6d9dce0,#dca1aa6b);border-radius:50%;width:min(34vw,430px);position:absolute;top:35px;right:13px;box-shadow:inset 18px 18px 45px #ffffff4d,18px 35px 70px #91535f1c}.orbit{aspect-ratio:1;z-index:-1;border:1px solid #75434e21;border-radius:47% 53% 51% 49%;width:min(38vw,480px);position:absolute;top:10px;right:1px;transform:rotate(17deg)}.cat-portrait{filter:drop-shadow(0 24px 36px #5b363e24);width:322px;height:396px;margin-top:55px;position:relative}.cat-ear{z-index:1;background:linear-gradient(145deg,#fffefaf0,#e7d3d0d4);border:1px solid #ffffffb8;width:114px;height:140px;position:absolute;top:8px}.cat-ear.left{clip-path:polygon(8% 0,98% 72%,27% 100%);left:28px;transform:rotate(-4deg)}.cat-ear.right{clip-path:polygon(92% 0,2% 72%,73% 100%);right:29px;transform:rotate(4deg)}.cat-ear:after{content:"";filter:blur(2px);background:#c889943b;position:absolute;inset:21px}.cat-head{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:radial-gradient(circle at 39% 29%,#ffffffde 0 4%,#0000 20%),linear-gradient(135deg,#ffffffd6,#f6ede8b8 48%,#dac6c4b8);border:1px solid #ffffffd1;border-radius:48% 48% 43% 43%/42% 42% 57% 57%;width:286px;height:310px;position:absolute;top:67px;left:18px;box-shadow:inset 19px 11px 30px #ffffff70,inset -20px -24px 34px #70464e14,0 20px 45px #582d381c}.cat-head:before{content:"";background:#ffffff3d;border-radius:50%;width:78px;height:27px;position:absolute;top:102px;left:104px;box-shadow:0 10px 24px #50263112}.eye{border-top:2px solid var(--plum);opacity:.88;border-radius:50%;width:54px;height:18px;position:absolute;top:114px}.eye.left{left:55px;transform:rotate(-4deg)}.eye.right{right:55px;transform:rotate(4deg)}.nose{background:var(--plum);opacity:.78;border-radius:50% 50% 60% 60%;width:13px;height:9px;position:absolute;top:168px;left:137px}.mouth{border-bottom:1.5px solid #4b2433ab;border-radius:0 0 50% 50%;width:31px;height:22px;position:absolute;top:174px;left:128px}.whisker{background:#4b24333d;width:86px;height:1px;position:absolute;top:185px}.whisker.w1{left:-31px;transform:rotate(4deg)}.whisker.w2{top:203px;left:-34px;transform:rotate(-5deg)}.whisker.w3{right:-31px;transform:rotate(-4deg)}.whisker.w4{top:203px;right:-34px;transform:rotate(5deg)}.portrait-note{z-index:4;color:#5f5155;letter-spacing:.06em;border-radius:18px;width:170px;padding:14px 16px;font-size:10px;line-height:1.5;position:absolute;bottom:13px;right:-25px}.portrait-note strong{color:var(--plum);font-family:var(--serif);letter-spacing:.02em;margin-bottom:3px;font-size:15px;font-weight:400;display:block}.petal{background:#ba68765c;border-radius:90% 10%;width:16px;height:10px;position:absolute}.petal.p1{top:80px;left:5px;transform:rotate(32deg)}.petal.p2{top:27px;right:55px;transform:scale(.7)rotate(-13deg)}.petal.p3{bottom:95px;left:3px;transform:scale(.65)rotate(76deg)}.info-dock{z-index:4;grid-template-columns:1.35fr 1fr .78fr;gap:12px;margin-top:-16px;display:grid;position:relative}.info-card{border-radius:27px;flex-direction:column;justify-content:space-between;min-height:166px;padding:25px 28px 23px;display:flex}.card-index{color:var(--seal);letter-spacing:.2em;text-transform:uppercase;z-index:2;justify-content:space-between;align-items:center;font-size:9px;font-weight:700;display:flex;position:relative}.card-index:after{content:"";background:#a8333d33;width:42px;height:1px}.card-content{z-index:2;position:relative}.card-content h2{letter-spacing:-.02em;margin:0 0 8px;font-size:22px}.card-content p{color:var(--muted);max-width:430px;margin:0;font-size:11px;line-height:1.6}.menu-row{grid-template-columns:1fr 1fr;gap:16px;margin-top:12px;display:grid}.menu-item{border-left:1px solid var(--line);padding-left:13px}.menu-item span{color:var(--plum);margin-bottom:4px;font-size:11px;font-weight:700;display:block}.menu-item small{color:var(--muted);font-size:9px}.hours{--glass-frost:.88;color:#fff;background:rgba(67, 31, 44, var(--glass-frost));border-color:#ffffff21}.hours .card-index{color:#efc7ce}.hours .card-index:after{background:#ffffff26}.hours .card-content h2{color:#fffaf6}.hours .card-content p{color:#fffaf6a8}.hours-time{color:#fff;font-family:var(--serif);margin-top:9px;font-size:23px}.reservation{border-radius:32px;grid-template-columns:1.25fr 1fr auto;align-items:center;gap:48px;min-height:245px;margin-top:48px;padding:42px 44px;display:grid}.reservation>*{z-index:2;position:relative}.reservation .eyebrow{margin-bottom:15px}.reservation-copy h2{letter-spacing:-.035em;margin:0 0 12px;font-size:clamp(31px,3vw,43px)}.reservation-copy>p:last-child{max-width:540px;color:var(--muted);margin:0;font-size:13px;line-height:1.7}.reservation-details{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.reservation-details div{border-left:1px solid var(--line);padding-left:15px}.reservation-details span,.reservation-details strong{display:block}.reservation-details span{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:6px;font-size:9px}.reservation-details strong{color:var(--plum);font-family:var(--serif);white-space:nowrap;font-size:17px;font-weight:400}.reservation-action{white-space:nowrap}.micro-footer{color:#8a7b7d;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:25px;padding:25px 12px 0;font-size:9px;display:flex}.address{text-transform:none;letter-spacing:.06em}@media (prefers-reduced-motion:no-preference){.cat-portrait{animation:6s ease-in-out infinite breathe}.petal.p1{animation:7s ease-in-out infinite drift}.petal.p2{animation:8.5s ease-in-out -2s infinite drift}.petal.p3{animation:6.5s ease-in-out -4s infinite drift}@keyframes breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes drift{0%,to{translate:0;rotate:none}50%{translate:8px 13px;rotate:18deg}}}:focus-visible{outline:2px solid var(--seal);outline-offset:4px}@media (width<=1100px){.reservation{grid-template-columns:1fr 1fr}.reservation-action{grid-column:2;justify-self:start}}@media (width<=980px){.page-shell{width:min(100% - 30px,760px)}.nav-links>a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr;padding:56px 25px 26px}.hero-copy{padding:0 8px}.art-stage{min-height:455px}.sun-disc{width:390px;right:50%;transform:translate(50%)}.orbit{width:430px;right:50%;transform:translate(50%)rotate(17deg)}.info-dock{grid-template-columns:1fr 1fr;margin-top:0}.experience-card{grid-column:1/-1}.reservation{grid-template-columns:1fr;gap:28px}.reservation-action{grid-column:auto}.micro-footer{flex-wrap:wrap}}@media (width<=620px){.page-shell{width:calc(100% - 20px);padding-top:10px}.nav{border-radius:21px;height:66px;padding:0 10px 0 17px}.brand-name{font-size:16px}.brand-jp{font-size:8px}.seal{width:32px;height:32px;font-size:14px}.nav-cta{padding:12px 14px;font-size:10px}.hero{gap:10px;padding-top:43px}h1{font-size:clamp(44px,15vw,62px)}.lead{margin-top:22px;font-size:14px}.actions{align-items:stretch;gap:14px}.primary-action{width:100%}.text-action{justify-content:center}.art-stage{min-height:400px;margin:-25px -30px;transform:scale(.88)}.info-dock{grid-template-columns:1fr;gap:9px}.experience-card{grid-column:auto}.info-card{min-height:154px}.reservation{border-radius:27px;margin-top:24px;padding:32px 25px}.reservation-details{grid-template-columns:1fr;gap:15px}.reservation-details div{justify-content:space-between;align-items:center;display:flex}.reservation-details span{margin:0}.micro-footer{flex-direction:column;align-items:flex-start;gap:8px}}
