@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Great+Vibes&family=Noto+Sans+JP:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap";*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Noto Sans JP,ui-sans-serif,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.sticky{position:sticky}.inset-x-0{left:0;right:0}.top-0{top:0}.z-40{z-index:40}.col-span-2{grid-column:span 2 / span 2}.mx-auto{margin-left:auto;margin-right:auto}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-5{margin-top:1.25rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-28{height:7rem}.h-4{height:1rem}.h-6{height:1.5rem}.max-h-\[34rem\]{max-height:34rem}.min-h-11{min-height:2.75rem}.min-h-24{min-height:6rem}.min-h-5{min-height:1.25rem}.min-h-8{min-height:2rem}.min-h-\[3\.85rem\]{min-height:3.85rem}.min-h-\[34rem\]{min-height:34rem}.min-h-\[4\.25rem\]{min-height:4.25rem}.min-h-\[6rem\]{min-height:6rem}.min-h-dvh{min-height:100dvh}.min-h-screen{min-height:100vh}.w-11{width:2.75rem}.w-4{width:1rem}.w-\[10\%\]{width:10%}.w-\[13\%\]{width:13%}.w-\[16\%\]{width:16%}.w-\[24\%\]{width:24%}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-16{min-width:4rem}.min-w-\[980px\]{min-width:980px}.max-w-7xl{max-width:80rem}.max-w-\[1160px\]{max-width:1160px}.max-w-\[380px\]{max-width:380px}.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.grid-cols-\[3rem_1fr\]{grid-template-columns:3rem 1fr}.grid-cols-\[3rem_minmax\(0\,1fr\)\]{grid-template-columns:3rem minmax(0,1fr)}.grid-cols-\[auto_1fr_auto\]{grid-template-columns:auto 1fr auto}.grid-cols-\[minmax\(0\,1fr\)_8\.5rem\]{grid-template-columns:minmax(0,1fr) 8.5rem}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-y-1{row-gap:.25rem}.self-end{align-self:flex-end}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-line{--tw-border-opacity: 1;border-color:rgb(231 222 216 / var(--tw-border-opacity, 1))}.border-line\/70{border-color:#e7ded8b3}.border-white\/40{border-color:#fff6}.border-t-white{--tw-border-opacity: 1;border-top-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.bg-\[\#f8dddd\]{--tw-bg-opacity: 1;background-color:rgb(248 221 221 / var(--tw-bg-opacity, 1))}.bg-ink{--tw-bg-opacity: 1;background-color:rgb(50 45 43 / var(--tw-bg-opacity, 1))}.bg-line{--tw-bg-opacity: 1;background-color:rgb(231 222 216 / var(--tw-bg-opacity, 1))}.bg-linen{--tw-bg-opacity: 1;background-color:rgb(251 247 244 / var(--tw-bg-opacity, 1))}.bg-mist{--tw-bg-opacity: 1;background-color:rgb(246 238 238 / var(--tw-bg-opacity, 1))}.bg-mist\/55{background-color:#f6eeee8c}.bg-paper{--tw-bg-opacity: 1;background-color:rgb(255 254 253 / var(--tw-bg-opacity, 1))}.bg-paper\/95{background-color:#fffefdf2}.bg-sage\/15{background-color:#d8aaa426}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-4{padding-right:1rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-logo{font-family:Great Vibes,cursive}.font-sans{font-family:Noto Sans JP,ui-sans-serif,system-ui,sans-serif}.text-\[0\.55rem\]{font-size:.55rem}.text-\[0\.62rem\]{font-size:.62rem}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.6rem\]{font-size:.6rem}.text-\[0\.72rem\]{font-size:.72rem}.text-\[2\.25rem\]{font-size:2.25rem}.text-\[2\.65rem\]{font-size:2.65rem}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-3{line-height:.75rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.28em\]{letter-spacing:.28em}.text-\[\#8b4a48\]{--tw-text-opacity: 1;color:rgb(139 74 72 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(50 45 43 / var(--tw-text-opacity, 1))}.text-ink\/70{color:#322d2bb3}.text-moss{--tw-text-opacity: 1;color:rgb(159 111 104 / var(--tw-text-opacity, 1))}.text-muted{--tw-text-opacity: 1;color:rgb(122 113 109 / var(--tw-text-opacity, 1))}.text-muted\/70{color:#7a716db3}.text-ume{--tw-text-opacity: 1;color:rgb(159 111 104 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.shadow-\[0_18px_48px_rgb\(52_37_34\/0\.06\)\]{--tw-shadow: 0 18px 48px rgb(52 37 34/.06);--tw-shadow-colored: 0 18px 48px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-inset{--tw-ring-inset: inset}.ring-ume\/45{--tw-ring-color: rgb(159 111 104 / .45)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{color-scheme:light;--font-logo: "Great Vibes", cursive;--font-serif: "Noto Serif JP", serif;--font-serif-latin: "Cormorant Garamond", Georgia, serif;--font-sans: "Noto Sans JP", ui-sans-serif, system-ui, sans-serif;--color-paper: #fffdfa;--color-linen: #fff3ee;--color-mist: #ffe8e6;--color-line: #f0d1cb;--color-ink: #342522;--color-muted: #806762;--color-blush: #f5aaa7;--color-ume: #b84f62;--color-sage: var(--color-blush);--color-moss: var(--color-ume);font-family:var(--font-sans);font-size:16px}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--color-paper);overflow-x:clip;font-size:.875rem}h1,h2,h3,p{margin:0}h1,h2,h3{color:var(--color-ink);font-weight:500;letter-spacing:0;text-wrap:balance}p{text-wrap:pretty}.site-shell{--page-max: 1160px;--booking-max: 880px;--booking-column: 36rem;background:var(--color-paper);color:var(--color-ink)}.brand-mark{display:grid;color:var(--color-ink);font-family:var(--font-logo);font-size:clamp(2.15rem,3.3vw,3rem);font-weight:400;letter-spacing:0;line-height:.85}.brand-mark span,.footer-logo span{margin-top:.1rem;font-family:var(--font-sans);font-size:.55rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase}.nav-link{position:relative;padding-block:.35rem;transition:color .18s ease}.nav-link:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:currentColor;content:"";opacity:0;transform:scaleX(.35);transition:opacity .18s ease,transform .18s ease}.nav-link:hover:after,.nav-link:focus-visible:after{opacity:1;transform:scaleX(1)}.header-reserve-link{border-bottom:1px solid currentColor;padding-bottom:.18rem;color:var(--color-ink);font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:color .18s ease}.header-reserve-link:hover{color:var(--color-ume)}.hero-image-screen{position:relative;min-height:calc(100svh - 5.5rem);overflow:hidden;padding:clamp(1rem,3vw,2.5rem);background:var(--color-paper)}.hero-full-image{display:block;width:100%;height:calc(100svh - clamp(7rem,11vw,10rem));min-height:34rem;-o-object-fit:cover;object-fit:cover;filter:saturate(1.12) contrast(.98) brightness(1.06)}.hero-image-veils{position:absolute;inset:clamp(1rem,3vw,2.5rem);pointer-events:none;background:linear-gradient(90deg,rgb(50 45 43 / .34),transparent 46%),linear-gradient(180deg,transparent 58%,rgb(245 170 167 / .24))}.hero-logo{position:absolute;top:50%;left:clamp(2.5rem,10vw,10rem);color:#fff;text-align:center;text-shadow:0 2px 20px rgb(0 0 0 / .22);transform:translateY(-50%)}.hero-logo h1{color:#fff;font-family:var(--font-logo);font-size:clamp(4rem,10vw,9rem);font-weight:400;line-height:.86}.hero-logo span{display:block;margin-top:1rem;font-size:clamp(.54rem,.82vw,.68rem);font-weight:500;letter-spacing:.24em;text-transform:uppercase}.concept-section{position:relative;overflow:hidden;background:var(--color-paper)}.concept-grid{display:grid;grid-template-columns:minmax(0,.82fr) minmax(320px,1fr);gap:clamp(2rem,6vw,5.5rem);align-items:center}.concept-copy{max-width:500px}.concept-copy h2{color:var(--color-ink);font-family:var(--font-serif);font-size:clamp(1rem,1.65vw,1.38rem);line-height:1.85}.concept-copy p{margin-top:1.4rem;color:var(--color-muted);font-size:.8rem;line-height:2.05}.concept-photo{width:100%;aspect-ratio:1.25 / 1;-o-object-fit:cover;object-fit:cover;filter:saturate(1.08) contrast(.98) brightness(1.06);opacity:.94}.section-wrap{max-width:var(--page-max);margin:0 auto;padding:clamp(4.5rem,8vw,6.5rem) 1rem}.section-band{background:var(--color-mist)}.section-heading{max-width:640px;margin:0 auto 1.8rem;text-align:center}.section-heading h2{font-family:var(--font-serif);font-size:clamp(1.12rem,1.85vw,1.55rem);line-height:1.45;letter-spacing:.04em}html[lang=en] .concept-copy h2,html[lang=en] .section-heading h2,html[lang=en] .menu-row h3,html[lang=en] .access-details dt{font-family:var(--font-serif-latin);font-weight:600}.course-list{display:grid;max-width:880px;margin:0 auto;border-top:1px solid var(--color-line)}.mobile-course-list{display:none}.menu-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1rem,4vw,3rem);padding:1.45rem 0;border-bottom:1px solid var(--color-line)}.menu-item-main{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:clamp(.9rem,2vw,1.25rem);align-items:start}.menu-item-image{width:5.5rem;aspect-ratio:1;-o-object-fit:cover;object-fit:cover;filter:saturate(1.06) contrast(.98) brightness(1.04)}.menu-row h3{font-family:var(--font-serif);font-size:clamp(.86rem,1vw,.98rem);line-height:1.65;letter-spacing:.02em}.menu-row p{margin-top:.45rem;color:var(--color-muted);font-size:.78rem;line-height:1.75}.menu-row dl{display:grid;min-width:11rem;gap:.45rem;color:var(--color-ink)}.menu-row dl div{display:flex;justify-content:space-between;gap:1.2rem}.menu-row dt{color:var(--color-muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.menu-row dd{font-size:.86rem;font-weight:600}.gallery-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.35rem,1vw,.75rem);max-width:860px;margin:0 auto}.work-image{width:100%;aspect-ratio:1;height:auto;-o-object-fit:cover;object-fit:cover;filter:saturate(1.1) contrast(.98) brightness(1.04)}.booking-section{background:var(--color-linen)}.booking-heading{min-height:7.2rem}.booking-card{max-width:var(--booking-max);margin:0 auto;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:transparent}.booking-card-body{padding:clamp(1.25rem,3.5vw,2.1rem)}.booking-progress-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;margin-bottom:clamp(1.6rem,4vw,2.4rem)}.booking-progress-step{display:grid;gap:.25rem;border-bottom:1px solid var(--color-line);background:transparent;padding:.65rem 1rem;color:var(--color-muted);font-size:.74rem;font-weight:600;text-align:center}.booking-progress-step span{display:block;font-size:.62rem;font-weight:500;letter-spacing:.18em}.booking-progress-step.is-active{border-color:var(--color-ink);color:var(--color-ink)}.booking-step-panel{display:grid;align-content:start;gap:clamp(1.4rem,3vw,2rem);width:min(100%,var(--booking-column));max-width:var(--booking-column);margin:0 auto}.booking-stage{display:grid;min-height:29rem;align-items:start}.booking-stage>*{min-height:inherit}.booking-step{margin-bottom:.75rem;color:var(--color-muted);font-family:var(--font-sans);font-size:.78rem;font-weight:600;letter-spacing:.06em}.course-picker{display:grid;width:100%;max-height:clamp(18rem,48vh,23rem);overflow-y:auto;overscroll-behavior:contain;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);scrollbar-gutter:stable}.course-option{display:grid;min-height:3.75rem;justify-items:start;border-bottom:1px solid var(--color-line);background:transparent;padding:.78rem .88rem;color:var(--color-ink);font-size:.8rem;text-align:left;transition:background-color .16s ease,color .16s ease,opacity .16s ease}.course-option span{font-size:.8rem;font-weight:500;line-height:1.55}.course-option:last-child{border-bottom:0}.course-option.is-selected,.calendar-day.is-selected,.slot-button.is-selected{background:var(--color-moss);color:#fff}.course-option:hover:not(:disabled),.calendar-day:hover:not(:disabled),.slot-button:hover:not(:disabled){background:var(--color-mist)}.course-option.is-selected:hover,.calendar-day.is-selected:hover,.slot-button.is-selected:hover{background:var(--color-moss);opacity:.9}.course-option:active:not(:disabled),.calendar-day:active:not(:disabled),.slot-button:active:not(:disabled),.calendar-month-button:active{opacity:.72}.course-option:focus-visible,.calendar-day:focus-visible,.slot-button:focus-visible,.calendar-month-button:focus-visible{position:relative;z-index:1;outline:2px solid var(--color-moss);outline-offset:2px}.course-option small{color:currentColor;font-size:.7rem;font-weight:600;opacity:.74}.month-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendar-month-button{display:inline-grid;width:2.75rem;height:2.75rem;place-items:center;border:1px solid var(--color-line);background:transparent;color:var(--color-ink);transition:background-color .16s ease,opacity .16s ease}.calendar-month-button:hover{background:var(--color-mist)}.month-label{margin-bottom:1rem;color:var(--color-muted);font-size:.76rem;font-weight:700}.calendar-week,.calendar-grid{display:grid;width:100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem}.calendar-week{margin-bottom:.36rem;color:color-mix(in srgb,var(--color-muted) 86%,white);font-size:.68rem;font-weight:800;text-align:center}.calendar-day{width:100%;min-height:2.75rem;border-radius:0;background:transparent;padding:0;color:var(--color-ink);font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:500;transition:background-color .16s ease,color .16s ease,opacity .16s ease}.calendar-day:disabled{background:transparent;border-color:transparent;color:color-mix(in srgb,var(--color-muted) 58%,white);opacity:.62}.side-note{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;margin-bottom:1rem;color:var(--color-muted);font-size:.74rem}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;border-top:1px solid var(--color-line);padding-top:.4rem}.slot-button{min-height:2.75rem;border:1px solid var(--color-line);background:transparent;color:var(--color-ink);font-family:var(--font-sans);font-size:.76rem;font-variant-numeric:tabular-nums;font-weight:500;line-height:1;transition:background-color .16s ease,color .16s ease,opacity .16s ease}.slot-button:disabled{cursor:not-allowed;opacity:.38}.slot-button.is-selected,.slot-button.is-selected:hover{background-color:var(--color-moss)!important;color:#fff!important}.booking-empty{grid-column:1 / -1;margin:0;padding:1rem 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);color:var(--color-muted);font-size:.78rem}.booking-summary{display:grid;gap:.55rem;padding:1rem;border-left:1px solid var(--color-line);background:transparent;color:var(--color-muted)}.booking-summary p{color:var(--color-muted);font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.booking-summary strong{color:var(--color-ink);font-family:var(--font-sans);font-size:.82rem;font-weight:600;line-height:1.65}.booking-summary span{font-size:.78rem}.booking-price-summary{display:grid;gap:.4rem;margin-top:.45rem;padding-top:.7rem;border-top:1px solid var(--color-line);font-size:.76rem}.booking-price-summary div{display:flex;justify-content:space-between;gap:1rem}.booking-price-summary dd{color:var(--color-ink);font-variant-numeric:tabular-nums}.booking-price-summary .is-total{margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--color-line);color:var(--color-ink);font-weight:700}.booking-form{display:grid;width:min(100%,var(--booking-column));max-width:var(--booking-column);grid-template-columns:1fr;gap:clamp(1rem,3vw,1.75rem);align-items:start;margin:0 auto}.booking-actions{display:grid;align-items:start;width:min(100%,var(--booking-column));max-width:var(--booking-column);grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin:0 auto}.booking-actions button{width:100%;min-width:0;min-height:2.85rem;align-self:start}.booking-actions button:only-child{grid-column:1 / -1}.access-section{background:var(--color-paper);color:var(--color-ink)}.access-wrap{display:grid;gap:clamp(1.6rem,4vw,2.6rem)}.access-copy{display:grid;gap:1rem;max-width:760px;margin:0 auto;text-align:center}.access-address{color:var(--color-ink);font-size:clamp(.9rem,1.5vw,1rem);line-height:2}.access-details{display:grid;gap:0;color:var(--color-muted);font-size:.82rem;line-height:1.9}.access-details div{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1rem;padding:.58rem 0;border-top:1px solid color-mix(in srgb,var(--color-line) 76%,transparent);text-align:left}.access-details div:last-child{border-bottom:1px solid color-mix(in srgb,var(--color-line) 76%,transparent)}.access-details dt{color:var(--color-ink);font-family:var(--font-serif);font-size:.78rem}.access-details dd{margin:0}.map-frame{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;background:var(--color-mist)}.map-frame iframe{display:block;width:100%;height:clamp(20rem,44vw,32rem);border:0;filter:saturate(1.05) contrast(.96) brightness(1.04)}.site-footer{border-top:1px solid var(--color-line);background:var(--color-paper)}.footer-inner{display:grid;gap:1.35rem;justify-items:center;max-width:var(--page-max);margin:0 auto;padding:clamp(3rem,6vw,4.5rem) 1rem;text-align:center}.footer-logo{display:grid;color:var(--color-ink);font-family:var(--font-logo);font-size:clamp(2.8rem,5vw,4.5rem);line-height:.8}.site-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem 1.5rem;color:var(--color-muted);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.site-footer button{color:inherit}.site-footer p{color:var(--color-muted);font-size:.72rem;line-height:1.8}.site-footer small{color:var(--color-muted);font-size:.72rem;letter-spacing:.08em}.reveal-in{animation:reveal-in .52s cubic-bezier(.22,1,.36,1) both}@keyframes reveal-in{0%{opacity:0;transform:translateY(10px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:900px){.concept-grid,.booking-form{grid-template-columns:1fr}.gallery-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-row{grid-template-columns:1fr}.menu-item-main{grid-template-columns:4.75rem minmax(0,1fr)}.menu-item-image{width:4.75rem}.menu-row dl{min-width:0;max-width:18rem}.access-details div{grid-template-columns:1fr;gap:.2rem;text-align:center}}@media(max-width:620px){body{font-size:.9375rem}.site-shell>header{padding:.85rem max(1rem,env(safe-area-inset-right)) .8rem max(1rem,env(safe-area-inset-left))}.site-shell>header>div{gap:.65rem}.brand-mark{font-size:2.1rem}.brand-mark span{display:none}.hero-image-screen{min-height:auto;padding:0}.hero-full-image{height:min(72svh,42rem);min-height:27rem}.hero-image-veils{inset:0}.hero-logo{top:50%;left:50%;width:100%;padding-inline:1rem;text-align:center;transform:translate(-50%,-50%)}.hero-logo h1{font-size:clamp(4.5rem,24vw,6rem)}.hero-logo span{margin-top:.75rem}.section-wrap{padding:3.75rem max(1rem,env(safe-area-inset-right)) 3.75rem max(1rem,env(safe-area-inset-left))}.concept-grid{gap:2rem}.concept-copy h2{font-size:1.2rem;line-height:1.75}.concept-copy p{margin-top:1rem;font-size:.875rem;line-height:1.95}.concept-photo{aspect-ratio:4 / 3}.section-heading{margin-bottom:1.4rem}.section-heading h2{font-size:1.3rem}.gallery-wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.desktop-menu-row,.course-list{display:none}.mobile-course-list{display:grid;border-top:1px solid var(--color-line)}.mobile-menu-row{border-bottom:1px solid var(--color-line)}.mobile-menu-row summary{position:relative;display:grid;min-height:4.75rem;align-content:center;gap:.45rem;padding:.8rem 1.7rem .8rem 0;color:var(--color-ink);cursor:pointer;list-style:none}.mobile-menu-row summary::-webkit-details-marker{display:none}.mobile-menu-row summary:after{position:absolute;top:50%;right:.2rem;content:"+";color:var(--color-muted);font-size:1.05rem;font-weight:300;transform:translateY(-50%)}.mobile-menu-row[open] summary:after{content:"−"}.mobile-menu-row summary>span{font-family:var(--font-serif);font-size:.9rem;line-height:1.55}html[lang=en] .mobile-menu-row summary>span{font-family:var(--font-serif-latin);font-weight:600}.mobile-menu-row summary small{display:flex;gap:.9rem;color:var(--color-muted);font-size:.72rem;font-variant-numeric:tabular-nums}.mobile-menu-row summary b{color:var(--color-ink);font-weight:600}.mobile-menu-detail{display:grid;grid-template-columns:4.5rem minmax(0,1fr);gap:.9rem;align-items:start;padding:0 0 1rem}.mobile-menu-detail img{width:4.5rem;aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.mobile-menu-detail p{color:var(--color-muted);font-size:.8rem;line-height:1.75}.booking-heading{min-height:auto}.booking-card-body{padding:1.1rem 0}.booking-progress-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:.2rem;margin-bottom:1.6rem}.booking-progress-step{gap:.15rem;padding:.55rem .15rem;font-size:.68rem}.booking-progress-step span{font-size:.56rem}.booking-stage{min-height:29rem}.course-picker{max-height:20rem}.course-option{min-height:4rem;padding:.8rem .75rem}.course-option span{font-size:.86rem}.slot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.access-address{font-size:.85rem;line-height:1.8}.access-details{font-size:.8rem}.map-frame iframe{height:19rem}.footer-inner{gap:1.1rem;padding:3rem max(1rem,env(safe-area-inset-right)) max(3rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left))}.site-footer nav{gap:.75rem 1rem;font-size:.68rem}.site-footer p{max-width:20rem}}.placeholder\:text-muted\/60::-moz-placeholder{color:#7a716d99}.placeholder\:text-muted\/60::placeholder{color:#7a716d99}.before\:block:before{content:var(--tw-content);display:block}.before\:h-6:before{content:var(--tw-content);height:1.5rem}.before\:w-6:before{content:var(--tw-content);width:1.5rem}.before\:rounded-full:before{content:var(--tw-content);border-radius:9999px}.before\:bg-white:before{content:var(--tw-content);--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.before\:shadow-sm:before{content:var(--tw-content);--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.before\:transition:before{content:var(--tw-content);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.last\:border-0:last-child{border-width:0px}.checked\:bg-blush:checked{--tw-bg-opacity: 1;background-color:rgb(216 170 164 / var(--tw-bg-opacity, 1))}.checked\:before\:translate-x-5:checked:before{content:var(--tw-content);--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-ink:hover{--tw-border-opacity: 1;border-color:rgb(50 45 43 / var(--tw-border-opacity, 1))}.hover\:border-ume:hover{--tw-border-opacity: 1;border-color:rgb(159 111 104 / var(--tw-border-opacity, 1))}.hover\:border-ume\/70:hover{border-color:#9f6f68b3}.hover\:bg-mist:hover{--tw-bg-opacity: 1;background-color:rgb(246 238 238 / var(--tw-bg-opacity, 1))}.hover\:bg-mist\/35:hover{background-color:#f6eeee59}.hover\:bg-mist\/45:hover{background-color:#f6eeee73}.hover\:bg-moss:hover,.hover\:bg-ume:hover{--tw-bg-opacity: 1;background-color:rgb(159 111 104 / var(--tw-bg-opacity, 1))}.hover\:text-moss:hover,.hover\:text-ume:hover{--tw-text-opacity: 1;color:rgb(159 111 104 / var(--tw-text-opacity, 1))}.focus\:border-ink:focus{--tw-border-opacity: 1;border-color:rgb(50 45 43 / var(--tw-border-opacity, 1))}.focus\:border-ume:focus{--tw-border-opacity: 1;border-color:rgb(159 111 104 / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-blush\/25:focus{--tw-ring-color: rgb(216 170 164 / .25)}.focus\:ring-blush\/35:focus{--tw-ring-color: rgb(216 170 164 / .35)}.focus\:ring-ink\/20:focus{--tw-ring-color: rgb(50 45 43 / .2)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}@media(min-width:640px){.sm\:mt-2{margin-top:.5rem}.sm\:inline{display:inline}.sm\:hidden{display:none}.sm\:min-h-\[5\.2rem\]{min-height:5.2rem}.sm\:p-2{padding:.5rem}.sm\:p-4{padding:1rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:py-2{padding-top:.5rem;padding-bottom:.5rem}.sm\:py-5{padding-top:1.25rem;padding-bottom:1.25rem}.sm\:text-\[0\.68rem\]{font-size:.68rem}.sm\:text-\[2\.7rem\]{font-size:2.7rem}.sm\:text-lg{font-size:1.125rem;line-height:1.75rem}.sm\:leading-4{line-height:1rem}}@media(min-width:768px){.md\:col-span-1{grid-column:span 1 / span 1}.md\:mb-4{margin-bottom:1rem}.md\:mb-5{margin-bottom:1.25rem}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:min-h-\[3\.5rem\]{min-height:3.5rem}.md\:grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.md\:grid-cols-\[1fr_10rem_10rem\]{grid-template-columns:1fr 10rem 10rem}.md\:items-end{align-items:flex-end}.md\:gap-3{gap:.75rem}.md\:gap-5{gap:1.25rem}.md\:p-4{padding:1rem}.md\:p-5{padding:1.25rem}.md\:px-3{padding-left:.75rem;padding-right:.75rem}.md\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-0{padding-top:0;padding-bottom:0}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media(min-width:1024px){.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:grid-cols-\[1fr_1fr_12rem_auto\]{grid-template-columns:1fr 1fr 12rem auto}.lg\:items-end{align-items:flex-end}}.\[\&\>button\:only-child\]\:col-span-2>button:only-child{grid-column:span 2 / span 2}
