
*{box-sizing:border-box}html,body{margin:0;background:#171a16;color:#fff}body{font-family:Arial,Helvetica,sans-serif}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:1px solid currentColor;outline-offset:5px}.hero{position:relative;width:100%;height:100svh;min-height:380px;overflow:hidden;isolation:isolate;background:#171a16}.frame{position:absolute;inset:0;opacity:0;transition:opacity 1.04s ease-in-out;z-index:0}.frame.active{opacity:1;z-index:1}.frame.previous{opacity:1;z-index:0;transition:none}.frame img{display:block;width:100%;height:100%;object-fit:cover;object-position:var(--mobile);filter:none}.wordmark{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;margin:0;width:108px;aspect-ratio:430/145;overflow:hidden;mix-blend-mode:screen;pointer-events:none}.wordmark img{position:absolute;display:block;width:180.465%;height:auto;max-width:none;left:-42.093%;top:-93.793%;filter:grayscale(1) invert(1)}.control{border:0;background:transparent;min-width:44px;min-height:44px;padding:12px;line-height:20px;font-size:11px;letter-spacing:.06em}.bottom{position:absolute;z-index:4;bottom:max(14px,env(safe-area-inset-bottom));left:14px;right:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-shadow:0 1px 6px #0008}.transport{display:flex;align-items:center}.count{font-size:10px;letter-spacing:.1em;font-variant-numeric:tabular-nums;min-width:55px;text-align:center}.pause{font-size:13px}.index-button{font-size:10px;letter-spacing:.1em}.veil{position:absolute;inset:auto 0 0;height:110px;z-index:2;pointer-events:none;background:linear-gradient(transparent,#0003)}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}dialog{position:fixed;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;color:#252723;background:#eeeae4}dialog::backdrop{background:#eeeae4}.archive-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:13px 15px;background:#eeeae4}.archive-head span{font-size:12px;letter-spacing:.06em}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px;padding:10px 20px 40px}.thumb{border:0;background:none;padding:0;text-align:left;color:#252723}.thumb img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;object-position:var(--mobile)}.thumb span{display:block;font-size:10px;letter-spacing:.04em;margin-top:8px}.thumb[aria-current=true] span{text-decoration:underline;text-underline-offset:4px}@media(min-width:760px){.frame img{object-position:var(--desktop)}.wordmark{width:126px}.bottom{left:28px;right:28px;bottom:24px}.grid{grid-template-columns:repeat(5,minmax(0,1fr));padding:15px 40px 45px;gap:30px 20px}.archive-head{padding:20px 28px}}

html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:#eeeae4;color:#282620}a{color:inherit;text-decoration:none}a:focus-visible{outline:1px solid currentColor;outline-offset:5px}figure,p,h2,h3{margin:0}img{max-width:100%}.hero{color:#fff}.topline{position:absolute;z-index:4;top:16px;left:22px;right:18px;display:flex;justify-content:space-between;align-items:center}.topline>a{font-size:9px;line-height:1.8;letter-spacing:.13em}.menu-trigger{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.08em}.menu-lines{width:18px;display:grid;gap:5px}.menu-lines i{display:block;height:1px;background:currentColor}.scroll-cue{position:absolute;z-index:3;bottom:98px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.16em;writing-mode:vertical-rl;padding-bottom:22px}.scroll-cue:after{content:'';height:28px;width:1px;background:#fffa;position:absolute;left:50%;bottom:-13px}.salon{padding:100px 24px 90px}.eyebrow{font-size:10px;letter-spacing:.12em;font-weight:400}.salon-copy{margin:43px 0 54px 12%;}.salon h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:25px;line-height:1.8;letter-spacing:.13em;font-weight:400}.salon p{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:12px;line-height:2.5;letter-spacing:.07em;margin-top:24px}.salon-photo{width:86%;margin-left:auto}.salon-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:54% 50%}.caption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;font-size:9px;letter-spacing:.05em;line-height:1.8}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:end;margin-top:64px}.detail-row img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}.detail-row figure:last-child{padding-bottom:56px}.quiet-line{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:11px;line-height:2.5;letter-spacing:.06em;margin-top:38px}.journal{border-top:1px solid #c9c5bd;padding:33px 24px 92px}.section-head{display:flex;justify-content:space-between;align-items:baseline}.section-head span{font-size:9px;letter-spacing:.08em}.journal h2{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:25px;font-weight:400;letter-spacing:.12em;line-height:1.7;margin:54px 0 38px}.journal-grid{display:grid;gap:44px}.photo-link{display:block}.photo-link img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}.journal-grid figure:nth-child(2){width:77%;margin-left:auto}.journal-grid figure:nth-child(2) img{aspect-ratio:3/4}.journal-grid figure:nth-child(3){width:85%}.journal-grid figure:nth-child(3) img{aspect-ratio:4/3;object-position:50% 42%}.journal-note{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:12px;line-height:2.3;letter-spacing:.06em;margin-top:41px}.all-photos{display:flex;align-items:center;justify-content:space-between;padding:18px 0;margin-top:34px;border-top:1px solid #bdb9af;border-bottom:1px solid #bdb9af;width:100%;background:none;border-left:0;border-right:0;text-align:left;font-size:10px;letter-spacing:.1em;min-height:54px}.wide-photo img{display:block;width:100%;height:72svh;max-height:850px;min-height:400px;object-fit:cover;object-position:50% 53%}.information{padding:65px 24px 70px}.info-body{margin-top:45px}.brand-dark{display:block;width:114px;aspect-ratio:430/145;position:relative;overflow:hidden}.brand-dark img{position:absolute;display:block;width:180.465%;max-width:none;height:auto;left:-42.093%;top:-93.793%;mix-blend-mode:multiply}.location{font-size:10px;line-height:2.2;letter-spacing:.1em;margin-top:23px}.info-links{display:grid;margin-top:38px;border-top:1px solid #c9c5bd}.info-links a{display:flex;justify-content:space-between;align-items:center;min-height:54px;font-size:10px;letter-spacing:.08em;border-bottom:1px solid #c9c5bd}.footer{display:flex;justify-content:space-between;gap:16px;padding:22px 24px;border-top:1px solid #c9c5bd;font-size:9px;letter-spacing:.06em}.nav-dialog{padding:0 24px}.nav-dialog header{display:flex;justify-content:space-between;align-items:center;padding:21px 0}.nav-dialog nav{display:grid;gap:27px;margin-top:15svh}.nav-dialog nav a{display:flex;justify-content:space-between;font-size:28px;font-weight:400;letter-spacing:.02em}.nav-dialog nav small{font-size:10px;letter-spacing:.06em;align-self:center}.nav-bottom{font-size:10px;letter-spacing:.08em;margin-top:70px}.archive-head{border-bottom:1px solid #d5d1c9}.archive-head span{font-size:10px}.thumb span{line-height:1.6}.thumb{cursor:default}.thumb:hover img{opacity:.85}
@media(min-width:760px){.topline{top:25px;left:36px;right:28px}.topline>a{font-size:10px}.scroll-cue{bottom:97px}.salon{max-width:1440px;margin:auto;padding:140px 8% 140px;display:grid;grid-template-columns:1fr 1fr;gap:0 12%;}.salon>.eyebrow{grid-column:1}.salon-copy{grid-column:1;margin:70px 0 0 10%}.salon h2{font-size:32px}.salon p{font-size:13px}.salon-photo{grid-column:2;grid-row:1/4;width:100%;margin:50px 0 0}.detail-row{grid-column:1;gap:35px;margin-top:110px}.quiet-line{grid-column:2;margin:40px 0 0;font-size:12px}.journal{padding:45px 8% 135px}.journal h2{font-size:32px;margin:70px 0 55px}.journal-grid{grid-template-columns:1fr 1fr 1fr;gap:5%;align-items:start}.journal-grid figure:nth-child(2){width:100%;margin-top:110px}.journal-grid figure:nth-child(3){width:100%;margin-top:35px}.journal-grid figure:nth-child(3) img{aspect-ratio:3/4}.journal-note{max-width:50%;margin-top:65px}.all-photos{max-width:330px;margin-left:auto;margin-top:-38px}.wide-photo img{height:85svh;object-position:50% 50%}.information{padding:85px 8% 95px}.info-body{display:grid;grid-template-columns:1fr 1fr;gap:30px}.info-links{margin-top:0;grid-column:2;grid-row:1/3}.location{grid-column:1;margin-top:0}.footer{padding:27px 8%}.nav-dialog{padding:0 8%}.nav-dialog nav{max-width:600px;margin:12svh auto 0}.nav-dialog nav a{font-size:40px}.nav-bottom{max-width:600px;margin:70px auto 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Homepage: quiet photography, legible information. */
html{scroll-padding-top:84px}.site-header{position:fixed;inset:0 0 auto;z-index:8;color:white;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:16px 16px;background:transparent}.header-menu{justify-self:start;padding-left:0}.header-logo{position:relative;display:block;overflow:hidden;width:96px;aspect-ratio:430/145;mix-blend-mode:screen}.header-logo img{position:absolute;width:180.465%;max-width:none;height:auto;left:-42.093%;top:-93.793%;filter:grayscale(1) invert(1)}.language{justify-self:end;display:flex;align-items:center;gap:0}.lang-button{padding:10px 7px;min-width:34px;min-height:44px;background:none;border:0;font-size:10px;letter-spacing:.04em;opacity:.65}.lang-button[aria-pressed=true]{opacity:1;text-decoration:underline;text-underline-offset:4px}.language span{font-size:9px;opacity:.5}.site-header.is-scrolled{color:#282620;background:transparent}.site-header.is-scrolled .header-logo{mix-blend-mode:multiply}.site-header.is-scrolled .header-logo img{filter:none}.hero .wordmark{display:none}body,dialog,dialog::backdrop,.archive-head{background:#f8f7f3}.intro{padding:98px 24px 70px}.opening{font-size:10px;letter-spacing:.12em;line-height:1.8;margin-bottom:58px}.intro-title{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:25px;font-weight:400;line-height:1.85;letter-spacing:.09em;margin:39px 0 26px}.body-copy{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:13px;line-height:2.3;letter-spacing:.045em}.body-copy p+p{margin-top:22px}.profile{display:grid;grid-template-columns:105px 1fr;gap:25px;margin-top:52px;align-items:start}.profile img{width:105px;aspect-ratio:360/440;object-fit:cover;display:block}.profile h3{font-size:14px;letter-spacing:.06em;font-weight:400;margin:2px 0 14px}.profile p{font-size:12px;line-height:2.15;letter-spacing:.02em}.concept{margin:54px 0 0 12%;}.concept h3{font-size:10px;font-weight:400;letter-spacing:.08em;margin-bottom:23px}.concept .body-copy{font-size:13px}.salon{padding-top:30px}.salon-copy{margin-top:24px}.salon h2{font-size:24px}.salon p{margin-top:15px}.journal{display:none}.menu-section{padding:52px 24px 72px;border-top:1px solid #d4d1c9}.menu-title{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;font-size:24px;line-height:1.7;font-weight:400;letter-spacing:.1em;margin:33px 0 25px}.price-list{margin:0}.price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px;padding:21px 0;border-bottom:1px solid #d4d1c9;font-size:13px;line-height:1.8}.price-row:first-child{border-top:1px solid #d4d1c9}.price-row dt{font-weight:400}.price-row dd{margin:0;white-space:nowrap;font-size:14px;font-variant-numeric:tabular-nums}.price-note{font-size:11px;line-height:2;letter-spacing:.02em;margin-top:18px}.reserve{margin-top:43px}.reserve p{font-size:12px;line-height:2.1}.reserve-link{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #282620;padding:19px 0;font-size:14px;letter-spacing:.04em;min-height:64px}.reserve-link small{font-size:9px;letter-spacing:.09em}.reservation-note{font-size:11px;line-height:1.9;margin-top:12px}.information{padding-top:65px}.access-address{font-size:14px;line-height:2.1;letter-spacing:.03em;margin-top:35px}.access-address span{display:block;font-size:12px;margin-top:12px}.map-frame{display:block;border:0;width:100%;height:310px;margin-top:30px;filter:grayscale(1)}.map-link{display:inline-block;font-size:10px;letter-spacing:.06em;padding:17px 0;min-height:46px}.access-meta{font-size:12px;line-height:2;margin-top:12px}.lower-reserve{margin:36px 0 0}.footer{align-items:start;flex-wrap:wrap;gap:24px;padding-top:29px;padding-bottom:32px}.footer-social{display:flex;flex-wrap:wrap;gap:22px;line-height:2}.store-pending{color:#76736c}.store-pending span{font-size:9px;margin-left:6px}.footer-end{width:100%;display:flex;justify-content:space-between;gap:18px;margin-top:10px;color:#5c5952}.nav-dialog{z-index:20}.nav-dialog nav{margin-top:8svh;gap:23px}.nav-dialog nav a{font-size:25px}.nav-dialog .nav-bottom{margin-top:35px}.nav-dialog header .brand-dark{width:96px}.lang-en .intro-title,.lang-en .menu-title,.lang-en .salon h2{font-family:Georgia,serif;letter-spacing:0;line-height:1.5}.lang-en .body-copy{font-family:Arial,Helvetica,sans-serif;letter-spacing:0;line-height:2}.lang-en .profile p{line-height:1.9}.lang-en .price-row{font-size:12px}.space-note{font-size:11px;line-height:2.1;margin-top:25px}.wide-photo img{height:56svh;min-height:320px}.salon-photo img{aspect-ratio:3/4}.archive-head{background:#f8f7f3}.gallery-return{padding:0 24px 45px}.gallery-return .all-photos{margin-top:0}.nav-dialog nav small{font-size:10px}.nav-dialog nav a span{font-size:inherit}
@media(min-width:760px){.site-header{padding:19px 36px}.header-logo{width:106px}.lang-button{min-width:39px}.intro{max-width:1320px;margin:auto;padding:140px 8% 95px;display:grid;grid-template-columns:1fr 1fr;gap:0 12%}.opening{grid-column:1/-1;margin-bottom:80px}.intro>.eyebrow{grid-column:1}.intro-title{grid-column:1;font-size:32px;margin:40px 0 27px}.intro>.body-copy{grid-column:1}.profile{grid-column:2;grid-row:2/5;grid-template-columns:150px 1fr;margin-top:0;gap:28px;align-self:center}.profile img{width:150px}.profile p{font-size:13px}.profile h3{font-size:16px}.concept{grid-column:1/-1;margin:90px 0 0 26%;max-width:640px}.concept .body-copy{font-size:14px;line-height:2.4}.salon{padding-top:50px}.salon-copy{margin-top:60px}.salon-photo{margin-top:30px}.menu-section{padding:80px 12% 100px;display:grid;grid-template-columns:1fr 1.4fr;gap:0 12%}.menu-section>.eyebrow{grid-column:1/-1}.menu-title{grid-column:1;margin-top:45px;font-size:30px}.price-list{grid-column:2;grid-row:2/4;margin-top:45px}.price-row{font-size:14px;padding:25px 0}.price-note{grid-column:2}.reserve{grid-column:2;margin-top:45px}.information{padding:90px 12% 100px;display:grid;grid-template-columns:1fr 1.4fr;gap:0 12%}.information>.eyebrow{grid-column:1/-1}.access-text{grid-column:1;margin-top:7px}.map-wrap{grid-column:2;grid-row:2/4;margin-top:14px}.map-frame{height:350px}.lower-reserve{grid-column:1;margin-top:35px}.access-address{font-size:15px}.footer{padding-left:8%;padding-right:8%;}.footer-end{width:auto;margin:0;margin-left:auto;gap:40px}.footer-social{gap:30px}.gallery-return{max-width:1440px;margin:auto;padding:0 8% 70px}.gallery-return .all-photos{margin-left:auto;margin-top:0}.lang-en .menu-title{font-size:32px}.lang-en .price-row{font-size:14px}}
@media(max-width:350px){.profile{grid-template-columns:85px 1fr;gap:18px}.profile img{width:85px}.header-logo{width:84px}.site-header{padding-left:13px;padding-right:13px}.price-row{gap:9px;font-size:12px}.price-row dd{font-size:13px}.intro,.menu-section,.information{padding-left:20px;padding-right:20px}}

.body-copy{font-size:14px}.profile p{font-size:13px}.concept .body-copy{font-size:14px}.price-row{font-size:14px}.lang-button{min-width:38px}@media(max-width:350px){.price-row{font-size:12px}.lang-button{min-width:34px}}

.header-logo{mix-blend-mode:normal}.header-logo img{filter:url(#logo-knockout) invert(1)}.site-header.is-scrolled .header-logo{mix-blend-mode:normal}.site-header.is-scrolled .header-logo img{filter:url(#logo-knockout)}

.name-story{margin:54px 0 0 12%}.name-story h3{font-size:10px;font-weight:400;letter-spacing:.08em;margin:0 0 23px}.name-story .body-copy{font-size:14px}@media(min-width:760px){.name-story{grid-column:1/-1;margin:65px 0 0 26%;max-width:640px}.name-story .body-copy{line-height:2.4}}

/* Consistent, right-aligned reservation links and access information. */
.hero-reservation{padding:26px 24px 0}.reserve-link{width:245px;max-width:100%;margin-left:auto;min-height:55px;border:1px solid #282620;padding:15px 20px;font-size:12px;letter-spacing:.03em;line-height:1.7;gap:20px;transition:background-color .15s,color .15s}.reserve-link:hover{background:#282620;color:#f8f7f3}.reserve>.reservation-note{text-align:right}.reserve>p:first-child:not(.reservation-note){text-align:right;margin-bottom:17px}.access-section{display:block;padding-top:64px}.access-layout{display:grid;gap:28px;margin-top:40px}.access-section .map-wrap{margin:0}.access-section .map-frame{margin:0;height:310px}.access-section .map-link{display:block;text-align:right;border-bottom:1px solid #bdb9af}.access-details{margin:0}.access-row{display:grid;grid-template-columns:75px minmax(0,1fr);gap:15px;border-top:1px solid #d4d1c9;padding:23px 0;align-items:start}.access-row:last-child{border-bottom:1px solid #d4d1c9}.access-row dt{font-size:10px;letter-spacing:.05em;line-height:2.2;color:#69665f}.access-row dd{margin:0;min-width:0;font-size:13px;line-height:2;letter-spacing:.02em}.access-small{display:block;margin-top:8px;font-size:10px;line-height:1.9;color:#69665f}.contact-mail{border-bottom:1px solid #282620;overflow-wrap:anywhere;font-size:12px;letter-spacing:0}.instagram-link{display:inline-flex;align-items:center;gap:10px;min-height:44px}.instagram-link svg,.instagram-icon svg{width:22px;height:22px;display:block;flex-shrink:0}.instagram-link span{font-size:11px;letter-spacing:.02em}.access-section .access-meta{font-size:10px;letter-spacing:.03em;margin-top:22px}.access-section .lower-reserve{margin-top:33px}.nav-social{display:flex;justify-content:flex-start;margin-top:20px}.instagram-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #c9c5bd}.nav-dialog nav .reserve-link{font-size:12px;width:245px;max-width:100%;padding:15px 20px;min-height:55px}.nav-dialog nav .reserve-link span{font-size:12px}.nav-dialog .nav-bottom{margin-top:20px}.lang-en .access-row dd{font-size:12px}.lang-en .access-row dt{font-size:10px}.lang-en .reserve-link{font-size:12px}
@media(min-width:760px){.hero-reservation{padding:32px 8% 0}.access-section{padding:85px 8% 85px}.access-layout{grid-template-columns:1fr 1fr;gap:7%;margin-top:60px;align-items:start}.access-section .map-wrap{grid-column:1;grid-row:auto;margin:0}.access-section .map-frame{height:470px}.access-row{grid-template-columns:95px minmax(0,1fr);gap:24px;padding:25px 0}.access-row dd{font-size:15px}.access-row dt{font-size:11px}.contact-mail{font-size:15px}.instagram-link span{font-size:12px}.access-section .lower-reserve{margin-top:30px}.nav-social{max-width:600px;margin:25px auto 0}.nav-dialog .nav-bottom{margin-top:20px}.lang-en .access-row dd{font-size:14px}.reserve-link{width:255px}.nav-dialog nav .reserve-link{width:255px}}
@media(max-width:350px){.access-row{grid-template-columns:62px minmax(0,1fr);gap:10px}.access-row dd{font-size:12px}.contact-mail{font-size:11px}.access-row dt{font-size:9px}.access-small{font-size:10px}.hero-reservation{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.reserve-link{transition:none}}
@media(min-width:760px){.menu-section{padding-right:8%}}

.station-route{display:block;margin-top:12px}

/* Left-hand navigation drawer; native dialog keeps focus within the menu. */
html{scrollbar-gutter:stable}html.nav-is-open{overflow:hidden}
.nav-dialog{inset:0 auto 0 0;margin:0;width:min(430px,92vw);max-width:none;height:100dvh;max-height:100dvh;padding:0 24px;overflow-y:auto;overscroll-behavior:contain;transform:translateX(0)}
.nav-dialog::backdrop{background:rgba(20,20,18,.22)}
.nav-dialog header{padding:19px 0}.nav-dialog nav{max-width:none;margin:70px 0 0;gap:26px}.nav-dialog nav a{font-size:24px}.nav-dialog nav small{font-size:9px}.nav-dialog .nav-social{max-width:none;margin:25px 0 0}.nav-dialog .nav-bottom{max-width:none;margin:20px 0 30px;font-size:9px}
@media(max-width:350px){.nav-dialog{padding:0 20px}.nav-dialog nav a{font-size:22px}.nav-dialog nav small{font-size:9px}.nav-dialog nav .reserve-link{width:100%}}
@media(max-height:600px){.nav-dialog nav{margin-top:24px;gap:18px}.nav-dialog .nav-social{margin-top:18px}.nav-dialog header{padding-top:9px;padding-bottom:9px}}

/* The background descends while header controls stay in place. */
.site-header{isolation:isolate;transition:color .35s ease .12s}.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:#f8f7f3;transform:translateY(-100%);transition:transform .55s cubic-bezier(.22,.68,0,1);pointer-events:none}.site-header.is-scrolled::before{transform:translateY(0)}.header-logo img{transition:filter .35s ease .12s}

.nav-dialog nav .nav-instagram{justify-content:flex-start;align-items:center;min-height:29px;border:0;padding:0}.nav-instagram svg{display:block;width:26px;height:26px}
