/* Homepage-only final polish: copy, generated assets, and visible layout overrides. */
body.home-body .hero-boundary-svg,
body.home-body .boutique-route {
  display: none !important;
  content: none !important;
}

body.home-body .site-header::after {
  content: "Private Salon" !important;
  right: 48px !important;
  top: 25px !important;
  color: #6f6559 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 0.5rem !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-hero-location {
  color: #6f6559 !important;
}

body.home-body .boutique-hero-photo img {
  object-position: 52% 49% !important;
  filter: saturate(0.9) brightness(1.02) contrast(0.96) !important;
}

body.home-body .boutique-hero h1 {
  width: 198px !important;
  max-width: 198px !important;
  font-size: 1.08rem !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.home-body .boutique-hero-copy p:last-of-type {
  width: 178px !important;
  max-width: 178px !important;
  margin-top: 13px !important;
  font-size: 0.5rem !important;
  line-height: 1.92 !important;
}

body.home-body .boutique-index-text small,
body.home-body .boutique-guide-links small,
body.home-body .site-footer,
body.home-body .site-footer p {
  letter-spacing: 0 !important;
}

body.home-body .boutique-index {
  height: 116px !important;
  min-height: 116px !important;
}

body.home-body .boutique-index-link {
  position: relative !important;
  grid-template-columns: 44px 1fr 28px !important;
  min-height: 26px !important;
  padding: 0 36px 0 54px !important;
}

body.home-body .boutique-index-link::after {
  content: "" !important;
  position: absolute !important;
  right: 52px !important;
  top: 50% !important;
  width: 18px !important;
  height: 1px !important;
  background: rgba(176, 131, 77, 0.62) !important;
  transform: translateY(-50%) !important;
}

body.home-body .boutique-index-number {
  font-size: 0.9rem !important;
}

body.home-body .boutique-index-text strong {
  font-size: 0.58rem !important;
  line-height: 1 !important;
}

body.home-body .boutique-index-text small,
body.home-body .boutique-index-thumb {
  display: none !important;
}

body.home-body .boutique-concept {
  height: 204px !important;
  min-height: 204px !important;
}

body.home-body .boutique-concept-copy p {
  width: 164px !important;
  max-width: 164px !important;
  font-size: 0.45rem !important;
  line-height: 1.82 !important;
}

body.home-body .treatment-spotlight-lead {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.39rem !important;
  font-weight: 400 !important;
  font-feature-settings: "palt" 1 !important;
}

body.home-body .treatment-spotlight {
  height: 158px !important;
  min-height: 158px !important;
  --treatment-copy-center: 50%;
  --treatment-copy-width: 228px;
}

body.home-body .treatment-spotlight-copy {
  left: 50% !important;
  right: auto !important;
  width: var(--treatment-copy-width) !important;
  max-width: var(--treatment-copy-width) !important;
  top: 15px !important;
  transform: translateX(-50%) !important;
  align-items: center !important;
  text-align: center !important;
}

body.home-body .treatment-spotlight-title {
  width: 100% !important;
  max-width: 100% !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.98rem !important;
  font-weight: 500 !important;
  font-feature-settings: "palt" 1 !important;
  line-height: 1.18 !important;
  justify-content: center !important;
  text-align: center !important;
}

body.home-body .treatment-spotlight-title span {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 0.54rem !important;
  font-weight: 500 !important;
  font-style: italic !important;
}

body.home-body .treatment-spotlight-link {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  margin-top: 6px !important;
  font-size: 0.47rem !important;
  font-weight: 500 !important;
  font-feature-settings: "palt" 1 !important;
}

body.home-body .treatment-spotlight-lines {
  left: 50% !important;
  right: auto !important;
  width: var(--treatment-copy-width) !important;
  max-width: var(--treatment-copy-width) !important;
  bottom: 12px !important;
  transform: translateX(-50%) !important;
}

body.home-body .treatment-spotlight-kicker {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 0.4rem !important;
  font-weight: 500 !important;
  font-style: normal !important;
}

body.home-body .treatment-spotlight-lines span {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-weight: 500 !important;
  font-style: italic !important;
}

body.home-body .treatment-spotlight-lines strong,
body.home-body .treatment-spotlight-lines small {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-weight: 400 !important;
  font-feature-settings: "palt" 1 !important;
}

body.home-body .boutique-access {
  position: relative !important;
  display: block !important;
  height: 126px !important;
  min-height: 126px !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #fbf8f2 !important;
}

body.home-body .boutique-access-copy {
  position: absolute !important;
  left: 46px !important;
  top: 17px !important;
  z-index: 3 !important;
  display: block !important;
  width: 148px !important;
  max-width: 148px !important;
  padding: 0 !important;
}

body.home-body .boutique-access-copy .boutique-kicker {
  display: flex !important;
  margin-bottom: 9px !important;
  font-size: 0.48rem !important;
}

body.home-body .boutique-access-copy .boutique-kicker::after {
  width: 28px !important;
}

body.home-body .boutique-access h2 {
  display: block !important;
  visibility: visible !important;
  width: 148px !important;
  max-width: 148px !important;
  margin: 0 !important;
  color: #221f1b !important;
  font-size: 0.78rem !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body.home-body .boutique-access p:not(.boutique-kicker) {
  display: block !important;
  width: 148px !important;
  max-width: 148px !important;
  margin: 8px 0 8px !important;
  color: rgba(56, 48, 42, 0.72) !important;
  font-size: 0.38rem !important;
  line-height: 1.58 !important;
}

body.home-body .boutique-access .boutique-inline-link {
  display: inline-block !important;
  margin-top: 0 !important;
  font-size: 0.49rem !important;
}

body.home-body .boutique-access-photo {
  position: absolute !important;
  left: 226px !important;
  top: 14px !important;
  z-index: 2 !important;
  display: block !important;
  width: 176px !important;
  height: 98px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

body.home-body .boutique-access-photo::before,
body.home-body .boutique-access-photo::after {
  display: none !important;
  content: none !important;
}

body.home-body .boutique-access-photo img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 54% 56% !important;
  filter: saturate(0.88) brightness(1.02) contrast(0.94) !important;
}

body.home-body .boutique-reserve-copy {
  width: 214px !important;
  max-width: 214px !important;
}

body.home-body .boutique-guide-links {
  height: 58px !important;
  min-height: 58px !important;
}

body.home-body .boutique-guide-links a {
  min-height: 58px !important;
  padding-top: 10px !important;
  padding-bottom: 8px !important;
}

body.home-body .boutique-guide-links strong {
  font-size: 0.58rem !important;
}

body.home-body .boutique-guide-links small {
  display: none !important;
}

body.home-body .boutique-reserve {
  height: 112px !important;
  min-height: 112px !important;
  background:
    linear-gradient(90deg, rgba(251, 248, 242, 0.22), rgba(251, 248, 242, 0.08)),
    url("./assets/photos/home-reserve-cta-v2.webp") 50% 50% / cover no-repeat !important;
}

body.home-body .boutique-reserve-calendar {
  display: none !important;
}

body.home-body .boutique-reserve-copy {
  top: 17px !important;
}

body.home-body .boutique-reserve h2 {
  font-size: 1.02rem !important;
  margin-bottom: 5px !important;
}

body.home-body .boutique-reserve-copy p:not(.boutique-kicker) {
  font-size: 0.46rem !important;
  line-height: 1.45 !important;
  margin-bottom: 8px !important;
}

body.home-body .boutique-reserve-button {
  width: 124px !important;
  min-height: 26px !important;
  padding: 0 28px 0 20px !important;
  font-size: 0.48rem !important;
}

body.home-body .site-footer {
  min-height: 38px !important;
  padding-top: 5px !important;
  padding-bottom: 5px !important;
}

body.home-body .boutique-footer-script {
  font-size: 1.45rem !important;
  line-height: 1 !important;
}

body.home-body .site-footer > p:not(.boutique-footer-script) {
  display: none !important;
}

body.home-body .footer-links {
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  font-size: 0.34rem !important;
  line-height: 1 !important;
}

body.home-body .footer-links a:nth-last-child(-n + 2) {
  display: none !important;
}

.policy::before,
.compliance::before,
.faq::before,
.contact::before {
  background: none !important;
  animation: none !important;
}

.promo {
  background-image: none !important;
}

/* Reference-close final pass: lighter type, quieter lines, and paper-like spacing. */
@media (min-width: 460px) {
  body.home-body {
    background: #0d0c0b !important;
  }

  body.home-body .page-shell {
    max-width: 459px !important;
    margin: 10px auto !important;
    overflow: hidden !important;
    border-radius: 7px !important;
    background: #fbf8f2 !important;
  }
}

body.home-body .page-shell {
  overflow: hidden !important;
}

body.home-body .boutique-hero {
  height: 354px !important;
  min-height: 354px !important;
}

body.home-body .boutique-hero > .boutique-script-ghost {
  left: 29px !important;
  top: 78px !important;
  color: rgba(174, 125, 69, 0.22) !important;
  font-size: 5.9rem !important;
  line-height: 0.8 !important;
  transform: rotate(-5deg) !important;
}

body.home-body .boutique-hero-photo {
  left: 202px !important;
  right: auto !important;
  top: 58px !important;
  width: 180px !important;
  height: 292px !important;
}

body.home-body .boutique-hero-photo img {
  object-position: 54% 49% !important;
  filter: saturate(0.82) brightness(1.04) contrast(0.94) !important;
}

body.home-body .boutique-hero-copy {
  left: 47px !important;
  top: 173px !important;
  width: 186px !important;
  max-width: 186px !important;
}

body.home-body .boutique-hero h1 {
  width: 188px !important;
  max-width: 188px !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 1.64 !important;
}

body.home-body .boutique-hero-copy p:last-of-type {
  width: 164px !important;
  max-width: 164px !important;
  color: rgba(45, 39, 34, 0.78) !important;
  font-size: 0.42rem !important;
  line-height: 2 !important;
}

body.home-body .boutique-index {
  height: 118px !important;
  min-height: 118px !important;
  padding: 12px 50px 12px 54px !important;
  background: #fbf8f2 !important;
}

body.home-body .boutique-index-link {
  display: grid !important;
  grid-template-columns: 50px minmax(0, 1fr) 24px !important;
  align-items: center !important;
  min-height: 23px !important;
  padding: 0 !important;
  border-top: 1px solid rgba(180, 139, 91, 0.32) !important;
}

body.home-body .boutique-index-link:last-child {
  border-bottom: 1px solid rgba(180, 139, 91, 0.32) !important;
}

body.home-body .boutique-index-link::after {
  right: 0 !important;
  width: 16px !important;
  background: rgba(176, 131, 77, 0.56) !important;
}

body.home-body .boutique-index-number {
  justify-self: start !important;
  color: #a77945 !important;
  font-size: 0.78rem !important;
  line-height: 1 !important;
}

body.home-body .boutique-index-text {
  justify-self: start !important;
  text-align: left !important;
}

body.home-body .boutique-index-text strong {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  color: #38302a !important;
  font-size: 0.55rem !important;
  font-weight: 500 !important;
}

body.home-body .boutique-concept {
  height: 206px !important;
  min-height: 206px !important;
}

body.home-body .boutique-concept-copy {
  left: 47px !important;
  top: 72px !important;
  width: 166px !important;
  max-width: 166px !important;
}

body.home-body .boutique-concept-copy h2 {
  font-size: 1rem !important;
  font-weight: 400 !important;
  line-height: 1.75 !important;
}

body.home-body .boutique-concept-copy p {
  width: 148px !important;
  max-width: 148px !important;
  color: rgba(55, 48, 42, 0.7) !important;
  font-size: 0.38rem !important;
  line-height: 1.9 !important;
}

body.home-body .boutique-concept-photo {
  left: 198px !important;
  right: auto !important;
  top: 34px !important;
  width: 178px !important;
  height: 146px !important;
}

body.home-body .boutique-concept-photo img {
  object-position: 55% 49% !important;
  filter: saturate(0.78) brightness(1.04) contrast(0.94) !important;
}

/* Site-wide completion pass: keep the TOP calm, clickable, and inside the mobile shell. */
body.home-body .boutique-hero-location {
  display: none !important;
}

body.home-body .header-micro {
  right: 56px !important;
  color: #6f6559 !important;
}

body.home-body .boutique-hero {
  overflow: hidden !important;
}

body.home-body .boutique-index {
  width: 100% !important;
  max-width: 100% !important;
  padding-right: 40px !important;
  padding-left: 40px !important;
  overflow: hidden !important;
  contain: paint !important;
}

body.home-body .boutique-index-link {
  grid-template-columns: 44px minmax(0, 1fr) 20px !important;
}

body.home-body .boutique-index-link::after {
  right: 0 !important;
  width: 14px !important;
}

body.home-body .boutique-concept-copy,
body.home-body .boutique-concept-copy h2 {
  width: 150px !important;
  max-width: 150px !important;
}

body.home-body .boutique-concept-copy h2 {
  font-size: 0.94rem !important;
}

body.home-body .boutique-concept-photo {
  left: 202px !important;
  width: 174px !important;
}

body.home-body .boutique-guide-links {
  overflow: hidden !important;
}

body.home-body .treatment-spotlight {
  height: 164px !important;
  min-height: 164px !important;
  --treatment-copy-width: 226px;
  background:
    linear-gradient(90deg, rgba(255, 250, 242, 0.08), rgba(101, 116, 98, 0.1)),
    url("./assets/photos/ref15-treatment-onepiece.webp") 50% 50% / cover no-repeat !important;
}

body.home-body .treatment-spotlight-copy {
  top: 19px !important;
}

body.home-body .treatment-spotlight-kicker {
  margin-bottom: 6px !important;
  color: rgba(255, 250, 242, 0.72) !important;
  font-size: 0.38rem !important;
}

body.home-body .treatment-spotlight-title {
  color: rgba(255, 250, 242, 0.96) !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
}

body.home-body .treatment-spotlight-title span {
  margin-left: 7px !important;
  font-size: 0.48rem !important;
  font-weight: 500 !important;
}

body.home-body .treatment-spotlight-lead {
  margin-top: 7px !important;
  color: rgba(255, 250, 242, 0.82) !important;
  font-size: 0.35rem !important;
  line-height: 1.62 !important;
}

body.home-body .treatment-spotlight-link {
  margin-top: 7px !important;
  color: rgba(255, 250, 242, 0.9) !important;
  font-size: 0.42rem !important;
}

body.home-body .treatment-spotlight-link::after {
  width: 22px !important;
  background: rgba(255, 250, 242, 0.62) !important;
}

body.home-body .treatment-spotlight-lines {
  bottom: 15px !important;
  width: 232px !important;
  max-width: 232px !important;
}

body.home-body .treatment-spotlight-lines a {
  min-height: 16px !important;
  padding: 3px 0 !important;
  border-top-color: rgba(255, 250, 242, 0.35) !important;
}

body.home-body .treatment-spotlight-lines a:last-child {
  border-bottom-color: rgba(255, 250, 242, 0.35) !important;
}

body.home-body .treatment-spotlight-lines span {
  color: rgba(255, 250, 242, 0.62) !important;
  font-size: 0.26rem !important;
}

body.home-body .treatment-spotlight-lines strong {
  color: rgba(255, 250, 242, 0.82) !important;
  font-size: 0.32rem !important;
  font-weight: 400 !important;
}

body.home-body .treatment-spotlight-lines small {
  color: rgba(255, 250, 242, 0.7) !important;
  font-size: 0.22rem !important;
  font-weight: 400 !important;
}

body.home-body .boutique-access {
  height: 128px !important;
  min-height: 128px !important;
}

body.home-body .boutique-access-copy {
  left: 46px !important;
  top: 19px !important;
  width: 146px !important;
  max-width: 146px !important;
}

body.home-body .boutique-access h2 {
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

body.home-body .boutique-access p:not(.boutique-kicker) {
  width: 132px !important;
  max-width: 132px !important;
  font-size: 0.34rem !important;
  line-height: 1.72 !important;
}

body.home-body .boutique-access-photo {
  left: 208px !important;
  top: 12px !important;
  width: 168px !important;
  height: 104px !important;
}

body.home-body .boutique-access-photo img {
  filter: saturate(0.76) brightness(1.05) contrast(0.93) !important;
}

body.home-body .boutique-guide-links {
  height: 60px !important;
  min-height: 60px !important;
}

body.home-body .boutique-guide-links a {
  min-height: 60px !important;
  padding-top: 12px !important;
}

body.home-body .boutique-reserve {
  height: 114px !important;
  min-height: 114px !important;
  background:
    linear-gradient(90deg, rgba(251, 248, 242, 0.3), rgba(251, 248, 242, 0.08)),
    url("./assets/photos/home-reserve-cta-v2.webp") 48% 50% / cover no-repeat !important;
}

body.home-body .boutique-reserve-copy {
  top: 18px !important;
}

body.home-body .boutique-reserve h2 {
  font-size: 0.96rem !important;
  font-weight: 400 !important;
}

body.home-body .boutique-reserve-copy p:not(.boutique-kicker) {
  font-size: 0.4rem !important;
}

body.home-body .boutique-reserve-button {
  width: 116px !important;
  min-height: 25px !important;
  border-color: rgba(174, 125, 69, 0.76) !important;
  font-size: 0.42rem !important;
}

/* Breathing-room pass: loosen the TOP layout and remove SVG-like decoration. */
body.home-body .hero-boundary,
body.home-body .hero-boundary-svg,
body.home-body .hero-boundary-svg *,
body.home-body .boutique-route,
body.home-body .boutique-route::before,
body.home-body .boutique-route::after,
body.home-body .boutique-reserve-calendar {
  display: none !important;
  visibility: hidden !important;
  content: none !important;
}

body.home-body .boutique-hero {
  height: 374px !important;
  min-height: 374px !important;
}

body.home-body .boutique-hero > .boutique-script-ghost {
  top: 86px !important;
  color: rgba(174, 125, 69, 0.18) !important;
}

body.home-body .boutique-hero-photo {
  top: 67px !important;
  height: 298px !important;
}

body.home-body .boutique-hero-copy {
  top: 187px !important;
}

body.home-body .boutique-hero-copy p:last-of-type {
  margin-top: 15px !important;
  line-height: 2.08 !important;
}

body.home-body .boutique-index {
  height: 132px !important;
  min-height: 132px !important;
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

body.home-body .boutique-index-link {
  min-height: 25px !important;
}

body.home-body .boutique-concept {
  height: 232px !important;
  min-height: 232px !important;
}

body.home-body .boutique-section-label {
  top: 42px !important;
}

body.home-body .boutique-concept-copy {
  top: 82px !important;
}

body.home-body .boutique-concept-copy h2 {
  line-height: 1.86 !important;
}

body.home-body .boutique-concept-copy p {
  margin-top: 14px !important;
  line-height: 2 !important;
}

body.home-body .boutique-concept-photo {
  top: 44px !important;
  height: 158px !important;
}

body.home-body .treatment-spotlight {
  height: 178px !important;
  min-height: 178px !important;
}

body.home-body .treatment-spotlight-copy {
  top: 23px !important;
}

body.home-body .treatment-spotlight-lead {
  margin-top: 8px !important;
  line-height: 1.72 !important;
}

body.home-body .treatment-spotlight-link {
  margin-top: 9px !important;
}

body.home-body .treatment-spotlight-lines {
  bottom: 18px !important;
}

body.home-body .boutique-access {
  height: 154px !important;
  min-height: 154px !important;
}

body.home-body .boutique-access-copy {
  top: 24px !important;
}

body.home-body .boutique-access p:not(.boutique-kicker) {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
  line-height: 1.86 !important;
}

body.home-body .boutique-access-photo {
  left: 208px !important;
  top: 18px !important;
  width: 162px !important;
  height: 118px !important;
}

body.home-body .boutique-access-photo img {
  object-position: 48% 56% !important;
  filter: saturate(0.78) brightness(1.05) contrast(0.93) !important;
}

body.home-body .boutique-guide-links {
  height: 68px !important;
  min-height: 68px !important;
}

body.home-body .boutique-guide-links a {
  min-height: 68px !important;
  padding-top: 15px !important;
}

body.home-body .boutique-reserve {
  height: 128px !important;
  min-height: 128px !important;
}

body.home-body .boutique-reserve-copy {
  top: 22px !important;
}

body.home-body .boutique-reserve-copy p:not(.boutique-kicker) {
  margin-bottom: 10px !important;
  line-height: 1.6 !important;
}

body.home-body .site-footer {
  min-height: 46px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* Tone down the large hero haze so it stays as a quiet accent. */
body.home-body .boutique-hero > .boutique-script-ghost {
  left: 22px !important;
  top: 92px !important;
  max-width: 290px !important;
  overflow: hidden !important;
  color: rgba(174, 125, 69, 0.1) !important;
  font-size: 4.95rem !important;
  line-height: 0.84 !important;
  transform: rotate(-5deg) !important;
}

/* Homepage copy pass: make the page read like a complete salon website. */
body.home-body .boutique-hero {
  height: 386px !important;
  min-height: 386px !important;
}

body.home-body .boutique-hero-photo {
  top: 70px !important;
  height: 306px !important;
}

body.home-body .boutique-hero-copy {
  top: 184px !important;
}

body.home-body .boutique-hero-copy p:last-of-type {
  width: 154px !important;
  max-width: 154px !important;
  font-size: 0.37rem !important;
  line-height: 1.9 !important;
}

body.home-body .boutique-index {
  height: 146px !important;
  min-height: 146px !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
}

body.home-body .boutique-index-link {
  min-height: 29px !important;
}

body.home-body .boutique-index-text small {
  display: block !important;
  margin-top: 4px !important;
  color: rgba(65, 55, 47, 0.54) !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.28rem !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.home-body .boutique-concept {
  height: 262px !important;
  min-height: 262px !important;
}

body.home-body .boutique-concept-copy {
  top: 84px !important;
}

body.home-body .boutique-concept-copy h2 {
  font-size: 0.96rem !important;
  line-height: 1.78 !important;
}

body.home-body .boutique-concept-copy p {
  width: 158px !important;
  max-width: 158px !important;
  font-size: 0.32rem !important;
  line-height: 1.8 !important;
}

body.home-body .boutique-concept-photo {
  top: 54px !important;
  width: 168px !important;
  height: 164px !important;
}

body.home-body .treatment-spotlight {
  height: 188px !important;
  min-height: 188px !important;
}

body.home-body .treatment-spotlight-copy {
  top: 25px !important;
}

body.home-body .treatment-spotlight-lead {
  font-size: 0.33rem !important;
  line-height: 1.72 !important;
}

body.home-body .treatment-spotlight-lines {
  bottom: 20px !important;
}

body.home-body .boutique-access {
  height: 178px !important;
  min-height: 178px !important;
}

body.home-body .boutique-access-copy {
  top: 25px !important;
  width: 158px !important;
  max-width: 158px !important;
}

body.home-body .boutique-access h2 {
  width: 158px !important;
  max-width: 158px !important;
  font-size: 0.7rem !important;
}

body.home-body .boutique-access p:not(.boutique-kicker) {
  width: 148px !important;
  max-width: 148px !important;
  font-size: 0.31rem !important;
  line-height: 1.75 !important;
}

body.home-body .boutique-access-photo {
  top: 25px !important;
  width: 154px !important;
  height: 126px !important;
}

body.home-body .boutique-info-strip {
  position: relative !important;
  display: block !important;
  padding: 20px 46px 22px !important;
  background: #fbf8f2 !important;
  border-top: 1px solid rgba(176, 131, 77, 0.2) !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.18) !important;
}

body.home-body .boutique-info-strip div {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  column-gap: 18px !important;
  padding: 13px 0 12px !important;
  border-top: 1px solid rgba(176, 131, 77, 0.18) !important;
}

body.home-body .boutique-info-strip div:first-child {
  padding-top: 0 !important;
  border-top: 0 !important;
}

body.home-body .boutique-info-strip span {
  grid-row: span 2 !important;
  color: #a77945 !important;
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 0.5rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

body.home-body .boutique-info-strip strong {
  color: #2d2924 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.58rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

body.home-body .boutique-info-strip p {
  margin: 5px 0 0 !important;
  color: rgba(56, 48, 42, 0.68) !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.34rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

body.home-body .boutique-guide-links {
  height: 74px !important;
  min-height: 74px !important;
}

body.home-body .boutique-guide-links a {
  min-height: 74px !important;
  padding-top: 16px !important;
}

body.home-body .boutique-guide-links small {
  display: block !important;
  margin-top: 5px !important;
  font-size: 0.3rem !important;
  line-height: 1.2 !important;
}

body.home-body .boutique-reserve {
  height: 144px !important;
  min-height: 144px !important;
}

body.home-body .boutique-reserve > .boutique-script-ghost {
  display: none !important;
  visibility: hidden !important;
}

body.home-body .boutique-reserve-copy {
  top: 24px !important;
  width: 230px !important;
  max-width: 230px !important;
}

body.home-body .boutique-reserve-copy p:not(.boutique-kicker) {
  width: 210px !important;
  max-width: 210px !important;
  font-size: 0.36rem !important;
  line-height: 1.58 !important;
}

/* Keep the hero script haze very narrow; it should not read as a broad wash. */
body.home-body .boutique-hero > .boutique-script-ghost {
  left: 52px !important;
  top: 104px !important;
  width: 178px !important;
  max-width: 178px !important;
  height: 62px !important;
  overflow: hidden !important;
  color: rgba(174, 125, 69, 0.055) !important;
  font-size: 3.65rem !important;
  line-height: 0.9 !important;
  transform: rotate(-5deg) !important;
}

/* Hero photo: show the room clearly and avoid generated crescent/arch artifacts. */
body.home-body .boutique-hero-photo {
  left: 198px !important;
  right: auto !important;
  top: 62px !important;
  width: 188px !important;
  height: 314px !important;
  overflow: hidden !important;
  background: #f8f2eb !important;
  border-radius: 106px 106px 0 0 !important;
}

body.home-body .boutique-hero::before,
body.home-body .boutique-hero::after {
  display: none !important;
  content: none !important;
}

body.home-body .boutique-hero-photo::before,
body.home-body .boutique-hero-photo::after {
  display: none !important;
  content: none !important;
}

body.home-body .boutique-hero-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: 50% 50% !important;
  filter: saturate(0.86) brightness(1.03) contrast(0.95) !important;
}

@media (max-width: 374px) {
  body.home-body .boutique-hero-photo {
    left: 186px !important;
    width: 178px !important;
  }
}

body.home-body .boutique-column-section {
  position: relative !important;
  padding: 34px 46px 32px !important;
  background:
    linear-gradient(180deg, #fbf8f2 0%, #f8f2eb 100%) !important;
  border-top: 1px solid rgba(176, 131, 77, 0.16) !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.16) !important;
}

body.home-body .boutique-column-head {
  position: relative !important;
  margin: 0 0 20px !important;
}

body.home-body .boutique-column-head h2 {
  margin: 0 !important;
  color: #2d2924 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-column-head p:not(.boutique-kicker) {
  width: 250px !important;
  margin: 12px 0 0 !important;
  color: rgba(56, 48, 42, 0.66) !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.52rem !important;
  line-height: 1.9 !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-column-list {
  border-top: 1px solid rgba(176, 131, 77, 0.32) !important;
}

body.home-body .boutique-column-row {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) 52px !important;
  align-items: center !important;
  min-height: 76px !important;
  gap: 14px !important;
  padding: 12px 0 !important;
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.28) !important;
}

body.home-body .boutique-column-row::after {
  content: "" !important;
  display: block !important;
  width: 42px !important;
  height: 1px !important;
  background: rgba(176, 131, 77, 0.46) !important;
}

body.home-body .boutique-column-row span {
  color: #ad7b47 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 0.86rem !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-column-row strong {
  display: block !important;
  color: #2d2924 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.62rem !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-column-row small {
  display: block !important;
  margin-top: 5px !important;
  color: rgba(56, 48, 42, 0.54) !important;
  font-family: "Cormorant Garamond", "Hiragino Mincho ProN", serif !important;
  font-size: 0.42rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-column-more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin-top: 20px !important;
  color: #ad7b47 !important;
  font-family: "Cormorant Garamond", "Hiragino Mincho ProN", serif !important;
  font-size: 0.62rem !important;
  text-decoration: none !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-column-more::after {
  content: "" !important;
  width: 52px !important;
  height: 1px !important;
  background: rgba(176, 131, 77, 0.42) !important;
}

/* TOP final composition: align assets, copy and CTA as one finished salon homepage. */
body.home-body .page-shell {
  background: #fbf8f2 !important;
}

body.home-body .boutique-main {
  background: #fbf8f2 !important;
}

body.home-body .boutique-hero {
  height: 420px !important;
  min-height: 420px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, #fbf8f2 0%, #fbf8f2 56%, #f3ece4 100%) !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.14) !important;
}

body.home-body .boutique-hero > .boutique-script-ghost {
  left: 42px !important;
  top: 110px !important;
  width: 230px !important;
  max-width: 230px !important;
  height: 96px !important;
  color: rgba(174, 125, 69, 0.075) !important;
  font-size: 5.2rem !important;
  line-height: 0.78 !important;
  transform: rotate(-7deg) !important;
}

body.home-body .boutique-hero-photo {
  left: 200px !important;
  right: auto !important;
  top: 76px !important;
  width: 184px !important;
  height: 326px !important;
  border-radius: 118px 118px 0 0 !important;
  background: #f3ece4 !important;
  box-shadow: none !important;
}

body.home-body .boutique-hero-photo img {
  object-fit: cover !important;
  object-position: 49% 51% !important;
  filter: saturate(0.86) brightness(1.04) contrast(0.95) !important;
}

body.home-body .boutique-hero-copy {
  left: 47px !important;
  top: 184px !important;
  width: 154px !important;
  max-width: 154px !important;
}

body.home-body .boutique-hero .boutique-kicker {
  margin-bottom: 10px !important;
  font-size: 0.46rem !important;
  white-space: normal !important;
}

body.home-body .boutique-hero h1 {
  width: 154px !important;
  max-width: 154px !important;
  font-size: 1.04rem !important;
  line-height: 1.56 !important;
  white-space: normal !important;
}

body.home-body .boutique-hero h1 span {
  display: block !important;
}

body.home-body .boutique-hero h1::after {
  width: 48px !important;
  margin: 10px 0 12px !important;
}

body.home-body .boutique-hero-copy p:last-of-type {
  width: 144px !important;
  max-width: 144px !important;
  margin: 0 !important;
  font-size: 0.42rem !important;
  line-height: 1.9 !important;
}

body.home-body .boutique-hero-links {
  display: flex !important;
  gap: 28px !important;
  margin-top: 18px !important;
}

body.home-body .boutique-hero-links a {
  position: relative !important;
  min-width: 48px !important;
  padding: 0 34px 8px 0 !important;
  color: #8d663c !important;
  font-family: "Cormorant Garamond", "Hiragino Mincho ProN", serif !important;
  font-size: 0.66rem !important;
  line-height: 1 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.42) !important;
}

body.home-body .boutique-hero-links a::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  top: 4px !important;
  width: 22px !important;
  height: 1px !important;
  background: rgba(176, 131, 77, 0.56) !important;
}

body.home-body .boutique-index {
  height: auto !important;
  min-height: 126px !important;
  padding: 19px 46px 22px !important;
  background: #fbf8f2 !important;
}

body.home-body .boutique-index .boutique-index-link {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 48px !important;
  min-height: 30px !important;
  padding: 0 !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.32) !important;
}

body.home-body .boutique-index .boutique-index-link::after {
  content: "" !important;
  display: block !important;
  justify-self: end !important;
  align-self: center !important;
  width: 40px !important;
  height: 1px !important;
  background: rgba(176, 131, 77, 0.46) !important;
}

body.home-body .boutique-index-thumb {
  display: none !important;
}

body.home-body .boutique-index-text {
  position: static !important;
  width: auto !important;
}

body.home-body .boutique-index-text strong {
  font-size: 0.56rem !important;
}

body.home-body .boutique-index-text small {
  font-size: 0.28rem !important;
}

body.home-body .boutique-concept {
  height: 252px !important;
  min-height: 252px !important;
  background: #fbf8f2 !important;
}

body.home-body .boutique-concept-copy {
  left: 47px !important;
  top: 82px !important;
  width: 154px !important;
}

body.home-body .boutique-concept-copy h2 {
  width: 154px !important;
  max-width: 154px !important;
  font-size: 1rem !important;
  line-height: 1.78 !important;
}

body.home-body .boutique-concept-copy p {
  width: 144px !important;
  max-width: 144px !important;
  font-size: 0.36rem !important;
  line-height: 1.86 !important;
}

body.home-body .boutique-concept-photo {
  right: 0 !important;
  top: 54px !important;
  width: 190px !important;
  height: 158px !important;
}

body.home-body .boutique-concept-photo img {
  object-fit: cover !important;
  object-position: 52% 50% !important;
}

body.home-body .treatment-spotlight {
  height: 196px !important;
  min-height: 196px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(78, 91, 76, 0.78), rgba(78, 91, 76, 0.9)),
    url("./assets/photos/ref15-treatment-onepiece.webp") 42% 54% / cover no-repeat !important;
}

body.home-body .treatment-spotlight::before,
body.home-body .treatment-spotlight::after {
  display: none !important;
  content: none !important;
}

body.home-body .treatment-spotlight-copy {
  left: 0 !important;
  right: 0 !important;
  top: 28px !important;
  width: 100% !important;
  max-width: none !important;
  text-align: center !important;
  transform: none !important;
}

body.home-body .treatment-spotlight-kicker,
body.home-body .treatment-spotlight-title,
body.home-body .treatment-spotlight-lead {
  text-align: center !important;
}

body.home-body .treatment-spotlight-title {
  font-size: 1.04rem !important;
  line-height: 1.35 !important;
}

body.home-body .treatment-spotlight-title span {
  margin-left: 8px !important;
  font-size: 0.48rem !important;
}

body.home-body .treatment-spotlight-lead {
  width: 230px !important;
  max-width: 230px !important;
  margin: 8px auto 0 !important;
  font-size: 0.35rem !important;
  line-height: 1.72 !important;
}

body.home-body .treatment-spotlight-link {
  justify-content: center !important;
  margin: 11px auto 0 !important;
}

body.home-body .treatment-spotlight-lines {
  left: 46px !important;
  right: 46px !important;
  bottom: 18px !important;
}

body.home-body .boutique-access {
  height: 178px !important;
  min-height: 178px !important;
  background: #fbf8f2 !important;
}

body.home-body .boutique-access-copy {
  left: 47px !important;
  top: 28px !important;
  width: 148px !important;
  max-width: 148px !important;
}

body.home-body .boutique-access h2 {
  width: 148px !important;
  max-width: 148px !important;
  font-size: 0.74rem !important;
  line-height: 1.7 !important;
}

body.home-body .boutique-access p:not(.boutique-kicker) {
  width: 142px !important;
  max-width: 142px !important;
  font-size: 0.32rem !important;
  line-height: 1.78 !important;
}

body.home-body .boutique-access-photo {
  left: 212px !important;
  top: 25px !important;
  width: 152px !important;
  height: 122px !important;
  overflow: hidden !important;
}

body.home-body .boutique-access-photo::before,
body.home-body .boutique-access-photo::after {
  display: none !important;
  content: none !important;
}

body.home-body .boutique-access-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 48% 52% !important;
  filter: saturate(0.84) brightness(1.03) contrast(0.94) !important;
}

body.home-body .boutique-column-section {
  padding: 33px 46px 30px !important;
  background:
    linear-gradient(180deg, #fbf8f2 0%, #f8f2eb 100%) !important;
}

body.home-body .boutique-column-head p:not(.boutique-kicker) {
  width: 246px !important;
  max-width: 246px !important;
  font-size: 0.46rem !important;
}

body.home-body .boutique-column-row {
  grid-template-columns: 34px minmax(0, 1fr) 44px !important;
  min-height: 66px !important;
}

body.home-body .boutique-reserve {
  height: 172px !important;
  min-height: 172px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(251, 248, 242, 0.92), rgba(251, 248, 242, 0.62)),
    url("./assets/photos/home-reserve-cta-v2.webp") right bottom / 78% auto no-repeat !important;
  border-top: 1px solid rgba(176, 131, 77, 0.18) !important;
}

body.home-body .boutique-reserve-calendar {
  display: none !important;
}

body.home-body .boutique-reserve-copy {
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 28px !important;
  width: 250px !important;
  max-width: 250px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

body.home-body .boutique-reserve h2 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  font-size: 1.06rem !important;
  line-height: 1.2 !important;
}

body.home-body .boutique-reserve h2::before,
body.home-body .boutique-reserve h2::after {
  content: "" !important;
  width: 44px !important;
  height: 1px !important;
  background: rgba(176, 131, 77, 0.38) !important;
}

body.home-body .boutique-reserve-copy p:not(.boutique-kicker) {
  width: 226px !important;
  max-width: 226px !important;
  margin: 10px auto 14px !important;
  font-size: 0.36rem !important;
  line-height: 1.7 !important;
}

body.home-body .boutique-reserve-button {
  width: 148px !important;
  min-width: 148px !important;
  height: 38px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  color: #9a6f42 !important;
  background: rgba(251, 248, 242, 0.76) !important;
  border: 1px solid rgba(176, 131, 77, 0.58) !important;
  border-radius: 999px !important;
  font-size: 0.58rem !important;
}

@media (max-width: 374px) {
  body.home-body .boutique-hero-photo {
    left: 190px !important;
    width: 176px !important;
  }

  body.home-body .boutique-hero-copy,
  body.home-body .boutique-concept-copy,
  body.home-body .boutique-access-copy {
    left: 38px !important;
  }

  body.home-body .boutique-index,
  body.home-body .boutique-info-strip,
  body.home-body .boutique-column-section {
    padding-left: 38px !important;
    padding-right: 30px !important;
  }
}

/* TOP finish pass: loosen the homepage rhythm and keep all focal elements intentional. */
body.home-body .site-header {
  height: 72px !important;
}

body.home-body .nav-wrap {
  padding: 12px 46px 0 !important;
}

body.home-body .brand-copy-script strong {
  font-size: 2.26rem !important;
}

body.home-body .brand-copy-script small {
  margin-top: -9px !important;
  font-size: 0.5rem !important;
}

body.home-body .boutique-hero {
  height: 438px !important;
  min-height: 438px !important;
}

body.home-body .boutique-hero::before,
body.home-body .boutique-hero::after,
body.home-body .boutique-hero-photo::before,
body.home-body .boutique-hero-photo::after {
  display: none !important;
  content: none !important;
}

body.home-body .boutique-hero > .boutique-script-ghost {
  top: 104px !important;
  left: 42px !important;
  opacity: 1 !important;
}

body.home-body .boutique-hero-photo {
  top: 64px !important;
  left: 198px !important;
  width: 188px !important;
  height: 348px !important;
  border-radius: 118px 118px 0 0 !important;
}

body.home-body .boutique-hero-photo img {
  object-position: 50% 50% !important;
}

body.home-body .boutique-hero-copy {
  top: 188px !important;
  left: 47px !important;
  width: 148px !important;
  max-width: 148px !important;
}

body.home-body .boutique-hero h1 {
  width: 148px !important;
  max-width: 148px !important;
  font-size: 1.03rem !important;
  line-height: 1.62 !important;
  white-space: normal !important;
}

body.home-body .boutique-hero-copy p:last-of-type {
  width: 138px !important;
  max-width: 138px !important;
  font-size: 0.4rem !important;
  line-height: 1.86 !important;
}

body.home-body .boutique-hero-links {
  gap: 24px !important;
  margin-top: 16px !important;
}

body.home-body .boutique-hero-links a {
  min-width: 42px !important;
  padding-right: 28px !important;
  font-size: 0.58rem !important;
}

body.home-body .boutique-index {
  min-height: 154px !important;
  padding: 23px 46px 28px !important;
}

body.home-body .boutique-index .boutique-index-link {
  grid-template-columns: 42px minmax(0, 1fr) 44px !important;
  min-height: 31px !important;
}

body.home-body .boutique-concept {
  height: 282px !important;
  min-height: 282px !important;
}

body.home-body .boutique-concept-copy {
  top: 90px !important;
}

body.home-body .boutique-concept-photo {
  top: 62px !important;
  width: 190px !important;
  height: 172px !important;
}

body.home-body .treatment-spotlight {
  height: 208px !important;
  min-height: 208px !important;
  background:
    linear-gradient(90deg, rgba(74, 86, 72, 0.74), rgba(74, 86, 72, 0.9)),
    url("./assets/photos/ref15-treatment-onepiece.webp") 45% 53% / cover no-repeat !important;
}

body.home-body .treatment-spotlight-copy {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: 32px !important;
  width: 238px !important;
  max-width: 238px !important;
  transform: translateX(-50%) !important;
  align-items: center !important;
}

body.home-body .treatment-spotlight-title {
  font-size: 1.02rem !important;
  letter-spacing: 0 !important;
}

body.home-body .treatment-spotlight-lead {
  width: 220px !important;
  max-width: 220px !important;
  margin-top: 9px !important;
  font-size: 0.34rem !important;
}

body.home-body .treatment-spotlight-lines {
  left: 46px !important;
  right: 46px !important;
  bottom: 20px !important;
}

body.home-body .boutique-access {
  height: 198px !important;
  min-height: 198px !important;
}

body.home-body .boutique-access-copy {
  top: 34px !important;
}

body.home-body .boutique-access-photo {
  left: 214px !important;
  top: 34px !important;
  width: 150px !important;
  height: 130px !important;
}

body.home-body .boutique-info-strip {
  padding: 30px 46px 32px !important;
}

body.home-body .boutique-info-strip div {
  padding: 14px 0 15px !important;
}

body.home-body .boutique-column-section {
  padding-top: 40px !important;
  padding-bottom: 36px !important;
}

body.home-body .boutique-column-head h2 {
  margin-top: 5px !important;
}

body.home-body .boutique-column-list {
  margin-top: 22px !important;
}

body.home-body .boutique-guide-links a {
  min-height: 102px !important;
  padding: 24px 36px !important;
}

body.home-body .boutique-reserve {
  height: 186px !important;
  min-height: 186px !important;
  background:
    linear-gradient(90deg, rgba(251, 248, 242, 0.95), rgba(251, 248, 242, 0.68)),
    url("./assets/photos/home-reserve-cta-v2.webp") right bottom / 72% auto no-repeat !important;
}

body.home-body .boutique-reserve-copy {
  top: 32px !important;
}

body.home-body .boutique-reserve-button {
  width: 136px !important;
  min-width: 136px !important;
  height: 34px !important;
  font-size: 0.54rem !important;
}

@media (max-width: 374px) {
  body.home-body .boutique-hero-photo {
    left: 188px !important;
    width: 174px !important;
  }

  body.home-body .boutique-hero-copy {
    left: 38px !important;
  }
}

/* Fix lower guide links after replacing First Visit with Column. */
body.home-body .boutique-guide-links {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  height: 96px !important;
  min-height: 96px !important;
  padding: 0 46px !important;
  overflow: hidden !important;
  border-top: 1px solid rgba(176, 131, 77, 0.24) !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.2) !important;
  background: #fbf8f2 !important;
}

body.home-body .boutique-guide-links a {
  position: relative !important;
  display: flex !important;
  min-height: 96px !important;
  height: 96px !important;
  padding: 0 28px 0 0 !important;
  color: #2f2923 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  gap: 6px !important;
  text-decoration: none !important;
}

body.home-body .boutique-guide-links a:first-child {
  padding-right: 26px !important;
  border-right: 1px solid rgba(176, 131, 77, 0.24) !important;
}

body.home-body .boutique-guide-links a:last-child {
  padding-left: 26px !important;
  padding-right: 0 !important;
}

body.home-body .boutique-guide-links a::after {
  content: "" !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  width: 22px !important;
  height: 1px !important;
  background: rgba(176, 131, 77, 0.52) !important;
  transform: translateY(-50%) !important;
}

body.home-body .boutique-guide-links a:last-child::after {
  right: 0 !important;
}

body.home-body .boutique-guide-links span,
body.home-body .boutique-guide-links strong,
body.home-body .boutique-guide-links small {
  position: static !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  transform: none !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body.home-body .boutique-guide-links span::before,
body.home-body .boutique-guide-links strong::before {
  display: none !important;
  content: none !important;
}

body.home-body .boutique-guide-links span {
  color: #a77945 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 0.54rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body.home-body .boutique-guide-links strong {
  color: #302b26 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}

body.home-body .boutique-guide-links small {
  color: #7c7062 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.34rem !important;
  line-height: 1.55 !important;
}

@media (max-width: 374px) {
  body.home-body .boutique-guide-links {
    padding-left: 38px !important;
    padding-right: 30px !important;
  }

  body.home-body .boutique-guide-links a:first-child {
    padding-right: 20px !important;
  }

  body.home-body .boutique-guide-links a:last-child {
    padding-left: 20px !important;
  }

  body.home-body .boutique-guide-links small {
    font-size: 0.31rem !important;
    line-height: 1.45 !important;
  }
}

/* Final containment pass: remove conflicting center/side positioning in the treatment rows. */
body.home-body .treatment-spotlight-lines {
  left: 46px !important;
  right: 46px !important;
  width: auto !important;
  max-width: none !important;
  transform: none !important;
}

body.home-body .treatment-spotlight-lines a {
  grid-template-columns: 34px minmax(0, 1fr) 78px !important;
}

body.home-body .treatment-spotlight-lines span,
body.home-body .treatment-spotlight-lines strong,
body.home-body .treatment-spotlight-lines small {
  min-width: 0 !important;
}

@media (max-width: 374px) {
  body.home-body .treatment-spotlight-lines {
    left: 34px !important;
    right: 34px !important;
  }

  body.home-body .treatment-spotlight-lines a {
    grid-template-columns: 30px minmax(0, 1fr) 68px !important;
  }
}

/* TOP CTA alignment pass: keep Japanese reserve labels on the same optical grid. */
body.home-body .site-nav .nav-cta {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.72rem !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 1 !important;
}

body.home-body .boutique-hero-links {
  display: grid !important;
  grid-template-columns: 76px 48px !important;
  column-gap: 20px !important;
  align-items: start !important;
  width: 144px !important;
  height: 20px !important;
  min-height: 20px !important;
  margin-top: 16px !important;
}

body.home-body .boutique-hero-links a {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 20px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 20px !important;
  min-height: 20px !important;
  padding: 0 0 7px !important;
  box-sizing: border-box !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.home-body .boutique-hero-links a:first-child {
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.54rem !important;
  font-style: normal !important;
  font-weight: 500 !important;
}

body.home-body .boutique-hero-links a:last-child {
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 0.58rem !important;
  font-style: normal !important;
  font-weight: 500 !important;
}

body.home-body .boutique-hero-links a::after {
  top: 4px !important;
  width: 18px !important;
}

body.home-body .boutique-reserve-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

/* Final cleanup: use the real HTML labels instead of old pseudo text. */
body.home-body .footer-links a::before,
body.home-body .boutique-guide-links span::before,
body.home-body .boutique-guide-links strong::before {
  display: none !important;
  content: none !important;
}

body.home-body .footer-links a {
  display: inline-block !important;
  color: #6c6258 !important;
  font-family: "Cormorant Garamond", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-size: 0.48rem !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

body.home-body .footer-links a:nth-child(n + 6) {
  display: none !important;
}

/* Latest reference implementation: boutique HP top with column and access emphasis. */
body.home-body .boutique-main {
  background: #fbf8f2 !important;
}

body.home-body .boutique-hero {
  height: 452px !important;
  min-height: 452px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 24% 24%, rgba(173, 129, 71, 0.07), transparent 36%),
    linear-gradient(180deg, #fbf8f2 0%, #f9f4ee 100%) !important;
}

body.home-body .boutique-hero > .boutique-script-ghost {
  top: 96px !important;
  left: 42px !important;
  width: 252px !important;
  color: rgba(174, 134, 80, 0.12) !important;
  font-size: 5.9rem !important;
  line-height: 0.72 !important;
}

body.home-body .boutique-hero-photo {
  top: 72px !important;
  left: 200px !important;
  width: 184px !important;
  height: 344px !important;
  border-radius: 116px 116px 0 0 !important;
  overflow: hidden !important;
}

body.home-body .boutique-hero-photo::before,
body.home-body .boutique-hero-photo::after {
  display: none !important;
  content: none !important;
}

body.home-body .boutique-hero-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  filter: saturate(0.86) brightness(1.04) contrast(0.94) !important;
}

body.home-body .boutique-hero-copy {
  top: 192px !important;
  left: 46px !important;
  width: 146px !important;
  max-width: 146px !important;
}

body.home-body .boutique-hero h1 {
  font-size: 1.01rem !important;
  line-height: 1.64 !important;
}

body.home-body .boutique-hero-copy p:not(.boutique-kicker) {
  width: 138px !important;
  max-width: 138px !important;
  margin-top: 13px !important;
}

body.home-body .boutique-index {
  min-height: 150px !important;
  padding: 21px 46px 25px !important;
}

body.home-body .boutique-index .boutique-index-link {
  min-height: 30px !important;
  grid-template-columns: 42px minmax(0, 1fr) 40px !important;
}

body.home-body .boutique-index-text small {
  letter-spacing: 0 !important;
  white-space: normal !important;
}

body.home-body .boutique-concept {
  height: 266px !important;
  min-height: 266px !important;
}

body.home-body .boutique-concept-copy {
  top: 84px !important;
}

body.home-body .boutique-concept-photo {
  top: 60px !important;
  right: 0 !important;
  width: 188px !important;
  height: 164px !important;
}

body.home-body .treatment-spotlight {
  height: 206px !important;
  min-height: 206px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(70, 82, 68, 0.76), rgba(70, 82, 68, 0.92)),
    url("./assets/photos/ref15-treatment-onepiece.webp") center 54% / cover no-repeat !important;
}

body.home-body .treatment-spotlight-copy {
  position: absolute !important;
  left: 50% !important;
  right: auto !important;
  top: 31px !important;
  width: 244px !important;
  max-width: 244px !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: center !important;
}

body.home-body .treatment-spotlight-kicker,
body.home-body .treatment-spotlight-title,
body.home-body .treatment-spotlight-lead,
body.home-body .treatment-spotlight-link {
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  justify-content: center !important;
}

body.home-body .treatment-spotlight-title {
  display: flex !important;
  justify-content: center !important;
  align-items: baseline !important;
  gap: 8px !important;
  font-size: 1.02rem !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
}

body.home-body .treatment-spotlight-title span {
  margin-left: 0 !important;
}

body.home-body .treatment-spotlight-lead {
  width: 226px !important;
  max-width: 226px !important;
  margin: 8px auto 0 !important;
}

body.home-body .treatment-spotlight-link {
  margin: 10px auto 0 !important;
}

body.home-body .treatment-spotlight-lines {
  left: 46px !important;
  right: 46px !important;
  bottom: 18px !important;
  width: auto !important;
  transform: none !important;
}

body.home-body .boutique-access {
  height: 190px !important;
  min-height: 190px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, #fbf8f2 0%, #fbf8f2 52%, rgba(251, 248, 242, 0.76) 100%),
    url("./assets/ui/access-route-map-v1.png") right 22px top 26px / 132px auto no-repeat !important;
  border-top: 1px solid rgba(176, 131, 77, 0.14) !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.12) !important;
}

body.home-body .boutique-access-copy {
  top: 31px !important;
  left: 46px !important;
  width: 160px !important;
  max-width: 160px !important;
}

body.home-body .boutique-access h2 {
  width: 160px !important;
  max-width: 160px !important;
  font-size: 0.88rem !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-access p:not(.boutique-kicker) {
  width: 154px !important;
  max-width: 154px !important;
  margin-top: 9px !important;
  font-size: 0.34rem !important;
  line-height: 1.72 !important;
}

body.home-body .boutique-access-photo {
  left: 222px !important;
  top: 44px !important;
  width: 132px !important;
  height: 104px !important;
  z-index: 2 !important;
}

body.home-body .boutique-access-photo img {
  object-position: 50% 52% !important;
}

body.home-body .boutique-info-strip {
  padding: 24px 46px 25px !important;
}

body.home-body .boutique-info-strip div {
  grid-template-columns: 92px minmax(0, 1fr) !important;
  padding: 12px 0 13px !important;
}

body.home-body .boutique-info-strip p {
  grid-column: 2 !important;
  width: auto !important;
  margin-top: 4px !important;
}

body.home-body .boutique-column-section {
  padding: 32px 46px 29px !important;
  background: linear-gradient(180deg, #fbf8f2 0%, #f8f1ea 100%) !important;
}

body.home-body .boutique-column-head {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  column-gap: 18px !important;
  align-items: end !important;
}

body.home-body .boutique-column-head .boutique-kicker {
  grid-column: 1 !important;
  margin: 0 !important;
}

body.home-body .boutique-column-head h2 {
  grid-column: 1 !important;
  margin: 7px 0 0 !important;
}

body.home-body .boutique-column-head p:not(.boutique-kicker) {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  font-size: 0.38rem !important;
  line-height: 1.7 !important;
}

body.home-body .boutique-column-list {
  margin-top: 20px !important;
}

body.home-body .boutique-column-row {
  grid-template-columns: 32px minmax(0, 1fr) 58px !important;
  min-height: 58px !important;
}

body.home-body .boutique-column-row strong {
  font-size: 0.52rem !important;
  line-height: 1.55 !important;
}

body.home-body .boutique-column-row small {
  font-size: 0.31rem !important;
}

body.home-body .boutique-guide-links {
  height: 92px !important;
  min-height: 92px !important;
}

body.home-body .boutique-guide-links a {
  height: 92px !important;
  min-height: 92px !important;
}

body.home-body .boutique-reserve {
  height: 180px !important;
  min-height: 180px !important;
  overflow: hidden !important;
  background:
    linear-gradient(90deg, rgba(251, 248, 242, 0.96), rgba(251, 248, 242, 0.72)),
    url("./assets/photos/home-reserve-cta-v2.webp") 54% 60% / 112% auto no-repeat !important;
}

body.home-body .boutique-reserve-copy {
  top: 31px !important;
}

body.home-body .boutique-reserve-button {
  width: 132px !important;
  min-width: 132px !important;
  height: 33px !important;
}

@media (max-width: 374px) {
  body.home-body .boutique-hero-photo {
    left: 188px !important;
    width: 174px !important;
  }

  body.home-body .boutique-access-photo {
    left: 212px !important;
    width: 124px !important;
  }

  body.home-body .boutique-column-head {
    grid-template-columns: 72px minmax(0, 1fr) !important;
  }
}

/* Reference completion pass: improve visual assets, spacing, and editorial rhythm. */
body.home-body .site-header {
  height: 70px !important;
  min-height: 70px !important;
}

body.home-body .nav-wrap {
  min-height: 70px !important;
  padding-top: 11px !important;
}

body.home-body .brand {
  left: 24px !important;
  top: 14px !important;
}

body.home-body .brand-copy-script strong {
  font-size: 2.36rem !important;
  line-height: 0.72 !important;
}

body.home-body .brand-copy-script small {
  margin-top: -7px !important;
  padding-left: 42px !important;
}

body.home-body .header-micro {
  top: 31px !important;
  right: 54px !important;
  font-size: 0.46rem !important;
}

body.home-body .menu-toggle {
  top: 26px !important;
  right: 19px !important;
}

body.home-body .boutique-hero {
  height: 482px !important;
  min-height: 482px !important;
}

body.home-body .boutique-hero > .boutique-script-ghost {
  top: 105px !important;
  left: 42px !important;
  width: 258px !important;
  color: rgba(174, 134, 80, 0.105) !important;
  font-size: 6.1rem !important;
}

body.home-body .boutique-hero-photo {
  top: 76px !important;
  left: 190px !important;
  width: 196px !important;
  height: 360px !important;
  border-radius: 126px 126px 0 0 !important;
}

body.home-body .boutique-hero-photo img {
  object-position: 50% 55% !important;
  filter: saturate(0.9) brightness(1.03) contrast(0.95) !important;
}

body.home-body .boutique-hero-copy {
  top: 204px !important;
  left: 46px !important;
  width: 138px !important;
  max-width: 138px !important;
}

body.home-body .boutique-hero h1 {
  width: 138px !important;
  max-width: 138px !important;
  font-size: 1.02rem !important;
  line-height: 1.66 !important;
}

body.home-body .boutique-hero-copy p:not(.boutique-kicker) {
  width: 134px !important;
  max-width: 134px !important;
  margin-top: 14px !important;
  font-size: 0.39rem !important;
  line-height: 1.9 !important;
}

body.home-body .boutique-hero-links {
  margin-top: 18px !important;
}

body.home-body .boutique-index {
  min-height: 168px !important;
  padding: 27px 46px 31px !important;
}

body.home-body .boutique-index .boutique-index-link {
  min-height: 32px !important;
}

body.home-body .boutique-concept {
  height: 292px !important;
  min-height: 292px !important;
}

body.home-body .boutique-concept-copy {
  top: 96px !important;
}

body.home-body .boutique-concept-photo {
  top: 70px !important;
  right: 4px !important;
  width: 184px !important;
  height: 172px !important;
}

body.home-body .treatment-spotlight {
  height: 222px !important;
  min-height: 222px !important;
  background:
    linear-gradient(90deg, rgba(69, 82, 66, 0.36) 0%, rgba(69, 82, 66, 0.1) 34%, rgba(69, 82, 66, 0.52) 100%),
    url("./assets/photos/ref15-treatment-onepiece.webp") center 54% / cover no-repeat !important;
}

body.home-body .treatment-spotlight-copy {
  top: 41px !important;
  width: 254px !important;
  max-width: 254px !important;
}

body.home-body .treatment-spotlight-kicker {
  font-size: 0.42rem !important;
  opacity: 0.86 !important;
}

body.home-body .treatment-spotlight-title {
  font-size: 1.08rem !important;
  line-height: 1.24 !important;
  color: #fffdf7 !important;
  text-shadow: 0 1px 14px rgba(36, 45, 34, 0.2) !important;
}

body.home-body .treatment-spotlight-title span {
  font-size: 0.45rem !important;
}

body.home-body .treatment-spotlight-lead {
  width: 236px !important;
  max-width: 236px !important;
  margin-top: 10px !important;
  color: rgba(255, 253, 247, 0.86) !important;
}

body.home-body .treatment-spotlight-link {
  margin-top: 11px !important;
  color: #fffdf7 !important;
}

body.home-body .treatment-spotlight-lines {
  left: 46px !important;
  right: 46px !important;
  bottom: 20px !important;
}

body.home-body .boutique-access {
  height: 236px !important;
  min-height: 236px !important;
  background:
    linear-gradient(90deg, #fbf8f2 0%, #fbf8f2 48%, rgba(251, 248, 242, 0.78) 78%, rgba(251, 248, 242, 0.96) 100%),
    url("./assets/ui/access-route-map-v1.png") right 20px top 29px / 136px auto no-repeat !important;
}

body.home-body .boutique-access-copy {
  top: 35px !important;
  left: 46px !important;
  width: 164px !important;
  max-width: 164px !important;
}

body.home-body .boutique-access h2 {
  width: 164px !important;
  max-width: 164px !important;
  font-size: 0.94rem !important;
  line-height: 1.48 !important;
}

body.home-body .boutique-access p:not(.boutique-kicker) {
  width: 158px !important;
  max-width: 158px !important;
  margin-top: 10px !important;
  font-size: 0.34rem !important;
  line-height: 1.75 !important;
}

body.home-body .boutique-access-points {
  display: flex !important;
  width: 164px !important;
  margin-top: 12px !important;
  gap: 8px !important;
}

body.home-body .boutique-access-points span {
  display: inline-flex !important;
  min-width: 0 !important;
  align-items: center !important;
  gap: 4px !important;
  color: #7d6956 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.33rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.home-body .boutique-access-points img {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  object-fit: contain !important;
  opacity: 0.78 !important;
}

body.home-body .boutique-access .boutique-inline-link {
  margin-top: 14px !important;
}

body.home-body .boutique-access-photo {
  left: 224px !important;
  top: 38px !important;
  width: 136px !important;
  height: 150px !important;
  box-shadow: 0 18px 38px rgba(83, 66, 47, 0.1) !important;
}

body.home-body .boutique-access-photo img {
  object-position: 50% 58% !important;
  filter: saturate(0.84) brightness(1.03) contrast(0.94) !important;
}

body.home-body .boutique-info-strip {
  padding: 30px 46px 32px !important;
}

body.home-body .boutique-info-strip div {
  grid-template-columns: 84px minmax(0, 1fr) !important;
  padding: 14px 0 15px !important;
}

body.home-body .boutique-column-section {
  padding: 42px 46px 36px !important;
}

body.home-body .boutique-column-head {
  grid-template-columns: 86px minmax(0, 1fr) !important;
  column-gap: 18px !important;
}

body.home-body .boutique-column-head p:not(.boutique-kicker) {
  font-size: 0.39rem !important;
  line-height: 1.82 !important;
}

body.home-body .boutique-column-feature {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto !important;
  column-gap: 19px !important;
  min-height: 154px !important;
  margin-top: 24px !important;
  padding: 0 0 22px !important;
  color: #302b26 !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.24) !important;
  text-decoration: none !important;
}

body.home-body .boutique-column-feature img {
  grid-row: 1 / 5 !important;
  display: block !important;
  width: 104px !important;
  height: 146px !important;
  object-fit: cover !important;
  object-position: 50% 52% !important;
  filter: saturate(0.86) brightness(1.03) contrast(0.94) !important;
}

body.home-body .boutique-column-feature span {
  display: block !important;
  color: #b0834d !important;
  font-family: "Cormorant Garamond", serif !important;
  font-size: 0.43rem !important;
  line-height: 1 !important;
  letter-spacing: 0.08em !important;
}

body.home-body .boutique-column-feature strong {
  display: block !important;
  margin-top: 5px !important;
  color: #302b26 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.64rem !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}

body.home-body .boutique-column-feature small {
  display: block !important;
  margin-top: 8px !important;
  color: #7c7062 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.34rem !important;
  line-height: 1.68 !important;
}

body.home-body .boutique-column-feature b {
  display: block !important;
  margin-top: 8px !important;
  color: #b0834d !important;
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 1.28rem !important;
  font-style: normal !important;
  font-weight: 500 !important;
  line-height: 0.9 !important;
  letter-spacing: 0 !important;
}

body.home-body .boutique-column-list {
  margin-top: 0 !important;
}

body.home-body .boutique-column-row {
  grid-template-columns: 32px minmax(0, 1fr) 58px !important;
  min-height: 64px !important;
}

body.home-body .boutique-column-more {
  margin-top: 18px !important;
}

body.home-body .boutique-guide-links {
  height: 106px !important;
  min-height: 106px !important;
}

body.home-body .boutique-guide-links a {
  height: 106px !important;
  min-height: 106px !important;
}

body.home-body .boutique-reserve {
  height: 214px !important;
  min-height: 214px !important;
  background:
    linear-gradient(90deg, rgba(251, 248, 242, 0.98) 0%, rgba(251, 248, 242, 0.82) 44%, rgba(251, 248, 242, 0.5) 100%),
    url("./assets/photos/ref17-reserve-background.webp") 50% 55% / cover no-repeat !important;
}

body.home-body .boutique-reserve-calendar {
  display: none !important;
  content: none !important;
}

body.home-body .boutique-reserve > .boutique-script-ghost {
  right: 28px !important;
  bottom: 18px !important;
  color: rgba(174, 134, 80, 0.14) !important;
  font-size: 5.2rem !important;
}

body.home-body .boutique-reserve-copy {
  top: 38px !important;
  left: 50% !important;
  width: 244px !important;
  max-width: 244px !important;
  text-align: center !important;
  transform: translateX(-50%) !important;
}

body.home-body .boutique-reserve-copy .boutique-kicker,
body.home-body .boutique-reserve h2,
body.home-body .boutique-reserve-copy p:not(.boutique-kicker) {
  text-align: center !important;
}

body.home-body .boutique-reserve-copy p:not(.boutique-kicker) {
  width: 214px !important;
  max-width: 214px !important;
  margin: 8px auto 0 !important;
}

body.home-body .boutique-reserve-button {
  width: 128px !important;
  min-width: 128px !important;
  height: 34px !important;
  margin-top: 17px !important;
}

@media (max-width: 374px) {
  body.home-body .boutique-hero-photo {
    left: 184px !important;
    width: 184px !important;
  }

  body.home-body .boutique-hero-copy {
    left: 38px !important;
  }

  body.home-body .boutique-access-photo {
    left: 214px !important;
    width: 126px !important;
  }

  body.home-body .boutique-column-feature {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    column-gap: 16px !important;
  }

  body.home-body .boutique-column-feature img {
    width: 96px !important;
  }
}

/* Final reference tune: lighter index copy, stronger hero image, quieter CTA. */
body.home-body .boutique-hero-photo {
  top: 72px !important;
  left: 184px !important;
  width: 202px !important;
  height: 372px !important;
  border-radius: 132px 132px 0 0 !important;
}

body.home-body .boutique-hero-photo img {
  object-position: 50% 56% !important;
}

body.home-body .boutique-hero-copy {
  top: 214px !important;
}

body.home-body .boutique-index {
  min-height: 158px !important;
  padding-top: 24px !important;
  padding-bottom: 27px !important;
}

body.home-body .boutique-index-text small {
  color: rgba(83, 74, 64, 0.52) !important;
  font-size: 0.28rem !important;
  line-height: 1.35 !important;
}

body.home-body .boutique-access p:not(.boutique-kicker) {
  line-height: 1.82 !important;
}

body.home-body .boutique-reserve {
  height: 208px !important;
  min-height: 208px !important;
  background:
    linear-gradient(90deg, rgba(251, 248, 242, 0.98) 0%, rgba(251, 248, 242, 0.9) 39%, rgba(251, 248, 242, 0.52) 100%),
    url("./assets/photos/ref17-reserve-background.webp") 48% 55% / cover no-repeat !important;
}

body.home-body .boutique-reserve-copy {
  top: 35px !important;
}

body.home-body .boutique-reserve-copy p:not(.boutique-kicker) {
  color: rgba(69, 61, 52, 0.64) !important;
  font-size: 0.34rem !important;
  line-height: 1.7 !important;
}

body.home-body .boutique-reserve-button {
  width: 122px !important;
  min-width: 122px !important;
  height: 32px !important;
}

@media (max-width: 374px) {
  body.home-body .boutique-hero-photo {
    left: 180px !important;
    width: 188px !important;
  }
}

/* Poster-grade TOP finish: closer to the saved reference image. */
body.home-body .brand {
  top: 8px !important;
  width: 132px !important;
  height: 72px !important;
}

body.home-body .brand-logo-img {
  width: 132px !important;
  height: auto !important;
  opacity: 0.9 !important;
  filter: saturate(0.82) brightness(1.08) contrast(0.82) !important;
}

body.home-body .header-micro {
  top: 35px !important;
  right: 55px !important;
  color: rgba(47, 42, 37, 0.72) !important;
}

body.home-body .menu-toggle {
  top: 30px !important;
}

body.home-body .boutique-hero {
  height: 500px !important;
  min-height: 500px !important;
}

body.home-body .boutique-hero > .boutique-script-ghost {
  top: 112px !important;
  left: 42px !important;
  font-size: 6.35rem !important;
  color: rgba(174, 134, 80, 0.095) !important;
}

body.home-body .boutique-hero-photo {
  top: 82px !important;
  left: 190px !important;
  width: 192px !important;
  height: 356px !important;
  border-radius: 128px 128px 0 0 !important;
}

body.home-body .boutique-hero-photo img {
  object-position: 49% 58% !important;
  filter: saturate(0.84) brightness(1.05) contrast(0.92) !important;
}

body.home-body .boutique-hero-copy {
  top: 224px !important;
  left: 46px !important;
  width: 136px !important;
  max-width: 136px !important;
}

body.home-body .boutique-hero h1 {
  font-size: 0.98rem !important;
  line-height: 1.72 !important;
}

body.home-body .boutique-hero-copy p:not(.boutique-kicker) {
  margin-top: 15px !important;
  font-size: 0.36rem !important;
  line-height: 1.98 !important;
}

body.home-body .boutique-index {
  min-height: 142px !important;
  padding: 22px 46px 24px !important;
}

body.home-body .boutique-index .boutique-index-link {
  min-height: 27px !important;
  grid-template-columns: 44px minmax(0, 1fr) 42px !important;
}

body.home-body .boutique-index-text strong {
  font-size: 0.55rem !important;
}

body.home-body .boutique-index-text small {
  display: none !important;
}

body.home-body .boutique-concept {
  height: 314px !important;
  min-height: 314px !important;
}

body.home-body .boutique-section-label {
  top: 72px !important;
}

body.home-body .boutique-concept-copy {
  top: 104px !important;
}

body.home-body .boutique-concept-copy h2 {
  font-size: 1.02rem !important;
  line-height: 1.84 !important;
}

body.home-body .boutique-concept-copy p {
  margin-top: 15px !important;
  font-size: 0.34rem !important;
  line-height: 1.86 !important;
}

body.home-body .boutique-concept-photo {
  top: 80px !important;
  right: 0 !important;
  width: 174px !important;
  height: 160px !important;
}

body.home-body .treatment-spotlight {
  height: 226px !important;
  min-height: 226px !important;
  background:
    linear-gradient(90deg, rgba(76, 88, 72, 0.5) 0%, rgba(76, 88, 72, 0.28) 36%, rgba(76, 88, 72, 0.68) 100%),
    url("./assets/photos/ref15-treatment-onepiece.webp") 50% 54% / cover no-repeat !important;
}

body.home-body .treatment-spotlight-copy {
  top: 42px !important;
  width: 250px !important;
  max-width: 250px !important;
}

body.home-body .treatment-spotlight-title {
  font-size: 1.05rem !important;
}

body.home-body .treatment-spotlight-lead {
  width: 218px !important;
  max-width: 218px !important;
  font-size: 0.32rem !important;
}

body.home-body .treatment-spotlight-lines {
  bottom: 19px !important;
}

body.home-body .boutique-access {
  height: 232px !important;
  min-height: 232px !important;
  background:
    linear-gradient(90deg, #fbf8f2 0%, #fbf8f2 47%, rgba(251, 248, 242, 0.7) 72%, rgba(251, 248, 242, 0.96) 100%),
    url("./assets/ui/access-route-map-v1.png") right 18px top 28px / 144px auto no-repeat !important;
}

body.home-body .boutique-access h2 {
  font-size: 0.98rem !important;
}

body.home-body .boutique-access-photo {
  left: 218px !important;
  top: 34px !important;
  width: 142px !important;
  height: 156px !important;
}

body.home-body .boutique-access-photo img {
  object-position: 49% 57% !important;
}

body.home-body .boutique-info-strip {
  padding-top: 28px !important;
  padding-bottom: 30px !important;
}

body.home-body .boutique-column-section {
  padding: 40px 46px 34px !important;
}

body.home-body .boutique-column-head {
  display: block !important;
}

body.home-body .boutique-column-head p:not(.boutique-kicker) {
  width: 244px !important;
  max-width: 244px !important;
  margin-top: 14px !important;
  font-size: 0.38rem !important;
  line-height: 1.8 !important;
}

body.home-body .boutique-column-articles {
  display: grid !important;
  margin-top: 24px !important;
  gap: 0 !important;
}

body.home-body .boutique-column-article {
  display: grid !important;
  grid-template-columns: 86px 39px minmax(0, 1fr) !important;
  min-height: 104px !important;
  padding: 0 0 20px !important;
  margin: 0 0 20px !important;
  column-gap: 14px !important;
  align-items: start !important;
  color: #302b26 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(176, 131, 77, 0.22) !important;
}

body.home-body .boutique-column-article img {
  display: block !important;
  width: 86px !important;
  height: 86px !important;
  object-fit: cover !important;
  object-position: 50% 50% !important;
  filter: saturate(0.88) brightness(1.03) contrast(0.94) !important;
}

body.home-body .boutique-column-number {
  display: block !important;
  color: #b0834d !important;
  font-family: "Cormorant Garamond", "Times New Roman", serif !important;
  font-size: 1.28rem !important;
  font-weight: 500 !important;
  line-height: 0.9 !important;
}

body.home-body .boutique-column-article div {
  min-width: 0 !important;
}

body.home-body .boutique-column-article small {
  display: block !important;
  color: #8c7c6b !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.32rem !important;
  line-height: 1 !important;
}

body.home-body .boutique-column-article strong {
  display: block !important;
  margin-top: 8px !important;
  color: #302b26 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.52rem !important;
  font-weight: 500 !important;
  line-height: 1.68 !important;
}

body.home-body .boutique-column-article p {
  margin: 7px 0 0 !important;
  color: #7c7062 !important;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Noto Serif JP", serif !important;
  font-size: 0.31rem !important;
  line-height: 1.62 !important;
}

body.home-body .boutique-column-feature,
body.home-body .boutique-column-list {
  display: none !important;
}

body.home-body .boutique-column-more {
  margin-top: 4px !important;
}

body.home-body .boutique-reserve {
  height: 218px !important;
  min-height: 218px !important;
  background:
    linear-gradient(90deg, rgba(251, 248, 242, 0.98) 0%, rgba(251, 248, 242, 0.84) 42%, rgba(251, 248, 242, 0.38) 100%),
    url("./assets/photos/ref17-reserve-background.webp") 48% 55% / cover no-repeat !important;
}

body.home-body .boutique-reserve-copy {
  top: 39px !important;
}

@media (max-width: 374px) {
  body.home-body .brand {
    width: 124px !important;
  }

  body.home-body .brand-logo-img {
    width: 124px !important;
  }

  body.home-body .boutique-hero-photo {
    left: 184px !important;
    width: 180px !important;
  }

  body.home-body .boutique-column-article {
    grid-template-columns: 78px 34px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  body.home-body .boutique-column-article img {
    width: 78px !important;
    height: 78px !important;
  }
}
