@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Noto+Sans+JP:wght@300;400;500&display=swap');
:root{--ink:#454540;--muted:#7e7a71;--gold:#a69573;--paper:#fcfbf8;--line:#dedbd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:300;line-height:2.1}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}header{height:100px;position:fixed;z-index:20;inset:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 5%;background:rgba(252,251,248,.96);border-bottom:1px solid #e8e5df}.logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:43px;line-height:.9;letter-spacing:.02em}.logo i{font-weight:400}.logo span{display:block;font:7px 'Noto Sans JP',sans-serif;letter-spacing:.19em;margin-top:12px}.header-right{display:flex;align-items:center;gap:42px}.header-book{font-size:10px;letter-spacing:.16em}.header-book span{margin-left:36px;color:var(--gold)}#menu-toggle{display:flex;align-items:center;gap:18px;border:0;background:none;font-size:9px;letter-spacing:.14em}#menu-toggle b{font-size:20px;font-weight:300}nav{position:fixed;z-index:19;right:0;top:100px;background:var(--paper);width:400px;max-width:100%;padding:35px 60px;box-shadow:0 20px 30px #29271f0d}nav a{display:block;font:26px/1.9 'Cormorant Garamond',serif}nav a:hover{color:var(--gold)}.hero{position:relative;margin-top:100px;height:calc(100svh - 100px);min-height:600px;max-height:1000px;color:#fff}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 55%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#39372e60,transparent 85%),linear-gradient(0deg,#39372e40,transparent 40%)}.hero-copy{position:absolute;left:11%;top:23%}.eyebrow{font-size:10px;letter-spacing:.23em;font-weight:400;color:var(--gold);margin:0 0 30px}.hero .eyebrow{color:#fff;letter-spacing:.28em}.hero h1{font-family:serif;font-weight:400;font-size:clamp(38px,4.5vw,68px);line-height:1.65;letter-spacing:.16em;margin:30px 0 18px}.hero-sub{letter-spacing:.2em;font-size:12px}.members{font:italic 15px 'Cormorant Garamond',serif;letter-spacing:.06em;margin-top:35px}.hero-bottom{position:absolute;inset:auto 5% 32px;display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.13em}.hero-bottom a span{display:inline-block;margin-left:20px;font-size:23px}.section{padding:120px max(8%,calc((100% - 1140px)/2))}.concept{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:150px;padding-bottom:150px}.section-label>span{font-size:10px;letter-spacing:.2em;color:var(--gold)}h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:48px;font-weight:400;line-height:1.2;margin:28px 0}h3{font-weight:300} .prose h3{font-family:serif;font-size:27px;letter-spacing:.15em;line-height:1.8;margin:0 0 36px}.prose p{margin:0 0 25px;line-height:2.4}.experience{background:#f1efe9}.center-title{text-align:center}.center-title h2{font:300 23px/1.8 'Noto Sans JP',sans-serif;letter-spacing:.1em}.features{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px}.features article{padding:0 35px;border-left:1px solid #d7d2c7}.features article:first-child{padding-left:0;border:0}.features article:last-child{padding-right:0}.number{color:var(--gold);font:italic 19px 'Cormorant Garamond',serif}.features h3{font:31px 'Cormorant Garamond',serif;margin:24px 0 10px}.features h4{font-size:12px;font-weight:400;letter-spacing:.12em;margin:0 0 23px}.features p{font-size:12px;line-height:2.2}.treatment{display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:110px 8%;gap:8%}.treatment-photo{position:relative;height:590px}.treatment-photo img{width:100%;height:100%;object-fit:cover}.treatment-photo>span{position:absolute;bottom:25px;left:25px;color:white;letter-spacing:.2em;font-size:9px}.treatment-copy{max-width:390px}.treatment-copy h2{font-size:57px}.treatment-copy h3{font:23px/1.9 serif;letter-spacing:.12em;margin:30px 0}.treatment-copy p{margin:20px 0}.note{font-size:10px;color:var(--muted);line-height:1.9}.text-link{display:inline-flex;justify-content:space-between;gap:45px;border-bottom:1px solid var(--gold);padding:13px 0;font-size:10px;letter-spacing:.12em}.text-link span{color:var(--gold)}.price{padding-top:70px}.menu-sub{font-size:10px;letter-spacing:.2em;margin:45px 0 30px}.prices{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0}.prices>div{display:flex;flex-direction:column;align-items:center;border-left:1px solid var(--line)}.prices>div:first-child{border:0}.duration{font:44px 'Cormorant Garamond',serif}.duration small{font-size:20px}.amount{font:27px 'Cormorant Garamond',serif;margin-top:20px}.membership{text-align:center;background:#edeae2}.membership h2,.reservation h2{font-size:58px}.membership h3,.reservation h3{font-size:17px;letter-spacing:.1em;margin:30px 0}.membership p:not(.eyebrow),.reservation p:not(.eyebrow){line-height:2.5}.membership .text-link{margin-top:25px}.reservation{text-align:center;padding-top:130px;padding-bottom:130px}.primary{margin:30px 0 10px;background:#47483f;color:#fff;border:1px solid #47483f;padding:22px 40px;min-width:355px;letter-spacing:.1em;font-size:12px;transition:background .2s}.primary:hover{background:#696a5e}.primary span{margin-left:55px}.faq{display:grid;grid-template-columns:1fr 1.8fr;gap:50px;border-top:1px solid var(--line)}.faq h2{font:300 23px 'Noto Sans JP',sans-serif}.questions details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding:23px 30px 23px 0;font-size:12px}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:2px;color:var(--gold)}details[open] summary:after{content:'−'}.questions p{font-size:12px;margin:0 25px 25px 0;color:var(--muted)}footer{text-align:center;background:#f1efe9;padding:70px 8% 25px}footer .logo{display:inline-block;font-size:50px}footer>p{font:italic 14px 'Cormorant Garamond',serif;margin:28px 0 55px}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:23px;font-size:9px;color:var(--muted)}.footer-bottom button{border:0;padding:0;background:none;font-size:10px}.mobile-book{display:none}.skip{position:fixed;top:-80px;background:white;padding:10px;z-index:50}.skip:focus{top:0}dialog{border:1px solid var(--line);background:var(--paper);padding:65px;max-width:580px;width:90%;color:var(--ink)}dialog::backdrop{background:#24271e70;backdrop-filter:blur(4px)}dialog h2{font:300 23px 'Noto Sans JP',sans-serif}dialog p{font-size:12px}.close{position:absolute;right:15px;top:10px;background:none;border:0;font-size:28px}.reveal{transition:opacity .8s,transform .8s}.js-ready .reveal:not(.visible){opacity:0;transform:translateY(18px)}
@media(min-width:1600px){.hero-copy{left:15%}}@media(max-width:760px){header{height:80px;padding:0 6%}.logo{font-size:35px}.logo span{font-size:6px;margin-top:9px}.header-book{display:none}#menu-toggle{gap:12px}nav{top:80px}.hero{margin-top:80px;height:calc(88svh - 80px);min-height:580px}.hero>img{object-position:60% center}.hero-copy{left:9%;top:24%}.hero h1{font-size:42px}.hero .eyebrow{font-size:8px}.hero-sub{font-size:10px}.members{font-size:13px}.hero-bottom{left:9%;right:9%;bottom:25px}.hero-bottom>span{font-size:6px;max-width:180px;line-height:2}.section{padding:80px 8%}.concept{grid-template-columns:1fr;gap:45px}.section-label h2{font-size:43px}.prose h3{font-size:24px}.prose p{font-size:12px}.center-title h2{font-size:19px}.features{grid-template-columns:1fr;margin-top:40px}.features article,.features article:first-child,.features article:last-child{padding:28px 0;border:0;border-top:1px solid #d7d2c7}.features h3{margin:12px 0 6px;font-size:32px}.features h4{margin-bottom:12px}.features p{max-width:330px}.treatment{grid-template-columns:1fr;gap:45px;padding:65px 8%}.treatment-photo{height:430px}.treatment-copy{max-width:none}.treatment-copy h2{font-size:48px}.treatment-copy h3{font-size:21px}.prices{padding:28px 0}.duration{font-size:35px}.duration small{font-size:16px}.amount{font-size:22px}.membership h2,.reservation h2{font-size:42px}.membership h3,.reservation h3{font-size:15px}.membership p:not(.eyebrow),.reservation p:not(.eyebrow){font-size:12px}.membership br{display:none}.primary{width:100%;min-width:0;padding:20px;font-size:11px}.primary span{margin-left:20px}.faq{grid-template-columns:1fr;gap:20px}.eyebrow{font-size:9px}footer{padding-bottom:90px}.mobile-book{display:flex;position:fixed;z-index:18;bottom:0;left:0;right:0;background:#47483f;color:white;padding:17px 8%;font-size:10px;letter-spacing:.18em;justify-content:space-between}dialog{padding:50px 25px}.hero-sub{letter-spacing:.12em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.js-ready .reveal:not(.visible){opacity:1;transform:none}}
.primary{display:inline-block}
.hero-shade{background:linear-gradient(90deg,#39372e9c,transparent 90%),linear-gradient(0deg,#39372e40,transparent 40%)}
.logo{display:block;width:190px;line-height:1;mix-blend-mode:multiply}.logo .brand-window{position:relative;display:block;width:100%;aspect-ratio:3.7/1;overflow:hidden;margin:0}.brand-window img{position:absolute;width:122%;height:auto;max-width:none;left:-12.6%;top:-173%}.logo .brand-caption{font-size:7px;text-align:center;margin-top:10px;letter-spacing:.18em}.salon-photo{margin:40px 0 0;max-width:350px}.salon-photo img{display:block;width:100%;height:auto}.salon-photo figcaption{font-size:10px;letter-spacing:.1em;color:var(--muted);margin-top:13px}footer .logo{width:230px}footer .logo .brand-caption{font-size:8px}@media(max-width:760px){.logo{width:155px}.logo .brand-caption{font-size:6px;margin-top:8px}.salon-photo{max-width:100%;margin-top:32px}.salon-photo img{max-height:480px;object-fit:contain;object-position:left}.hero>img{object-position:65% center}}

.treatment-photo img{object-position:center}.salon-photo figcaption{line-height:1.9;font-size:9px;letter-spacing:.08em}
