:root{--bg:#111110;--fg:#f1eee8;--muted:#aaa9a4;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:65px}body{margin:0;background:var(--bg);color:var(--fg);font:14px/2 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #cfbf9a;outline-offset:6px}[hidden]{display:none!important}.skip{position:fixed;left:15px;top:-100px;background:#fff;color:#111;padding:10px;z-index:100}.skip:focus{top:10px}.header{height:64px;display:flex;align-items:center;justify-content:center;padding:0 5%;position:relative;z-index:20;background:#090909}.logo{font:25px/1.4 Georgia,serif;letter-spacing:.65em;padding-left:.65em}.header nav{position:absolute;right:4%;display:flex;gap:28px;font-size:10px;letter-spacing:.15em}.header nav a{transition:opacity .3s}.header nav a:hover{opacity:.6}.menu-toggle{display:none}.photo-section{position:relative;isolation:isolate;overflow:hidden;min-height:520px;border-bottom:1px solid #ffffff22}.backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.4s ease;filter:saturate(.3)}.shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0009 0%,#0004 42%,#0000 80%)}.hero{height:calc(100svh - 64px);min-height:580px;max-height:1200px}.hero .backdrop{object-position:60% 45%;filter:grayscale(1);animation:hero-enter 1.8s ease-out both}.hero .shade{background:linear-gradient(90deg,#0005 0%,#0000 60%),linear-gradient(0deg,#0007,transparent 45%)}.hero-copy{position:absolute;left:6%;bottom:22%}.hero h1{font-size:clamp(34px,4.4vw,66px);letter-spacing:.1em;margin-bottom:25px;line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;border:1px solid #ffffffb3;padding:10px 28px;min-width:215px;font-size:12px;letter-spacing:.1em;color:inherit;background:transparent;transition:background .3s,color .3s}.button span{transition:transform .3s}.button:hover{background:var(--fg);color:var(--bg)}.button:hover span{transform:translateX(5px)}.scroll{position:absolute;bottom:0;left:6%;font-size:8px;letter-spacing:.25em;display:flex;align-items:center;gap:15px}.scroll span{height:55px;width:1px;background:#fff5;position:relative;overflow:hidden}.scroll span:after{content:"";position:absolute;inset:0;background:white;animation:scroll-line 2.8s infinite}.salon{height:70svh;min-height:540px;max-height:850px}.salon .backdrop{object-position:center}.craft{height:70svh;min-height:540px;max-height:850px}.craft .backdrop{object-position:65% 50%}.photo-copy{position:relative;padding:145px 6%;max-width:750px}.eyebrow{font-size:9px;letter-spacing:.28em;margin-bottom:23px;line-height:1.5;color:#c8c6bf}h2{font-size:clamp(28px,3.1vw,45px);letter-spacing:.09em;line-height:1.7}.photo-copy>p:not(.eyebrow){margin-top:22px;font-size:13px;line-height:2.2;letter-spacing:.04em}.text-link{display:inline-flex;gap:40px;border-bottom:1px solid #ffffff80;padding-bottom:7px;font-size:11px;margin-top:28px;transition:opacity .3s}.text-link:hover{opacity:.6}.section{padding:115px 7%}.statement{position:relative;text-align:center;background:#ebe9e3;color:#262624;overflow:hidden}.statement .eyebrow{color:#777}.statement>div{position:relative}.statement h2{font-size:clamp(35px,4vw,54px)}.statement p:not(.eyebrow){margin-top:30px;font-size:13px;line-height:2.7}.statement:before{content:"";position:absolute;width:650px;height:650px;border:1px solid #0000000a;border-radius:50%;right:-290px;top:-350px;animation:quiet-drift 12s ease-in-out infinite}.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:60px}.section-title>p{font-size:12px;color:var(--muted)}.menu-list{border-top:1px solid #ffffff30}.menu-row{display:grid;grid-template-columns:1fr 2fr 45px;align-items:center;gap:35px;padding:36px 0;border-bottom:1px solid #ffffff30;transition:background .4s,transform .4s}.menu-en{font:clamp(35px,4vw,60px)/1.4 Georgia,serif}.menu-row h3{font-size:19px;letter-spacing:.08em;margin-bottom:7px}.menu-row div p{font-size:12px;color:var(--muted);max-width:580px}.menu-row>a{font-size:25px;padding:10px;transition:transform .3s}.menu-row:hover{transform:translateX(5px)}.menu-row>a:hover{transform:translate(3px,-3px)}.atmosphere{min-height:600px;height:75svh;max-height:900px}.atmosphere .backdrop{object-position:70% center}.atmosphere .photo-copy{padding-top:145px}.faq{display:grid;grid-template-columns:1fr 1.6fr;gap:60px;background:#1a1b19}.faq-list{border-top:1px solid #ffffff25}details{border-bottom:1px solid #ffffff25}summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:26px 0;list-style:none;font-size:12px}summary::-webkit-details-marker{display:none}summary span{position:relative;width:12px;height:12px;flex-shrink:0}summary span:before,summary span:after{content:"";position:absolute;top:5px;left:0;width:12px;height:1px;background:#ccc}summary span:after{transform:rotate(90deg);transition:transform .3s}details[open] summary span:after{transform:rotate(0)}details>p{font-size:12px;line-height:2.2;color:var(--muted);padding:0 25px 25px 0}.reservation{min-height:620px;text-align:center;display:flex;align-items:center;justify-content:center;padding:100px 25px}.reservation .backdrop{object-position:60% 35%;filter:grayscale(1)}.reservation .shade{background:#000b}.reservation-copy{position:relative}.reservation h2{font-size:clamp(30px,4vw,54px)}.reservation-copy>p:not(.eyebrow){margin:20px 0 28px}.reservation .button{margin-top:8px;min-width:265px}.reservation .demo-note{font-size:9px;color:#aaa;margin:22px auto 0;max-width:380px}.feedback{font-size:12px}footer{text-align:center;padding:65px 20px 45px;background:#080808}.footer-nav{display:flex;gap:32px;justify-content:center;font-size:10px;margin:30px 0}footer>p{font-size:9px;color:#777;margin-bottom:12px}small{font-size:9px;color:#777;letter-spacing:.12em}.floating{position:fixed;right:24px;bottom:24px;z-index:25;color:#111;background:#eeece6;padding:12px 25px;font-size:11px;box-shadow:0 5px 20px #0003}.floating span{margin-left:30px}.js .reveal.pending{opacity:0;transform:translateY(24px)}.js .reveal{transition:opacity .8s,transform .8s}@keyframes hero-enter{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes scroll-line{0%{transform:translateY(-100%)}80%,100%{transform:translateY(100%)}}@keyframes quiet-drift{50%{transform:translate(-25px,20px)}}
@media(min-width:1700px){.section{padding-left:calc((100vw - 1450px)/2);padding-right:calc((100vw - 1450px)/2)}}
@media(max-width:1000px){.header nav{gap:20px}.section{padding:90px 6%}.photo-copy{padding:125px 6%}.faq{gap:40px}.section-title{display:block}.section-title>p{margin-top:25px}}
@media(max-width:760px){html{scroll-padding-top:68px}.header{height:68px}.header .logo{font-size:21px}.menu-toggle{display:flex;position:absolute;right:15px;top:14px;width:40px;height:40px;flex-direction:column;justify-content:center;gap:6px;background:none;border:0;padding:8px}.menu-toggle span{height:1px;width:24px;background:#eee;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.header nav{display:none;position:absolute;top:68px;left:0;right:0;background:#101010;padding:20px 25px;flex-direction:column;gap:0;box-shadow:0 12px 20px #0003}.header nav.open{display:flex}.header nav a{padding:14px 0;border-bottom:1px solid #fff2;font-size:12px}.hero{height:calc(100svh - 68px);min-height:560px;max-height:1000px}.hero .backdrop{object-position:67% 45%}.hero .shade{background:linear-gradient(0deg,#000b,transparent 65%)}.hero-copy{left:25px;right:16px;bottom:16%}.hero h1{font-size:clamp(27px,7.6vw,42px);letter-spacing:.03em;white-space:nowrap;margin-bottom:25px}.button{min-width:180px;padding:11px 23px;font-size:11px}.scroll{left:25px}.salon,.craft{height:78svh;min-height:570px;max-height:800px}.photo-copy{padding:0 25px;position:absolute;bottom:75px;left:0;right:0}.photo-copy h2{font-size:clamp(27px,7.2vw,36px);letter-spacing:.05em}.photo-copy>p:not(.eyebrow){font-size:12px;line-height:2.3;margin-top:18px}.shade{background:linear-gradient(0deg,#000c,transparent 85%)}.salon .backdrop{object-position:62% center}.craft .backdrop{object-position:68% center}.craft .shade{background:linear-gradient(0deg,#000e,transparent 80%)}.eyebrow{font-size:8px;margin-bottom:18px}.section{padding:75px 25px}.statement h2{font-size:36px}.statement p:not(.eyebrow){font-size:11px;line-height:2.8}.section-title{margin-bottom:35px}.section-title h2{font-size:29px}.section-title>p{font-size:11px}.menu-row{grid-template-columns:1fr 30px;gap:10px;padding:28px 0}.menu-en{font-size:40px;grid-column:1}.menu-row>div{grid-column:1;grid-row:2}.menu-row>a{grid-column:2;grid-row:1/3;font-size:23px;padding:5px}.menu-row h3{font-size:18px}.menu-row div p{font-size:11px;line-height:2.2;margin-top:10px}.atmosphere{height:78svh;min-height:600px;max-height:850px}.atmosphere .photo-copy{padding:0 25px}.atmosphere .backdrop{object-position:55% center}.faq{grid-template-columns:1fr;gap:30px}.faq h2{font-size:30px}summary{font-size:11px;line-height:2}details>p{font-size:11px}.reservation{min-height:570px;padding:80px 25px}.reservation h2{font-size:30px}.reservation-copy>p:not(.eyebrow){font-size:12px}.reservation .demo-note{font-size:9px;max-width:270px}.reservation .backdrop{object-position:65% center}footer{padding-bottom:95px}.floating{right:16px;bottom:max(16px,env(safe-area-inset-bottom));font-size:11px}.footer-nav{gap:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js .reveal.pending{opacity:1;transform:none}}
@media(min-width:761px) and (max-width:1000px){.header nav{right:20px;gap:14px;font-size:9px}.header .logo{font-size:22px;letter-spacing:.45em;padding-left:.45em}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.photo-section:not(.hero):hover .backdrop{transform:scale(1.025)}}
