:root{--ink:#211f1c;--muted:#6e685f;--ivory:#fbfaf7;--sand:#f1ede5;--accent:#8a6d4a;--line:rgba(33,31,28,.13)}
*{box-sizing:border-box}
html{width:100%;max-width:100%;overflow-x:clip;scroll-behavior:smooth}
body{width:100%;max-width:100%;margin:0;overflow-x:clip;background:var(--ivory);color:var(--ink);font-family:'Zen Kaku Gothic New',sans-serif;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
main,section,footer{width:100%;max-width:100%;min-width:0}
.container{width:min(1240px,calc(100% - 64px));margin:auto}
.narrow{width:min(880px,calc(100% - 64px));margin:auto}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:84px;padding:0 36px;display:flex;align-items:center;justify-content:space-between;background:rgba(251,250,247,.91);border-bottom:1px solid rgba(33,31,28,.07);backdrop-filter:blur(14px);transition:height .35s,box-shadow .35s}
.site-header.is-scrolled{height:72px;box-shadow:0 8px 32px rgba(33,31,28,.06)}
.brand{display:block;width:222px;line-height:0;overflow:hidden}
.brand img{width:100%;mix-blend-mode:multiply}
.global-nav{display:flex;align-items:center;gap:34px;font-family:'Marcellus',serif;font-size:13px;letter-spacing:.12em}
.global-nav a{position:relative;transition:opacity .25s}
.global-nav a:not(.reserve-link)::after{content:'';position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--accent);transition:right .3s}
.global-nav a:hover::after{right:0}
.reserve-link{padding:12px 28px;border-radius:999px;background:var(--ink);color:var(--ivory)}
.menu-button{display:none;background:transparent;border:0;width:60px;height:44px;padding:0;position:relative;color:var(--ink)}
.menu-button b{font-family:'Marcellus',serif;font-size:11px;font-weight:400;letter-spacing:.16em}
.mobile-menu-label{display:none}
.hero{position:relative;height:100svh;min-height:650px;overflow:hidden;background:#c8c4bb}
.hero-video{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(18,17,15,.18),rgba(18,17,15,.04) 38%,rgba(18,17,15,.28));pointer-events:none}
.hero-copy{position:absolute;z-index:3;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;text-align:center;text-shadow:0 1px 22px rgba(0,0,0,.2);pointer-events:none}
.hero-eyebrow{margin:0 0 18px;font-family:'Marcellus',serif;font-size:11px;letter-spacing:.44em}
.hero h1{margin:0;font-family:'Marcellus',serif;font-size:clamp(72px,9vw,138px);font-weight:400;letter-spacing:.12em;line-height:.9}
.hero-message{margin:26px 0 0;font-size:14px;letter-spacing:.34em}
.hero-scroll{position:absolute;z-index:3;left:50%;bottom:0;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:white;font-family:'Marcellus',serif;font-size:10px;letter-spacing:.24em}
.hero-scroll i{display:block;width:1px;height:66px;background:white;opacity:.7}
.section{padding:132px 0}
.section-heading{text-align:center}
.section-index{margin:0 0 14px;color:var(--accent);font-family:'Marcellus',serif;font-size:10px;letter-spacing:.24em}
.section-heading h2,.recruit h2{margin:0;font-family:'Marcellus',serif;font-size:clamp(40px,5vw,58px);font-weight:400;letter-spacing:.12em}
.section-note{margin:18px 0 0;color:var(--muted);font-size:13px;letter-spacing:.08em}
.concept{padding-bottom:112px}
.concept-lead{margin:38px 0 0;font-size:clamp(22px,3vw,30px);font-weight:500;line-height:1.9;letter-spacing:.05em}
.concept-body{margin:24px 0 0;color:var(--muted);font-size:14px;line-height:2.15;letter-spacing:.035em}
.marquee{margin-top:72px;overflow:hidden}
.marquee-track{display:flex;width:max-content;animation:marquee 55s linear infinite}
.marquee-set{display:flex;gap:16px;padding-right:16px}
.marquee img{width:280px;height:374px;object-fit:cover;filter:saturate(.85);transition:filter .4s}
.marquee img:hover{filter:saturate(1)}
@keyframes marquee{to{transform:translateX(-50%)}}
.design{padding-top:94px}
.design-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:54px 22px;margin-top:62px}
.style-card{min-width:0}
.style-card img{width:100%;aspect-ratio:3/4;object-fit:cover;background:#e7e3dc;filter:saturate(.9);transition:transform .6s ease,filter .6s ease}
.style-card:hover img{transform:scale(.985);filter:saturate(1)}
.style-card p{margin:14px 0 4px;color:var(--accent);font-family:'Marcellus',serif;font-size:12px;letter-spacing:.18em}
.style-card span{color:var(--muted);font-size:10px;letter-spacing:.07em}
.price{background:var(--sand);text-align:center}
.price-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px 60px;max-width:1020px;margin:60px auto 0}
.price-grid p{margin:0 0 10px;font-family:'Marcellus',serif;font-size:25px;letter-spacing:.08em}
.price-grid span{color:var(--muted);font-size:13px}
.outline-button{display:inline-flex;align-items:center;justify-content:center;min-width:174px;padding:14px 30px;border:1px solid var(--ink);font-family:'Marcellus',serif;font-size:12px;letter-spacing:.16em;transition:.3s}
.outline-button:hover{background:var(--ink);color:var(--ivory)}
.salon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 28px;margin-top:62px}
.salon-card{min-width:0}
.salon-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s ease}
.salon-card:hover>img{transform:scale(.985)}
.salon-card>img.shift{object-position:75% center}
.salon-card>div{position:relative;padding-top:17px}
.salon-card p{margin:0;font-size:17px;font-weight:500;letter-spacing:.06em}
.salon-card span{display:block;margin-top:4px;color:var(--muted);font-family:'Marcellus',serif;font-size:10px;letter-spacing:.15em}
.salon-card a{position:absolute;right:0;top:17px;padding:8px 22px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-family:'Marcellus',serif;font-size:10px;letter-spacing:.13em;transition:.3s}
.salon-card a:hover{background:var(--accent);color:white}
.recruit{padding:145px 32px;background:#1c1a17;color:var(--ivory);text-align:center}
.recruit-inner{max-width:720px;margin:auto}
.recruit .section-index{color:#bba789}
.recruit p:not(.section-index){margin:28px 0 34px;color:rgba(251,250,247,.73);font-size:14px;line-height:2;letter-spacing:.05em}
.outline-button.light{border-color:var(--ivory);color:var(--ivory)}
.outline-button.light:hover{background:var(--ivory);color:var(--ink)}
.site-footer{padding:74px 32px 34px;background:#eee9df;text-align:center}
.footer-logo{width:220px;margin:0 auto 34px;mix-blend-mode:multiply}
.site-footer nav{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;font-family:'Marcellus',serif;font-size:12px;letter-spacing:.12em}
.social-links{display:flex;justify-content:center;gap:24px;margin-top:25px;color:var(--muted);font-size:11px;letter-spacing:.08em}
.site-footer small{display:block;margin-top:34px;color:#827b70;font-size:10px;letter-spacing:.1em}
[data-reveal]{opacity:1;transform:none}
@media(max-width:900px){
  .site-header{height:72px;padding:0 18px}.site-header.is-scrolled{height:64px}.brand{width:158px}.menu-button{display:flex!important;align-items:center;justify-content:center;position:absolute;right:8px;top:14px;z-index:62}.menu-button b{opacity:1}.mobile-menu-label{display:none}
  .global-nav{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;gap:28px;background:rgba(251,250,247,.98);font-size:20px;opacity:0;visibility:hidden;transition:.3s}
  .global-nav.is-open{opacity:1;visibility:visible}.reserve-link{margin-top:8px;padding:13px 42px}
  .design-grid{grid-template-columns:repeat(2,1fr)}.salon-grid{grid-template-columns:repeat(2,1fr)}
  .price-grid{grid-template-columns:repeat(2,1fr);gap:36px 24px}
}
@media(max-width:600px){
  .container,.narrow{width:calc(100% - 36px)}.section{padding:92px 0}
  .hero{height:auto;min-height:0;aspect-ratio:16/9;margin-top:72px;background:#171513}.hero::before{content:none}.hero-copy{display:none}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{background:linear-gradient(180deg,rgba(18,17,15,.08),rgba(18,17,15,.02) 45%,rgba(18,17,15,.16))}.hero h1{font-size:46px}.hero-eyebrow{margin-bottom:10px;font-size:7px;letter-spacing:.3em}.hero-message{margin-top:14px;font-size:9px;letter-spacing:.16em}.hero-scroll{display:none}
  .concept{padding-top:56px;padding-bottom:76px}.concept-lead{font-size:21px}.concept-body{font-size:13px}.concept-body br{display:none}
  .marquee{margin-top:52px}.marquee img{width:210px;height:280px}.marquee-track{animation-duration:42s}
  .design{padding-top:70px}.design-grid{gap:38px 12px;margin-top:44px}.style-card p{font-size:10px}.style-card span{font-size:8px;line-height:1.5;display:block}
  .section-note{line-height:1.8}.salon-grid{grid-template-columns:1fr;gap:42px;margin-top:44px}.price-grid{margin-top:45px}
  .price-grid p{font-size:21px}.recruit{padding:100px 24px}.footer-logo{width:190px}.site-footer nav{gap:18px;font-size:11px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation-play-state:paused}}
