/* Shared salon identity; existing routes and content templates are retained. */
:root {
  --c-ink:#29262d; --c-ink-2:#46414a; --c-ink-3:#68616b;
  --c-bg:#fff; --c-bg-2:#f3f5f3; --c-line:#deded8;
  --c-night:#25262a; --c-night-2:#38343c;
  --c-gold:#c3a878; --c-gold-dark:#8a6b3f; --maxw:1160px;
}
*, *::before, *::after { letter-spacing:0; }
html { scroll-padding-top:92px; }
body { background:#fff; color:#29262d; }
a { text-underline-offset:5px; }
:focus-visible { outline:2px solid #a77e44; outline-offset:5px; }
.site-header, .site-header.scrolled, .home-refresh .site-header, .home-refresh .site-header.scrolled { background:#25262a; border-bottom:1px solid #ffffff1f; backdrop-filter:none; }
.header-inner { height:80px; padding-block:16px; gap:28px; }
.logo-name { font-size:19px; color:#fff; }
.logo-sub { font-size:11px; color:#c3b6a0; margin-top:5px; }
.logo-moon { font-size:32px; color:#cfb685; }
.nav { gap:22px; }
.nav a { color:#eeeae4; font-size:13px; font-weight:400; white-space:nowrap; }
.nav a.is-active { color:#dec391; }
.btn-reserve-header, .home-refresh .btn-reserve-header { background:#d3bc91; color:#28242b; border:1px solid #d3bc91; border-radius:2px; padding:11px 20px; white-space:nowrap; }
.btn-reserve-header:hover { background:#e4d2ad; color:#28242b; }
.nav-toggle span { background:#fff; }
.nav-toggle { width:44px; height:44px; }
.section, .home-refresh .section, .staff-refresh .section { padding:84px 0; }
.section-title, .home-refresh .section-title { font-size:32px; font-weight:500; line-height:1.7; color:#302b32; margin:0 0 24px; text-wrap:balance; }
.section-eyebrow, .home-refresh .section-eyebrow { color:#8a6b3f; font:500 16px var(--font-en); text-transform:none; margin:0 0 14px; }
.section-lead { font-size:15px; color:#68616b; line-height:2; margin-bottom:36px; }
.section-more { margin-top:32px; }
.more-link { color:#554634; border-color:#bda782; font-size:13px; padding-bottom:9px; }
.home-refresh .hero {
  margin-top:80px; padding:46px max(24px,calc((100% - 1112px)/2)) 42px;
  min-height:550px; background:#25262a; text-align:left;
}
.home-refresh .hero-image { object-position:center 55%; }
.home-refresh .hero::after { background:#08080c26; }
.home-refresh .hero-content { max-width:540px; text-shadow:0 2px 18px #0009; }
.home-refresh .hero-eyebrow { color:#decba7; font-size:13px; margin-bottom:18px; }
.home-refresh .hero-title { font-size:62px; font-weight:400; line-height:1.2; margin-bottom:26px; }
.home-refresh .hero-title span { display:inline-block; font:400 18px var(--font-jp-serif); margin:0 0 0 22px; vertical-align:middle; }
.home-refresh .hero-catch { font-size:25px; line-height:1.8; margin:0 0 18px; }
.home-refresh .hero-sub { font-size:14px; line-height:2.1; margin-bottom:24px; max-width:430px; color:#f2efea; }
.home-refresh .hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-bottom:26px; }
.btn-primary, .home-refresh .btn-primary, .staff-refresh .btn-primary { background:#d3bc91; color:#28242b; border:1px solid #d3bc91; border-radius:2px; padding:16px 26px; box-shadow:none; text-shadow:none; }
.btn-primary:hover { transform:none; background:#e4d2ad; }
.btn-primary .btn-label { font-size:15px; font-weight:500; }
.btn-primary .btn-sub, .home-refresh .btn-primary .btn-sub, .staff-refresh .btn-primary .btn-sub { font-size:10px; color:#544832; }
.hero-menu-link { font-size:12px; color:#fff; border-bottom:1px solid #cbb183; padding:10px 0; }
.hero-menu-link span { margin-left:12px; }
.home-refresh .hero-tags { max-width:540px; justify-content:flex-start; gap:10px 14px; font-size:11px; color:#e4ddd1; }
.home-refresh .hero-tags li { padding-right:0; }
.home-refresh .hero-tags li::after { display:none; }
.home-refresh .hero-tags li + li { padding-left:14px; border-left:1px solid #ffffff50; }
.home-refresh .section-photo-strip { background:#fff; padding:60px 0 84px; }
.experience-heading { display:flex; align-items:center; justify-content:space-between; gap:48px; margin-bottom:38px; }
.experience-heading .section-title { font-size:32px; line-height:1.6; text-align:left; margin-bottom:0; }
.experience-heading .section-eyebrow { text-align:left; }
.experience-heading > p { margin:0; max-width:420px; font-size:14px; line-height:2.2; color:#68616b; }
.home-refresh .photo-strip { gap:36px; align-items:start; }
.home-refresh .photo-strip figure:nth-child(2) { padding-top:58px; }
.home-refresh .photo-strip img { background:#25262a; }
.home-refresh .photo-strip figcaption { padding:22px 0 0; }
.photo-caption-title { font-size:23px; color:#373039; line-height:1.7; }
.photo-caption-title::before { background:#bba16f; width:28px; height:1px; margin-bottom:14px; }
.photo-caption-description { color:#6c6570; font-size:13px; }
.home-refresh .photo-strip small { color:#776f78; font-size:10px; }
.recommend-badges li {
  position:relative; border:3px solid transparent; outline:none;
  background:linear-gradient(#201d1a,#201d1a) padding-box,
    linear-gradient(135deg,#876025 0%,#dbb860 21%,#fff0b1 38%,#a5782f 54%,#f0d48a 76%,#88612b 100%) border-box;
  color:#f5e4bb; box-shadow:0 4px 16px #0004;
}
.recommend-badges li::before { content:""; position:absolute; inset:4px; border:1px solid #cfac5b80; border-radius:50%; pointer-events:none; }
.recommend-badges span { font-family:var(--font-jp-serif); font-weight:500; text-shadow:0 1px 2px #0008; }
@container (max-width:380px) {
  .recommend-badges { gap:6px; inset:auto 8px 10px; }
  .recommend-badges li { width:31%; }
  .recommend-badges span { font-size:10px; }
}
@container (max-width:280px) {
  .recommend-badges span { font-size:9px; }
}
.home-refresh .section-concept { background:#302b32; padding:76px 0; }
.home-refresh .section-concept .section-eyebrow { color:#d2b788; }
.home-refresh .section-concept .section-title { color:#faf8f3; }
.home-refresh .concept-lead { max-width:740px; margin:0 auto 40px; }
.home-refresh .concept-lead p { color:#d7d0d5; font-size:15px; line-height:2.2; }
.home-refresh .concept-lead strong { color:#e0c898; border:none; }
.home-refresh .concept-grid { gap:36px; }
.home-refresh .concept-card { background:none; padding:20px 0 0; border:0; border-top:1px solid #ffffff26; text-align:left; border-radius:0; }
.approach-number { font:400 28px var(--font-en); color:#c8ad7b; }
.home-refresh .concept-card h3 { color:#f4eee9; font:500 18px var(--font-jp-serif); margin:14px 0; }
.home-refresh .concept-card p { color:#c8c2c9; font-size:13px; line-height:2; }
.home-refresh .section-concept .more-link { color:#dec99e; }
.home-refresh .section-menu-summary { background:#fff; }
.home-refresh .menu-summary-grid { display:block; max-width:100%; counter-reset:treatment; }
.home-refresh .menu-summary-card { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:36px; border:0; border-top:1px solid #dcd8d3; padding:32px 0 32px 56px; border-radius:0; background:none; box-shadow:none; }
.home-refresh .menu-summary-card:last-child { border-bottom:1px solid #dcd8d3; }
.home-refresh .menu-summary-card::before { counter-increment:treatment; content:"0" counter(treatment); position:absolute; top:32px; left:0; color:#a48a61; font:400 24px var(--font-en); }
.home-refresh .menu-summary-card:hover { transform:none; box-shadow:none; }
.home-refresh .menu-summary-card h3 { grid-column:1; margin:0 0 12px; font-size:22px; line-height:1.7; }
.home-refresh .menu-summary-card > p:not(.price-tag) { grid-column:1; margin:0; font-size:13px; color:#6c6570; }
.home-refresh .price-tag { grid-column:2; grid-row:1 / span 2; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; color:#604255; font:500 19px var(--font-jp-serif); }
.home-refresh .price-tag span { display:block; white-space:nowrap; }
.home-refresh .section-flow-summary { background:#f2f5f3; padding:60px 0; }
.flow-list-mini { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; max-width:100%; }
.flow-list-mini li { display:block; border:0; border-left:1px solid #d8dfd9; border-radius:0; padding:0 24px; background:none; text-align:left; }
.flow-list-mini li:first-child { border-left:0; }
.flow-list-mini li::after { display:none; }
.flow-list-mini .flow-num { display:block; font:400 32px var(--font-en); color:#789084; margin:0 0 10px; background:none; padding:0; width:auto; height:auto; }
.flow-list-mini strong { display:block; font:500 17px var(--font-jp-serif); color:#35443a; }
.flow-list-mini small { display:block; font-size:11px; margin-top:8px; color:#67786c; line-height:1.8; }
.home-refresh .section-staff-summary { background:#fff; }
.staff-feature { max-width:760px; gap:48px; margin:40px auto 30px; grid-template-columns:164px minmax(0,1fr); }
.staff-feature > img { border-radius:2px; }
.staff-feature .staff-role { color:#8a6b3f; font-size:12px; }
.staff-feature h3 { font-size:30px; margin:10px 0 20px; }
.staff-feature p { color:#625b65; line-height:2; font-size:14px; }
.home-refresh .section-blog-summary { border-block:1px solid #e7e2df; padding:40px 0; background:#faf9fa; }
.home-refresh .section-blog-summary .container { display:grid; grid-template-columns:220px minmax(0,1fr) auto; gap:0 32px; align-items:center; }
.home-refresh .section-blog-summary .section-eyebrow { grid-column:1; margin-bottom:8px; }
.home-refresh .section-blog-summary .section-title { grid-column:1; font-size:26px; margin:0; text-align:left; }
.home-refresh .section-blog-summary .section-lead { grid-column:2; grid-row:1 / span 2; margin:0; font-size:13px; }
.home-refresh .section-blog-summary .section-more { grid-column:3; grid-row:1 / span 2; margin:0; }
.home-refresh .section-access-summary { background:#fff; }
.home-refresh .section-access-summary .container { display:grid; grid-template-columns:280px minmax(0,1fr); column-gap:64px; align-items:start; }
.home-refresh .section-access-summary .section-eyebrow { grid-column:1; }
.home-refresh .section-access-summary .section-title { grid-column:1; text-align:left; }
.home-refresh .access-summary { grid-column:2; grid-row:1 / span 3; text-align:left; }
.home-refresh .access-summary p { margin:0 0 22px; font-size:14px; line-height:2; }
.home-refresh .section-access-summary .section-more { grid-column:1; margin:8px 0 0; text-align:left; }
.access-details span { display:block; border-top:1px solid #e2dfda; padding:12px 0; }
.access-details strong { display:inline-block; min-width:136px; font-size:12px; font-weight:500; color:#827260; }
.home-refresh .section-faq { background:#f5f6f5; padding:60px 0; }
.faq-list { gap:0; }
.faq-item { border:0; border-bottom:1px solid #dce0dc; border-radius:0; background:none; }
.faq-item summary { padding:23px 36px 23px 0; font-size:14px; font-weight:400; }
.faq-body { padding:0 0 24px; font-size:13px; line-height:2; }
.section-cta, .home-refresh .section-cta { background:#302b32; padding:70px 0; }
.section-cta::before { display:none; }
.cta-title, .home-refresh .cta-title { font:400 32px/1.8 var(--font-jp-serif); color:#fff; }
.site-footer, .home-refresh .site-footer { background:#232327; color:#bcb6bb; padding:50px 0 28px; }
.footer-nav-block h4 { color:#d3bc91; }
.footer-grid { margin-bottom:30px; }
.reveal { opacity:1; transform:none; }
.page-hero, .staff-refresh .page-hero { background:#302b32; padding:128px 24px 52px; }
.page-hero::before { display:none; }
.page-title { font-size:36px; font-weight:400; }
.menu-block, .staff-card-large { border-radius:2px; box-shadow:none; }
.mobile-cta, .home-refresh .mobile-cta, .staff-refresh .mobile-cta { background:#d3bc91; color:#28242b; border:1px solid #c6a970; border-radius:2px; box-shadow:0 4px 16px #0002; font-size:14px; }
@media (max-width:1050px) {
  .header-inner { gap:18px; }
  .nav { gap:14px; }
  .nav a { font-size:12px; }
  .home-refresh .price-tag { flex-direction:column; align-items:flex-end; gap:7px; }
  .home-refresh .section-blog-summary .container { grid-template-columns:180px minmax(0,1fr); }
  .home-refresh .section-blog-summary .section-more { grid-column:2; grid-row:3; margin-top:12px; text-align:left; }
}
@media (max-width:880px) {
  .home-refresh .concept-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
  .home-refresh .concept-card h3 { font-size:16px; }
  .flow-list-mini { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
  .flow-list-mini li:nth-child(3) { border-left:0; }
  .home-refresh .section-access-summary .container { grid-template-columns:200px minmax(0,1fr); column-gap:28px; }
}
@media (max-width:720px) {
  .header-inner { height:64px; padding:10px 20px; }
  .logo-name { font-size:17px; }
  .logo-moon { font-size:29px; }
  .nav.is-open { background:#25262a; padding:20px 24px 28px; gap:0; }
  .nav.is-open a { padding:12px 0; font-size:14px; border-bottom:1px solid #ffffff1c; }
  .home-refresh .hero { margin-top:64px; min-height:0; padding:34px 24px 36px; }
  .home-refresh .hero-title { font-size:44px; margin-bottom:22px; }
  .home-refresh .hero-title span { display:block; margin:14px 0 0; font-size:17px; }
  .home-refresh .hero-catch { font-size:21px; margin-bottom:16px; }
  .home-refresh .hero-sub { font-size:13px; line-height:2; margin-bottom:22px; }
  .home-refresh .hero-image { object-position:64% center; }
  .home-refresh .hero::after { background:#07070b40; }
  .home-refresh .hero-actions { flex-direction:row; gap:10px 18px; margin-bottom:22px; }
  .home-refresh .hero-actions .btn-primary { padding:14px 22px; }
  .home-refresh .hero-tags { font-size:10px; gap:8px 10px; }
  .home-refresh .hero-tags li + li { padding-left:10px; }
  .section, .home-refresh .section, .staff-refresh .section { padding:54px 0; }
  .section-title, .home-refresh .section-title { font-size:26px; line-height:1.65; }
  .section-eyebrow, .home-refresh .section-eyebrow { font-size:15px; margin-bottom:12px; }
  .home-refresh .section-photo-strip { padding:38px 0 54px; }
  .experience-heading { display:block; margin-bottom:26px; }
  .experience-heading .section-title { font-size:27px; }
  .experience-heading > p { font-size:13px; margin-top:20px; line-height:2; }
  .home-refresh .photo-strip { gap:32px; }
  .home-refresh .photo-strip figure:nth-child(2) { padding-top:0; }
  .photo-caption-title { font-size:21px; }
  .photo-caption-description { font-size:12px; }
  .home-refresh .section-concept { padding:54px 0; }
  .home-refresh .concept-grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .home-refresh .concept-lead p { font-size:14px; }
  .home-refresh .concept-card { padding:18px 0 0 46px; position:relative; }
  .approach-number { position:absolute; left:0; top:21px; font-size:25px; }
  .home-refresh .concept-card h3 { font-size:18px; margin:4px 0 10px; }
  .home-refresh .menu-summary-card { grid-template-columns:minmax(0,1fr); padding:24px 0 24px 38px; }
  .home-refresh .menu-summary-card::before { top:26px; font-size:21px; }
  .home-refresh .menu-summary-card h3 { font-size:20px; }
  .home-refresh .price-tag { grid-column:1; grid-row:auto; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; gap:6px 20px; margin:8px 0 12px; font-size:16px; }
  .home-refresh .menu-summary-card > p:not(.price-tag) { font-size:12px; }
  .flow-list-mini { gap:26px 0; }
  .flow-list-mini li { padding:0 14px; }
  .flow-list-mini strong { font-size:15px; }
  .flow-list-mini small { font-size:10px; }
  .staff-feature { grid-template-columns:120px minmax(0,1fr); gap:22px; margin:28px 0; }
  .staff-feature > img { width:120px; height:auto; }
  .staff-feature h3 { font-size:25px; margin-bottom:14px; }
  .staff-feature p { font-size:13px; }
  .home-refresh .section-blog-summary .container, .home-refresh .section-access-summary .container { display:block; }
  .home-refresh .section-blog-summary .section-title { font-size:24px; margin-bottom:16px; }
  .home-refresh .section-blog-summary .section-more { margin-top:22px; }
  .home-refresh .section-access-summary .section-more { margin-top:24px; }
  .access-details strong { min-width:0; display:block; }
  .home-refresh .access-summary p { font-size:13px; }
  .cta-title, .home-refresh .cta-title { font-size:25px; }
  .page-title { font-size:29px; }
  .site-footer, .home-refresh .site-footer { padding-bottom:104px; }
  .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
  .footer-brand { grid-column:1 / -1; }
  .mobile-cta, .home-refresh .mobile-cta, .staff-refresh .mobile-cta { inset-inline:14px; bottom:max(12px,env(safe-area-inset-bottom)); padding:14px; }
}
@media (max-width:360px) {
  .home-refresh .section-staff-summary .section-title { font-size:22px; }
  .home-refresh .hero-title { font-size:40px; }
  .home-refresh .hero-catch { font-size:19px; }
  .staff-feature { grid-template-columns:minmax(0,1fr); }
  .photo-caption-title { font-size:19px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; }
}
