:root{--ivory: #f4ede3;--ivory-soft: #faf6f0;--ivory-deep: #e9dfd1;--marble: #f8f6f3;--ink: #14110e;--ink-soft: #3b352d;--ink-mute: #7d7367;--gold: #c39a5f;--gold-bright: #e0c08a;--gold-dim: #9c7a44;--led: #ffe9c9;--glass-bg: rgba(250, 246, 240, .82);--glass-bg-strong: rgba(250, 246, 240, .94);--glass-border: rgba(195, 154, 95, .22);--glass-blur: 18px;--shadow-soft: 0 24px 70px -30px rgba(20, 17, 14, .45);--shadow-lift: 0 10px 40px -18px rgba(20, 17, 14, .38);--font-display: "Cormorant Garamond", "Times New Roman", Georgia, serif;--font-ui: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--step-hero: clamp(2.9rem, 9vw, 7.5rem);--step-h2: clamp(2rem, 4.6vw, 3.9rem);--step-h3: clamp(1.25rem, 2vw, 1.7rem);--step-body: clamp(.97rem, 1.05vw, 1.12rem);--step-label: clamp(.66rem, .78vw, .76rem);--tracking-label: .15em;--tracking-wide: .07em;--gutter: clamp(1.25rem, 5vw, 5.5rem);--section-pad: clamp(4.5rem, 11vh, 9rem);--panel-pad: clamp(1.75rem, 3.2vw, 3.4rem);--radius: 2px;--radius-lg: 4px;--nav-height: 76px;--ease: cubic-bezier(.22, .61, .36, 1);--ease-cine: cubic-bezier(.16, .84, .44, 1);color-scheme:light}@media(max-width:900px){:root{--nav-height: 62px;--glass-bg: rgba(250, 246, 240, .9)}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--font-ui);font-size:var(--step-body);font-weight:400;line-height:1.68;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4,p,figure,blockquote{margin:0}ul{margin:0;padding:0;list-style:none}img{max-width:100%;display:block}[hidden]{display:none!important}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--gold);outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.display{font-family:var(--font-display);font-weight:300;line-height:1.02;letter-spacing:-.005em}.label{font-size:var(--step-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--gold-dim)}.lede{font-family:var(--font-display);font-size:var(--step-h3);font-style:italic;font-weight:300;line-height:1.5;color:var(--ink-soft)}.rule{width:46px;height:1px;background:var(--gold);opacity:.6}.app{position:relative;min-height:100vh}.canvas-layer{position:fixed;inset:0;z-index:0;background:var(--ivory)}.canvas-layer canvas{display:block;touch-action:pan-y!important}.canvas-layer--contained{position:absolute}.content{position:relative;z-index:1}.static-salon__plate{position:absolute;inset:0;background-size:cover;background-repeat:no-repeat;opacity:0;transform:scale(1.02);transition:opacity 2.4s var(--ease)}.static-salon__plate.is-active{opacity:1;animation:kenburns 20s ease-out forwards}.static-salon__plate.is-still{animation:none;transform:none}.static-salon__plate.is-still:first-child{opacity:1}.static-salon__wash{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,#f4ede300 42%,#14110e52),linear-gradient(180deg,#f4ede324,#f4ede30f)}@keyframes kenburns{0%{transform:scale(1.02)}to{transform:scale(1.12)}}.section{position:relative;min-height:100svh;padding:var(--section-pad) var(--gutter);display:flex;scroll-margin-top:var(--nav-height)}.section--showcase{pointer-events:none;padding-bottom:clamp(5rem,14vh,9rem)}.section--showcase .section__inner{margin-block:auto 0}.section--showcase .panel{pointer-events:auto}.section__inner{width:100%;max-width:1320px;margin:auto}.panel{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(1.1);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.1);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--panel-pad);box-shadow:var(--shadow-soft)}.panel--narrow{max-width:560px}.panel--wide{max-width:980px}.panel--sheet{background:#faf6f0c7;box-shadow:none}.reveal{opacity:1}.stack{display:grid;gap:1.15rem}.stack--tight{gap:.6rem}.stack--loose{gap:2rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:var(--gutter);z-index:100;padding:.75rem 1.25rem;background:var(--ink);color:var(--ivory);letter-spacing:var(--tracking-wide);font-size:.8rem;text-transform:uppercase}.skip-link:focus{top:1rem}.logo{display:inline-flex;align-items:center;gap:.7rem;line-height:1}.logo__text{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.35em}.logo__badge{flex:0 0 auto;border-radius:50%;object-fit:contain}.logo--sm .logo__badge{width:36px;height:36px}.logo--md .logo__badge{width:62px;height:62px}.logo--lg .logo__badge{width:104px;height:104px}.logo__mark{display:flex;align-items:baseline;gap:.28em;overflow:hidden;padding-bottom:.06em;letter-spacing:.02em;white-space:nowrap}.logo__mark>span{display:inline-block}.logo__n{font-size:.78em;opacity:.85;transform:translateY(-.04em)}.logo--sm .logo__mark{font-size:1.5rem}.logo--md .logo__mark{font-size:clamp(2rem,3.2vw,2.8rem)}.logo--lg .logo__mark{font-size:var(--step-hero);gap:.22em}.logo__tagline{font-family:var(--font-ui);font-size:.62rem;font-weight:400;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--gold-dim)}.btn{--btn-fg: var(--ivory-soft);--btn-bg: var(--ink);position:relative;display:inline-flex;align-items:center;justify-content:center;padding:1.02em 2.3em;border:1px solid transparent;border-radius:var(--radius);background:var(--btn-bg);color:var(--btn-fg);font-size:.74rem;font-weight:400;letter-spacing:var(--tracking-label);text-transform:uppercase;overflow:hidden;transition:background var(--ease) .35s,color var(--ease) .35s,border-color var(--ease) .35s,opacity var(--ease) .25s}.btn__label{position:relative;z-index:1}.btn:hover:not(:disabled){background:var(--gold);color:var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn--outline{--btn-bg: transparent;--btn-fg: var(--ink);border-color:#14110e47}.btn--outline:hover:not(:disabled){background:var(--ink);color:var(--ivory-soft);border-color:var(--ink)}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--ink-soft);padding-inline:.4em}.btn--ghost .btn__label{padding-bottom:.35em;border-bottom:1px solid var(--gold)}.btn--ghost:hover:not(:disabled){background:transparent;color:var(--ink)}.nav{position:fixed;top:0;left:0;right:0;z-index:40;height:var(--nav-height);display:flex;align-items:center;gap:1.5rem;padding:0 var(--gutter);transition:background var(--ease) .45s,border-color var(--ease) .45s,backdrop-filter var(--ease) .45s;border-bottom:1px solid transparent}.nav.is-scrolled{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(1.08);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.08);border-bottom-color:var(--glass-border)}.nav.is-over-hero .nav__link{color:#faf6f0d6;text-shadow:0 1px 12px rgba(0,0,0,.38)}.nav.is-over-hero .nav__link:hover,.nav.is-over-hero .nav__link.is-active{color:#fff}.nav.is-over-hero .nav__link:after{background:var(--gold-bright)}.nav.is-over-hero .nav__brand .logo__mark{color:var(--ivory-soft);text-shadow:0 1px 14px rgba(0,0,0,.42)}.nav.is-over-hero .logo__badge{box-shadow:0 0 0 1px #faf6f04d}.nav.is-over-hero .nav__actions .btn--outline{--btn-fg: var(--ivory-soft);border-color:#faf6f07a;text-shadow:0 1px 10px rgba(0,0,0,.3)}.nav.is-over-hero .nav__actions .btn--outline:hover:not(:disabled){background:var(--ivory-soft);border-color:var(--ivory-soft);color:var(--ink);text-shadow:none}.nav.is-over-hero .nav__toggle{background:#100e0c4d;border-color:#faf6f061}.nav.is-over-hero .nav__bars i{background:var(--ivory-soft)}.nav__brand{flex:0 0 auto}.nav__links{display:flex;gap:clamp(1rem,2vw,2.1rem);margin-left:auto}.nav__link{position:relative;font-size:.7rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);padding-block:.4rem;white-space:nowrap;transition:color var(--ease) .3s}@media(min-width:901px)and (max-width:1180px){.nav{gap:.75rem;padding-inline:clamp(1rem,3vw,2rem)}.nav__brand .logo__badge{display:none}.nav__links{gap:.95rem}.nav__link{font-size:.64rem;letter-spacing:.09em}.nav__actions{margin-left:.9rem}.nav__actions .btn{padding:.66em 1.15em;font-size:.66rem}}.nav__link:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform var(--ease) .35s}.nav__link:hover,.nav__link.is-active{color:var(--ink)}.nav__link.is-active:after,.nav__link:hover:after{transform:scaleX(1)}.nav__actions{display:flex;align-items:center;gap:.75rem;margin-left:clamp(1rem,2vw,2rem)}.nav__actions .btn{padding:.72em 1.5em}.nav__toggle{display:none;width:44px;height:44px;place-items:center;border:1px solid rgba(20,17,14,.16);border-radius:999px;background:#faf6f0c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px -4px #14110e4d;transition:background var(--ease) .3s,border-color var(--ease) .3s}.nav__bars{display:grid;gap:6px;width:22px}.nav__bars i{display:block;height:1.5px;border-radius:1px;background:var(--ink);transition:transform var(--ease) .35s,background var(--ease) .3s}.nav.is-open .nav__toggle{background:#ffffff1a;border-color:#f4ede357}.nav.is-open .nav__bars i{background:var(--ivory-soft)}.nav.is-open .nav__bars i:first-child{transform:translateY(3.75px) rotate(45deg)}.nav.is-open .nav__bars i:last-child{transform:translateY(-3.75px) rotate(-45deg)}.nav__drawer{position:fixed;inset:var(--nav-height) 0 0;background:radial-gradient(120% 80% at 50% 0%,rgba(58,48,38,.55) 0%,transparent 62%),#100e0cf6;-webkit-backdrop-filter:blur(18px) saturate(.9);backdrop-filter:blur(18px) saturate(.9);display:grid;align-content:center;overflow-y:auto;overscroll-behavior:contain;padding:1.25rem var(--gutter) calc(1.25rem + env(safe-area-inset-bottom,0px));animation:nav-drawer-in .32s var(--ease) both}@keyframes nav-drawer-in{0%{opacity:0}}.nav__drawer nav{display:grid;width:100%;max-width:34rem;margin-inline:auto}.nav__drawer-link{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--font-ui);font-size:clamp(.95rem,4.2vw,1.12rem);font-weight:500;letter-spacing:.16em;text-transform:uppercase;padding-block:1.05rem;color:#f8f4ede0;border-bottom:1px solid rgba(244,237,227,.1);transition:color var(--ease) .25s;animation:nav-item-in .42s var(--ease) both;animation-delay:calc(var(--i, 0) * 38ms + 60ms)}.nav__drawer-link:last-of-type{border-bottom:0}.nav__drawer-link.is-active{color:var(--gold-bright)}.nav__drawer-link.is-active:after{content:"";width:26px;height:1px;flex:0 0 auto;background:var(--gold-bright)}.nav__drawer-link:active{color:#fff}@keyframes nav-item-in{0%{opacity:0;transform:translateY(10px)}}.nav__drawer-cta{display:block;margin-top:1.75rem;padding:1.05rem 1.5rem;border-radius:var(--radius);background:var(--gold);color:#17130e;font-family:var(--font-ui);font-size:.76rem;font-weight:600;letter-spacing:var(--tracking-label);text-transform:uppercase;text-align:center;animation:nav-item-in .42s var(--ease) both;animation-delay:.4s}.nav__drawer-foot{margin-top:1.5rem;text-align:center;font-size:.68rem;letter-spacing:var(--tracking-wide);color:#f4ede380;animation:nav-item-in .42s var(--ease) both;animation-delay:.45s}.nav__drawer-foot a{color:#f4ede3b8}.nav.is-open{background:#100e0cf6;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:#f4ede31a}.nav.is-open .logo__mark,.nav.is-open .nav__brand{color:var(--ivory-soft)}@media(prefers-reduced-motion:reduce){.nav__drawer,.nav__drawer-link,.nav__drawer-cta,.nav__drawer-foot{animation:none}}@media(max-width:900px){.nav__links{display:none}.nav__toggle{display:grid}.nav__actions .btn{display:none}}@media(min-width:901px){.nav__drawer{display:none}}.backdrop{position:fixed;inset:0;z-index:0;height:100lvh;overflow:hidden;background:#0f0d0b;pointer-events:none}.backdrop__poster,.backdrop__anim img,.backdrop__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 45%}.backdrop__anim{position:absolute;inset:0}.backdrop__video{opacity:0;transition:opacity 1.1s var(--ease)}.backdrop__video.is-ready{opacity:1}.backdrop__video::-webkit-media-controls,.backdrop__video::-webkit-media-controls-start-playback-button,.backdrop__video::-webkit-media-controls-panel,.theatre__film::-webkit-media-controls,.theatre__film::-webkit-media-controls-start-playback-button,.theatre__film::-webkit-media-controls-panel{display:none!important;-webkit-appearance:none;opacity:0;pointer-events:none}.backdrop__grade{position:absolute;inset:0;background:linear-gradient(180deg,#0a090866,#0a09081a 16%,#0a090800 30%),radial-gradient(130% 100% at 50% 45%,#0a090800 55%,#0a09084d),radial-gradient(42% 40% at 100% 0%,#0a090866,#0a090800 72%),#0a09081a}@media(max-width:900px){.backdrop__poster,.backdrop__anim img,.backdrop__video{object-position:50% 50%}}.section--hero{position:relative;display:block;min-height:100svh;padding:0;overflow:hidden;color:#fff}.section--hero .section__inner{position:relative;max-width:none;margin:0;height:100svh}.section--hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(28deg,#0a0908b8,#0a090880 22%,#0a090838,#0a090800 58%),linear-gradient(180deg,#0a090800 46%,#0a09084d 72%,#0a0908a8)}.hero__type{position:absolute;left:var(--gutter);right:var(--gutter);bottom:clamp(3.2rem,9vh,6.5rem);z-index:1;display:grid;gap:.9rem;justify-items:start;max-width:680px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.45),0 6px 28px rgba(0,0,0,.55)}.hero__label{font-size:var(--step-label);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;font-weight:600;color:#fff}.hero__name{margin:0;font-weight:400;line-height:1}.hero__name .logo__mark{font-size:clamp(1.45rem,2.3vw,2rem);letter-spacing:.04em;color:#fff}.hero__headline{margin-top:.35rem;font-weight:300;font-size:clamp(2.7rem,6.6vw,5.8rem);line-height:1;letter-spacing:-.012em}.hero__headline em{font-style:italic;font-weight:300;color:var(--gold-bright)}.hero__sub{max-width:34ch;font-size:clamp(.96rem,1.1vw,1.08rem);font-weight:400;line-height:1.6;color:#fff}.hero__cta{margin-top:.6rem}.hero__cta .btn{--btn-bg: var(--ivory-soft);--btn-fg: var(--ink);text-shadow:none;box-shadow:0 10px 30px -14px #0009}.hero__cta .btn:hover:not(:disabled){background:var(--gold);color:var(--ink)}.hero__scroll{position:absolute;right:var(--gutter);bottom:clamp(2rem,6vh,3.4rem);z-index:1;display:grid;justify-items:center;gap:.7rem;font-size:.6rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:#faf6f09e;text-shadow:0 1px 10px rgba(0,0,0,.35);transition:color var(--ease) .3s}.hero__scroll:hover{color:var(--ivory-soft)}.hero__scroll-line{width:1px;height:42px;background:linear-gradient(#faf6f0d9,#faf6f000);animation:hero-scroll-cue 2.6s var(--ease) infinite}@keyframes hero-scroll-cue{0%,to{transform:scaleY(1);opacity:1}50%{transform:scaleY(.55);opacity:.55}}@media(prefers-reduced-motion:reduce){.hero__scroll-line{animation:none}}@media(max-width:900px){.section--hero:before{background:linear-gradient(180deg,#0a090800 30%,#0a090880 58%,#0a0908d6)}.hero__type{bottom:clamp(4.4rem,11vh,6rem);gap:.75rem}.hero__headline{font-size:clamp(2.5rem,11.5vw,3.6rem)}.hero__scroll{display:none}}.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:clamp(1.5rem,4vw,4rem);align-items:start}.story__title{font-size:var(--step-h2);margin-block:.6rem 1.2rem}.story__title em{font-style:italic;color:var(--gold-dim)}.story__vision{margin-top:1.4rem;color:var(--ink-soft)}.story__sign{margin-top:1.4rem;font-family:var(--font-display);font-style:italic;font-size:1.15rem;color:var(--gold-dim)}.story__points{display:grid;gap:1px;background:var(--glass-border);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.story__point{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:clamp(1.35rem,2.2vw,2rem)}.story__key{display:block;margin-bottom:.6rem}.story__point-title{font-size:var(--step-h3);margin-bottom:.5rem}.story__point-body{font-size:.94rem;color:var(--ink-soft)}@media(max-width:900px){.story{grid-template-columns:1fr}}.services{margin-inline:auto}.services__head{display:grid;gap:.5rem;margin-bottom:2rem}.services__title{font-size:var(--step-h2)}.services__partner{font-size:.8rem;color:var(--ink-mute);letter-spacing:.04em}.services__tabs{display:flex;flex-wrap:wrap;gap:.9rem 1.9rem;border-bottom:1px solid var(--glass-border);padding-bottom:.9rem;margin-bottom:1.9rem}.services__tab{font-size:.72rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-mute);padding-bottom:.35rem;border-bottom:1px solid transparent;transition:color var(--ease) .3s,border-color var(--ease) .3s}.services__tab:hover{color:var(--ink-soft)}.services__tab.is-active{color:var(--ink);border-bottom-color:var(--gold)}.services__blurb{margin-bottom:1.6rem;font-size:1.05rem}.menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:2.2rem 3.2rem;align-items:start}.menu__group{break-inside:avoid}.menu__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.55rem;border-bottom:1px solid var(--glass-border)}.menu__head--cols{display:grid;grid-template-columns:1fr 84px 84px}.menu__group-title{font-size:1.36rem;color:var(--gold-dim);line-height:1.2}.menu__col{text-align:right;color:var(--ink-mute)}.menu__list{display:grid}.menu__row{display:flex;align-items:baseline;gap:.75rem;padding-block:.6rem;border-bottom:1px solid rgba(20,17,14,.06)}.menu__row--cols{display:grid;grid-template-columns:1fr 84px 84px}.menu__name{display:flex;flex-direction:column;gap:.12rem;font-size:.94rem}.menu__note{font-size:.74rem;line-height:1.35;color:var(--ink-mute);letter-spacing:.015em}.menu__dots{flex:1 1 auto;min-width:1.25rem;border-bottom:1px dotted rgba(20,17,14,.22);transform:translateY(-.28em)}.menu__price{font-family:var(--font-display);font-size:1.1rem;color:var(--gold-dim);text-align:right;white-space:nowrap}.menu__flat{grid-column:2 / -1;font-family:var(--font-display);font-size:1.1rem;color:var(--gold-dim);text-align:right;white-space:nowrap}.services__foot{margin-top:2rem;font-size:.78rem;color:var(--ink-mute);max-width:62ch}@media(max-width:620px){.menu{grid-template-columns:1fr}.menu__head--cols,.menu__row--cols{grid-template-columns:1fr 68px 68px}.menu__price,.menu__flat{font-size:1rem}}.salon{display:grid;gap:clamp(1.4rem,3vh,2.2rem)}.salon__head{display:grid;gap:.5rem;max-width:64ch}.salon__title{font-size:var(--step-h2);line-height:1.08}.salon__title em{font-style:italic;color:var(--gold-dim)}.salon__body{color:var(--ink-soft)}.salon__viewer{position:relative;width:100%;aspect-ratio:16 / 9;min-height:340px;max-height:78vh;overflow:hidden;border-radius:var(--radius-lg);background:var(--ivory-deep);box-shadow:var(--shadow-soft);overscroll-behavior:contain}.salon__placeholder{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.salon__viewer .static-salon{position:absolute}.salon__views{position:absolute;left:.9rem;right:.9rem;bottom:.9rem;z-index:2;display:flex;flex-wrap:wrap;gap:.4rem}.salon__view{padding:.58em 1.05em;border:1px solid rgba(250,246,240,.35);border-radius:999px;background:#100e0c6b;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.66rem;font-weight:500;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:#faf6f0e6;transition:background var(--ease) .3s,color var(--ease) .3s,border-color var(--ease) .3s}.salon__view:hover{border-color:var(--gold-bright)}.salon__view.is-active{background:var(--ivory-soft);border-color:var(--ivory-soft);color:var(--ink)}.salon__hint{position:absolute;top:.9rem;right:.9rem;z-index:2;margin:0;color:#faf6f0c7;text-shadow:0 1px 8px rgba(0,0,0,.4)}@media(max-width:900px){.salon__viewer{aspect-ratio:4 / 5;min-height:380px;max-height:70vh}.salon__hint{display:none}}.gallery__head{display:grid;gap:.5rem;margin-bottom:1.9rem}.gallery__title{font-size:var(--step-h2)}.gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:215px;gap:.6rem}.gallery__cell--wide{grid-column:span 2}.gallery__cell--tall{grid-row:span 2}.gallery__btn{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:var(--radius-lg);background:var(--ivory-deep)}.gallery__btn img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}.gallery__btn:hover img{transform:scale(1.045)}.gallery__caption{position:absolute;inset:auto 0 0;padding:2.5rem 1rem .9rem;font-size:.72rem;letter-spacing:.05em;color:var(--ivory-soft);text-align:left;background:linear-gradient(transparent,#14110eb8);opacity:0;transition:opacity var(--ease) .4s}.gallery__btn:hover .gallery__caption,.gallery__btn:focus-visible .gallery__caption{opacity:1}@media(max-width:620px){.gallery__grid{grid-auto-rows:180px}.gallery__cell--wide,.gallery__cell--tall{grid-column:span 1;grid-row:span 1}}.lightbox{position:fixed;inset:0;z-index:70;display:grid;place-items:center;padding:clamp(1rem,5vw,4rem)}.lightbox__scrim{position:absolute;inset:0;background:#0b0a09e6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);cursor:zoom-out}.lightbox__figure{position:relative;margin:0;max-width:min(1100px,92vw);max-height:84vh;display:grid;gap:.9rem;justify-items:center}.lightbox__figure img{max-height:76vh;width:auto;object-fit:contain;border-radius:var(--radius-lg)}.lightbox__figure figcaption{font-size:.76rem;letter-spacing:.05em;color:#f4ede3b8;text-align:center}.lightbox__nav,.lightbox__close{position:absolute;z-index:1;display:grid;place-items:center;width:48px;height:48px;color:var(--ivory-soft);font-size:1.9rem;line-height:1;border:1px solid rgba(244,237,227,.24);border-radius:50%;transition:background var(--ease) .3s}.lightbox__nav:hover,.lightbox__close:hover{background:#f4ede324}.lightbox__nav--prev{left:clamp(.5rem,3vw,2.5rem);top:50%;transform:translateY(-50%)}.lightbox__nav--next{right:clamp(.5rem,3vw,2.5rem);top:50%;transform:translateY(-50%)}.lightbox__close{top:clamp(.75rem,3vh,2rem);right:clamp(.5rem,3vw,2.5rem);font-size:1.5rem}.team__head,.gallery__head{text-shadow:none}.team__head{display:grid;gap:.5rem;margin-bottom:2rem}.team__title{font-size:var(--step-h2)}.team__intro{color:var(--ink-soft);max-width:52ch}.team__founder{display:flex;align-items:center;gap:clamp(1.1rem,2.4vw,2rem);padding:clamp(1.3rem,2.4vw,2rem);margin-bottom:1.75rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.team__founder-body{display:grid;gap:.3rem}.team__groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:1px;background:var(--glass-border);border:1px solid var(--glass-border);border-radius:var(--radius-lg);overflow:hidden}.team__group{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));padding:clamp(1.2rem,2vw,1.7rem)}.team__group-title{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.7rem;margin-bottom:1.1rem;border-bottom:1px solid var(--glass-border)}.team__count{font-family:var(--font-display);font-size:1.05rem;letter-spacing:0;text-transform:none;color:var(--ink-mute)}.team__list{display:grid;gap:1rem}.team__member{display:flex;align-items:center;gap:.8rem}.team__member-body{display:flex;flex-direction:column;gap:.1rem;min-width:0}.team__portrait{flex:0 0 auto;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--ivory-deep);overflow:hidden}.team__portrait--lg{width:clamp(84px,12vw,112px);height:clamp(84px,12vw,112px)}.team__portrait img{width:100%;height:100%;object-fit:cover}.team__monogram{font-size:1.02rem;letter-spacing:.02em;color:var(--gold-dim)}.team__portrait--lg .team__monogram{font-size:2.1rem}.team__name{font-size:1.16rem;line-height:1.25}.team__founder .team__name{font-size:clamp(1.6rem,3vw,2.1rem)}.team__role{font-size:.64rem;color:var(--ink-mute)}.team__bio{font-size:.92rem;color:var(--ink-soft);margin-top:.35rem;max-width:46ch}@media(max-width:520px){.team__founder{flex-direction:column;align-items:flex-start;text-align:left}}.booking{margin-inline:auto}.booking__head{display:grid;gap:.5rem;margin-bottom:2rem}.booking__title{font-size:var(--step-h2)}.booking__intro{color:var(--ink-soft);max-width:46ch}.booking__form{display:grid;gap:1.35rem}.booking__row{display:grid;grid-template-columns:1fr 1fr;gap:1.35rem}.field{display:grid;gap:.5rem}.field__label{color:var(--ink-mute)}.field__optional{text-transform:none;letter-spacing:.02em;opacity:.7;font-size:.9em}.field input,.field select,.field textarea{width:100%;padding:.9rem 1rem;font:inherit;font-size:.95rem;color:var(--ink);background:#ffffff9e;border:1px solid rgba(20,17,14,.16);border-radius:var(--radius);transition:border-color var(--ease) .28s,background var(--ease) .28s}.field textarea{resize:vertical;min-height:96px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--gold);background:#fff;outline:none}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:#a4442f}.field input:disabled,.field select:disabled{opacity:.55;cursor:not-allowed}.field__error{font-size:.78rem;color:#a4442f}.booking__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.4rem}.booking__note,.booking__warning{font-size:.78rem;color:var(--ink-mute)}.booking__warning code{font-size:.94em;background:#14110e0f;padding:.1em .35em;border-radius:2px}.booking__done{display:grid;gap:1rem;justify-items:start;padding:1rem 0}.booking__done h3{font-size:var(--step-h3)}.booking__done a{border-bottom:1px solid var(--gold)}@media(max-width:720px){.booking__row{grid-template-columns:1fr}}.field__phone{display:flex;align-items:stretch;background:#ffffff9e;border:1px solid rgba(20,17,14,.16);border-radius:var(--radius);transition:border-color var(--ease) .28s,background var(--ease) .28s}.field__phone:focus-within{border-color:var(--gold);background:#fff}.field__phone.is-invalid{border-color:#a4442f}.field__prefix{display:grid;place-items:center;padding-inline:.9rem;font-size:.95rem;color:var(--ink-mute);border-right:1px solid rgba(20,17,14,.12);user-select:none}.field__phone input{border:0;background:transparent;letter-spacing:.08em}.field__phone input:focus{background:transparent}.chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:.7rem}.chip{padding:.5em 1.05em;border:1px solid rgba(20,17,14,.18);border-radius:999px;font-size:.68rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);transition:background var(--ease) .28s,color var(--ease) .28s,border-color var(--ease) .28s}.chip:hover{border-color:var(--gold)}.chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--ivory-soft)}.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.4rem}.slot{padding:.72em .4em;border:1px solid rgba(20,17,14,.14);border-radius:var(--radius);background:#ffffff80;font-size:.82rem;letter-spacing:.03em;color:var(--ink-soft);transition:background var(--ease) .24s,color var(--ease) .24s,border-color var(--ease) .24s}.slot:hover{border-color:var(--gold);color:var(--ink)}.slot.is-active{background:var(--ink);border-color:var(--ink);color:var(--ivory-soft)}.booking__hint{font-size:.88rem;color:var(--ink-mute);padding:.9rem 1rem;background:#ffffff6b;border:1px dashed rgba(20,17,14,.16);border-radius:var(--radius)}.datepicker{position:relative}.datepicker__trigger{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.9rem 1rem;font-size:.95rem;text-align:left;color:var(--ink-mute);background:#ffffff9e;border:1px solid rgba(20,17,14,.16);border-radius:var(--radius);transition:border-color var(--ease) .28s,background var(--ease) .28s,color var(--ease) .28s}.datepicker__trigger.has-value{color:var(--ink)}.datepicker__trigger:hover,.datepicker__trigger[aria-expanded=true]{border-color:var(--gold);background:#fff}.datepicker__trigger[aria-invalid=true]{border-color:#a4442f}.datepicker__value{display:flex;align-items:baseline;gap:.6rem;min-width:0}.datepicker__relative{font-size:.66rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--gold-dim)}.datepicker__icon{flex:0 0 auto;width:18px;height:18px;fill:none;stroke:var(--ink-mute);stroke-width:1.4;stroke-linecap:round}.datepicker__pop{position:absolute;z-index:20;top:calc(100% + .5rem);left:0;width:min(320px,calc(100vw - 2 * var(--gutter)));padding:1rem;background:var(--glass-bg-strong);backdrop-filter:blur(20px) saturate(1.1);-webkit-backdrop-filter:blur(20px) saturate(1.1);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);animation:datepicker-in .22s var(--ease)}.datepicker__pop.is-above{top:auto;bottom:calc(100% + .5rem);animation-name:datepicker-in-up}@keyframes datepicker-in-up{0%{opacity:0;transform:translateY(6px)}}@keyframes datepicker-in{0%{opacity:0;transform:translateY(-6px)}}.datepicker__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.85rem}.datepicker__month{font-family:var(--font-display);font-size:1.16rem;letter-spacing:.01em}.datepicker__nav{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-size:1.3rem;line-height:1;color:var(--ink-soft);transition:background var(--ease) .25s}.datepicker__nav:hover:not(:disabled){background:#14110e12}.datepicker__nav:disabled{opacity:.25;cursor:not-allowed}.datepicker__weekdays,.datepicker__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.datepicker__weekdays{margin-bottom:.35rem}.datepicker__weekdays span{display:grid;place-items:center;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.datepicker__day{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font-size:.86rem;color:var(--ink-soft);transition:background var(--ease) .2s,color var(--ease) .2s}.datepicker__day:hover:not(:disabled){background:#c39a5f2e;color:var(--ink)}.datepicker__day.is-outside{opacity:.32}.datepicker__day:disabled{opacity:.22;cursor:not-allowed}.datepicker__day.is-today:not(.is-selected){font-weight:500;color:var(--gold-dim);box-shadow:inset 0 0 0 1px #c39a5f80}.datepicker__day.is-selected{background:var(--ink);color:var(--ivory-soft)}.datepicker__foot{display:flex;gap:.4rem;margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--glass-border)}.datepicker__quick{flex:1;padding:.5em;border:1px solid rgba(20,17,14,.14);border-radius:var(--radius);font-size:.66rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);transition:background var(--ease) .25s,color var(--ease) .25s}.datepicker__quick:hover:not(:disabled){background:var(--ink);color:var(--ivory-soft)}.datepicker__quick:disabled{opacity:.35;cursor:not-allowed}.booking__tick{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--gold);color:var(--gold-dim);font-size:1.4rem}.booking__summary{display:grid;gap:.75rem;width:100%;max-width:560px;margin:0;padding:1.1rem 1.25rem;background:#ffffff73;border:1px solid var(--glass-border);border-radius:var(--radius-lg)}.booking__summary>div{display:grid;grid-template-columns:88px 1fr;gap:.75rem;align-items:baseline}.booking__summary dt{font-size:.64rem;letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-mute)}.booking__summary dd{margin:0;font-size:.94rem}@media(max-width:520px){.slots{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.datepicker__pop{left:50%;margin-left:-160px}}.contact{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1.25rem,3vw,2.5rem);align-items:start}.contact__status{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.2rem;padding:.4rem .9rem .4rem .7rem;border:1px solid var(--glass-border);border-radius:999px;font-size:.74rem;letter-spacing:.05em;color:var(--ink-mute)}.contact__dot{width:7px;height:7px;border-radius:50%;background:var(--ink-mute)}.contact__status.is-open{color:var(--ink-soft);border-color:#4f8f5a59}.contact__status.is-open .contact__dot{background:#4f8f5a;box-shadow:0 0 0 3px #4f8f5a2e}.contact__hours-block{display:grid;gap:.35rem;margin-top:1.6rem;padding-top:1.3rem;border-top:1px solid var(--glass-border)}.contact__hours-span{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,1.9rem);color:var(--ink);letter-spacing:.01em}.contact__hours-days{font-size:.84rem;color:var(--ink-mute)}.contact__title{font-size:var(--step-h2);margin-block:.5rem 1.4rem}.contact__title em{font-style:italic;color:var(--gold-dim)}.contact__address{display:grid;font-style:normal;font-family:var(--font-display);font-size:1.28rem;line-height:1.55;color:var(--ink-soft)}.contact__links{display:grid;gap:.4rem;margin-block:1.4rem}.contact__links a{font-size:.92rem;border-bottom:1px solid transparent;transition:border-color var(--ease) .3s}.contact__links a:hover{border-bottom-color:var(--gold)}.contact__hours{width:100%;border-collapse:collapse;margin-top:1.5rem;font-size:.88rem}.contact__hours caption{text-align:left;padding-bottom:.75rem}.contact__hours th,.contact__hours td{padding:.42rem 0;text-align:left;font-weight:300;border-bottom:1px solid rgba(20,17,14,.07)}.contact__hours td{text-align:right;color:var(--ink-soft)}.contact__hours tr.is-today th,.contact__hours tr.is-today td{color:var(--gold-dim)}.contact__map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--glass-border);min-height:380px;background:var(--ivory-deep)}.contact__map iframe{width:100%;height:100%;min-height:380px;border:0;display:block;filter:grayscale(.35) contrast(1.05)}.contact__footer .logo{flex-direction:column;align-items:center;gap:.9rem}.contact__footer .logo__text{align-items:center}.contact__footer{grid-column:1 / -1;display:grid;gap:.5rem;justify-items:center;text-align:center;padding-top:clamp(2.5rem,6vh,4.5rem);margin-top:clamp(1.5rem,4vh,3rem);border-top:1px solid var(--glass-border)}.contact__colophon,.contact__fine{font-size:.7rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-mute)}@media(max-width:900px){.contact{grid-template-columns:1fr}}.social{display:inline-flex;align-items:center;gap:.85rem;color:var(--ink-soft);transition:color var(--ease) .3s,border-color var(--ease) .3s,background var(--ease) .3s}.social__glyph{flex:0 0 auto;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.social--card{width:100%;margin-top:1.5rem;padding:.95rem 1.1rem;border:1px solid var(--glass-border);border-radius:var(--radius-lg);background:#ffffff6b}.social--card:hover{border-color:var(--gold);background:#ffffffa8;color:var(--ink)}.social--card .social__glyph{width:24px;height:24px;color:var(--gold-dim)}.social__body{display:grid;gap:.15rem;min-width:0}.social__label{color:var(--gold-dim)}.social__handle{font-size:.92rem;letter-spacing:.01em;overflow-wrap:anywhere}.social__arrow{margin-left:auto;font-size:1.05rem;color:var(--gold-dim);transition:transform var(--ease) .3s}.social--card:hover .social__arrow{transform:translate(4px)}.social--inline{gap:.5rem;font-size:.82rem;letter-spacing:.02em;color:var(--ink-mute)}.social--inline .social__glyph{width:17px;height:17px}.social--inline:hover{color:var(--gold-dim)}.modebar{position:fixed;left:50%;bottom:clamp(1rem,3vh,2rem);transform:translate(-50%,14px);z-index:30;display:flex;align-items:center;gap:.85rem;padding:.55rem .9rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur)) saturate(1.1);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.1);border:1px solid var(--glass-border);border-radius:999px;box-shadow:var(--shadow-lift);opacity:0;pointer-events:none;transition:opacity var(--ease) .6s,transform var(--ease) .6s;max-width:calc(100vw - 2 * var(--gutter))}.modebar.is-visible{opacity:1;transform:translate(-50%);pointer-events:auto}.modebar__label{flex:0 0 auto;padding-left:.4rem}.modebar__group{display:flex;gap:.15rem;overflow-x:auto;scrollbar-width:none}.modebar__group::-webkit-scrollbar{display:none}.modebar__btn{flex:0 0 auto;padding:.5em .95em;border-radius:999px;font-size:.68rem;letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;transition:background var(--ease) .3s,color var(--ease) .3s}.modebar__btn:hover{background:#14110e12}.modebar__btn.is-active{background:var(--ink);color:var(--ivory-soft)}@media(max-width:620px){.modebar__label{display:none}}body.is-theatre .content,body.is-theatre .canvas-layer{content-visibility:hidden}.theatre{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:var(--gutter);background:#000;cursor:pointer;opacity:1;transform:scale(1);transition:opacity var(--cue-exit, .85s) cubic-bezier(.4,0,.2,1),transform var(--cue-exit, .85s) cubic-bezier(.4,0,.2,1);will-change:opacity,transform}.theatre.is-leaving{opacity:0;transform:scale(1.08);pointer-events:none}.theatre__card{display:grid;justify-items:center;gap:clamp(1.1rem,2.4vh,2rem);text-align:center}.theatre__stage{position:relative;display:grid;place-items:center;width:clamp(240px,40vh,420px);aspect-ratio:1}.theatre__glow{position:absolute;inset:-34%;border-radius:50%;background:radial-gradient(circle,rgba(195,154,95,.2) 0%,rgba(195,154,95,.07) 38%,transparent 68%)}.theatre__film,.theatre__anim,.theatre__anim img,.theatre__still{position:relative;grid-area:1 / 1;width:100%;height:100%;object-fit:cover;animation:theatre-film var(--cue-film-dur) var(--ease-cine) var(--cue-film) both;-webkit-mask-image:radial-gradient(circle,#000 52%,transparent 74%);mask-image:radial-gradient(circle,#000 52%,transparent 74%)}.theatre__film{opacity:0;transition:opacity .35s linear}.theatre__film.is-playing{opacity:1}.theatre__wordmark{display:flex;align-items:baseline;justify-content:center;gap:.26em;margin:0;font-size:clamp(2.6rem,11vw,6.4rem);font-weight:300;letter-spacing:.03em;line-height:1;color:var(--ivory-soft)}.theatre__word{display:inline-block;will-change:transform,opacity,filter;animation:theatre-word var(--cue-word-dur) var(--ease-cine) both}.theatre__word:nth-child(1){animation-delay:var(--cue-w1)}.theatre__word:nth-child(2){animation-delay:var(--cue-w2)}.theatre__word:nth-child(3){animation-delay:var(--cue-w3)}.theatre__word--n{font-size:.62em;color:var(--gold);transform-origin:50% 70%}.theatre__rule{display:block;width:clamp(90px,16vw,160px);height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:theatre-rule .55s cubic-bezier(.65,0,.35,1) var(--cue-rule) both}.theatre__tagline{margin:0;font-family:var(--font-ui);font-size:clamp(.62rem,1.5vw,.76rem);font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;color:#f4ede39e;animation:theatre-tagline .55s var(--ease-cine) var(--cue-tagline) both}.theatre__skip{position:absolute;right:clamp(1rem,4vw,2.6rem);bottom:clamp(1rem,4vh,2.4rem);padding:.6rem 1.1rem;border:1px solid rgba(244,237,227,.2);border-radius:var(--radius);background:transparent;color:#f4ede399;font-family:var(--font-ui);font-size:.66rem;font-weight:500;letter-spacing:var(--tracking-label);text-transform:uppercase;cursor:pointer;transition:color var(--ease) .3s,border-color var(--ease) .3s}.theatre__skip:hover,.theatre__skip:focus-visible{color:var(--ivory-soft);border-color:#c39a5f8c}.theatre__grain{position:absolute;inset:-120px;opacity:.055;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");animation:theatre-grain .7s steps(1) infinite}@keyframes theatre-film{0%{opacity:0;transform:scale(1.18)}}@keyframes theatre-word{0%{opacity:0;transform:translateY(26%) scale(1.16);filter:blur(12px)}}@keyframes theatre-rule{0%{transform:scaleX(0)}}@keyframes theatre-tagline{0%{opacity:0;transform:translateY(10px)}}.theatre.is-leaving *,.theatre.is-still *{animation:none!important}@keyframes theatre-grain{0%{transform:translateZ(0)}17%{transform:translate3d(-9px,5px,0)}34%{transform:translate3d(6px,-8px,0)}51%{transform:translate3d(-4px,-6px,0)}68%{transform:translate3d(8px,4px,0)}85%{transform:translate3d(-7px,8px,0)}}@media(prefers-reduced-motion:reduce){.theatre{transition:opacity .5s linear}.theatre.is-leaving{transform:none}.theatre__grain{animation:none}.theatre__grain{display:none}}@media(max-width:620px){.theatre__card{gap:1rem}}
