:root{--accent:#91745b;--tone:#f1e7dc;--ink:#2f2925;--line:#e9e2da;--serif:"Noto Serif JP",Georgia,serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fffdfa;font:14px/1.9 "Noto Sans JP",sans-serif}body.rose{--accent:#ad7b83;--tone:#f2e4e5}body.sage{--accent:#6f806d;--tone:#e8ebe1}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.notice{text-align:center;background:#36372e;color:white;padding:8px;font-size:11px}.headnav{position:sticky;top:0;z-index:5;background:#fffdfbee;backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding:14px 4%;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:12px;min-width:150px}.brand img{width:108px;max-height:47px;object-fit:contain}.brand small{color:#766f69;font-size:10px}.navlinks{display:flex;flex-wrap:wrap;gap:12px 20px}.navlinks a{font-size:11px;letter-spacing:.08em}.navlinks a[aria-current=page]{color:var(--accent);font-weight:bold;border-bottom:2px solid var(--accent)}.book{background:var(--accent);color:#fff;padding:11px 18px;font-size:12px;white-space:nowrap}
.hero{background:var(--tone);display:grid;grid-template-columns:1fr 1fr;min-height:340px}.hero-copy{padding:65px max(25px,9vw)}.kicker,.eyebrow{color:var(--accent);font-size:11px;font-weight:700;letter-spacing:.22em}.hero h1{font:500 clamp(34px,5vw,65px)/1.3 var(--serif);margin:20px 0}.hero p{max-width:550px;color:#706761}.hero-img{overflow:hidden;max-height:410px}.hero-img img{width:100%;height:100%;object-fit:cover}.breadcrumb{padding:15px max(22px,6vw);font-size:12px;border-bottom:1px solid var(--line);color:#7b756e}.breadcrumb a{text-decoration:underline}
main{max-width:1150px;margin:auto;padding:70px 24px 95px}.title{font:500 clamp(25px,3vw,38px)/1.5 var(--serif);margin:14px 0 20px}.intro{max-width:820px;color:#706962;margin-bottom:38px}.note{font-size:12px;color:#756f69}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.gallery button{padding:0;border:0;background:transparent;text-align:left;color:inherit}.gallery button[hidden]{display:none}.gallery img{width:100%;aspect-ratio:3/4;object-fit:cover}.gallery strong{display:block;font:500 17px var(--serif);margin:12px 0 2px}.gallery small{color:#7e756b}.center{text-align:center;margin:32px 0}.action{display:inline-block;background:var(--accent);border:1px solid var(--accent);color:white;padding:13px 20px;text-align:center}.action.ghost{background:transparent;color:var(--accent)}.action:hover{opacity:.85}.menu-grid,.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.menu-card,.blog-card,.panel{padding:26px;border:1px solid var(--line);background:#fff}.menu-card small,.meta{font-size:11px;letter-spacing:.15em;color:var(--accent)}.menu-card h3,.blog-card h3{font:500 22px/1.6 var(--serif);margin:15px 0}.menu-card .price{font-size:17px;color:var(--accent);font-weight:bold}.menu-card p,.blog-card p{color:#756d65;font-size:13px}.blog-card{padding:0;overflow:hidden}.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.blog-card .copy{padding:22px}.cta{margin:37px 0;background:var(--tone);padding:25px;display:flex;gap:20px;align-items:center;justify-content:space-between}.cta p{margin:0}.article{max-width:800px;margin:0 auto}.article h2{font:500 23px/1.6 var(--serif);margin-top:36px}.article p{line-height:2.3}.article .cover{width:100%;aspect-ratio:16/9;object-fit:cover;margin:25px 0}.article .badge{background:#f3e9df;border-radius:100px;padding:6px 13px;color:#786b5d;font-size:11px}.info{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}.info dl{margin:0}.info dl div{display:grid;grid-template-columns:115px 1fr;border-bottom:1px solid var(--line);padding:17px 0;gap:15px}.info dt{color:var(--accent);font-weight:bold}.info dd{margin:0}.info img{width:100%;aspect-ratio:4/5;object-fit:cover}.staff-img{max-width:500px;margin:28px 0}.more{border-top:1px solid var(--line);margin-top:65px;padding-top:30px}.more a{display:inline-block;border:1px solid var(--line);margin:6px;padding:8px 15px;font-size:12px}.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center;padding:28px 5%;border-top:1px solid var(--line)}.foot small{font-size:11px;color:#847b72}.foot-links{display:flex;flex-wrap:wrap;gap:10px;font-size:12px}dialog{border:0;padding:10px;max-width:min(95vw,710px);box-shadow:0 18px 90px #0007}dialog::backdrop{background:#1c1715c9}dialog img{max-height:76vh;margin:auto}dialog .close{float:right;border:0;background:none;font-size:25px}
@media(max-width:1090px){.navlinks{order:3;width:100%;justify-content:center}}@media(max-width:700px){.hero{grid-template-columns:1fr}.hero-copy{padding:42px 23px}.hero-img{max-height:240px}main{padding:42px 17px 70px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-grid,.blog-grid,.info{grid-template-columns:1fr}.cta{flex-direction:column;align-items:flex-start}.info dl div{grid-template-columns:95px 1fr}.navlinks{gap:8px 13px}.navlinks a{font-size:10px}}

/* Shared responsive salon hamburger menu. A JS-managed class prevents no-JS lockout. */
.mobile-menu-toggle{display:none;justify-content:center;align-items:center;gap:8px;border:1px solid #d7ccc1;border-radius:4px;background:#fffdfa;color:#3f382f;padding:9px 12px;font:600 11px/1.2 Arial,sans-serif;min-width:45px;min-height:44px;cursor:pointer;z-index:32}
.mobile-menu-toggle .menu-lines{display:flex;flex-direction:column;justify-content:space-around;width:20px;height:18px}
.mobile-menu-toggle .menu-lines span{background:currentColor;width:20px;height:2px;border-radius:2px;transition:transform .2s,opacity .2s}
.mobile-menu-toggle[aria-expanded=true] .menu-lines span:first-child{transform:translateY(6px) rotate(45deg)}
.mobile-menu-toggle[aria-expanded=true] .menu-lines span:nth-child(2){opacity:0}
.mobile-menu-toggle[aria-expanded=true] .menu-lines span:last-child{transform:translateY(-6px) rotate(-45deg)}
.mobile-nav-booking{display:none!important}
@media(max-width:1200px){
.site-header.has-mobile-menu,.headnav.has-mobile-menu{position:relative;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;justify-content:space-between;min-height:68px}
.headnav.has-mobile-menu{position:sticky;top:0;z-index:40}
.has-mobile-menu>.site-brand,.has-mobile-menu>.brand{flex:1;min-width:0;max-width:calc(100% - 65px)}
.has-mobile-menu>.mobile-menu-toggle{display:inline-flex!important;flex:none}
.has-mobile-menu>.reserve-link,.has-mobile-menu>.book{display:none!important}
.has-mobile-menu>.site-nav,.has-mobile-menu>.navlinks{display:none!important;position:absolute!important;top:100%;left:0;right:0;z-index:31;width:100%;max-height:75vh;overflow-y:auto;overscroll-behavior:contain;padding:12px max(18px,6vw) 20px;margin:0;box-sizing:border-box;background:#fffdfa;border-top:1px solid #e8e0d6;border-bottom:1px solid #dcd0c4;box-shadow:0 13px 22px #20110c26;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}
.has-mobile-menu>.site-nav.is-open,.has-mobile-menu>.navlinks.is-open{display:flex!important}
.has-mobile-menu>.site-nav a,.has-mobile-menu>.navlinks a{display:block;box-sizing:border-box;width:100%;padding:13px 5px;border-bottom:1px solid #ebe3da;color:#51473d;font-size:13px;letter-spacing:.08em;line-height:1.45;text-decoration:none}
.has-mobile-menu>.site-nav a[aria-current=page],.has-mobile-menu>.navlinks a[aria-current=page]{color:#a27767;font-weight:700}
.has-mobile-menu>.site-nav .mobile-nav-booking,.has-mobile-menu>.navlinks .mobile-nav-booking{display:block!important;background:#907367;border:0;border-radius:4px;margin-top:15px;padding:15px;color:#fff;text-align:center}
}
@media(max-width:470px){.has-mobile-menu>.site-brand small,.has-mobile-menu>.brand small{display:none}.has-mobile-menu>.brand strong{font-size:18px!important}.mobile-menu-toggle{padding:8px;gap:5px}}
