/* Quiet, photographic openings for the inner pages. */
.inner-hero { position: relative; isolation: isolate; overflow: hidden; background: #f3e7eb; border-bottom: 1px solid #e8d3dd; margin-bottom: 54px; }
.inner-hero-art { position: absolute; inset: 0 0 0 47%; display: flex; overflow: hidden; }
.inner-hero-art::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #f3e7eb 0%, #f3e7eb8c 10%, transparent 35%), linear-gradient(0deg, #40233124, transparent 40%); pointer-events: none; }
.inner-hero-photo { flex: 1; min-width: 0; overflow: hidden; }
.inner-hero-photo img { width: 100%; height: 100%; object-fit: cover; object-position: var(--photo-focus, 50% 50%); animation: inner-photo-arrive 1.25s ease-out both; }
.inner-hero-content { position: relative; display: flex; align-items: center; min-height: 450px; padding-block: 58px; }
.inner-hero-copy { width: 48%; max-width: 650px; }
.salon-site .inner-hero .eyebrow { color: #98516e; font-size: 9px; letter-spacing: .16em; line-height: 1.9; }
.salon-site .inner-hero h1 { font-family: var(--serif); color: #402331; font-size: clamp(54px, 5.4vw, 80px); line-height: 1.05; letter-spacing: -.045em; margin-block: 20px; overflow-wrap: break-word; }
.salon-site .inner-hero h1 em { color: #a84e74; }
.salon-site .inner-hero p { max-width: 460px; font-size: 14px; line-height: 1.85; color: #775768; }
.inner-hero-rule { display: block; width: 65px; height: 1px; margin-top: 29px; background: #b96e8e; }
.inner-hero-caption { position: absolute; right: max(56px, calc((100vw - 1320px) / 2)); bottom: 23px; display: flex; align-items: center; gap: 10px; padding: 10px 16px; color: #fff8fb; background: #402331e6; border: 1px solid #ffffff40; border-radius: 30px; font-size: 8px; letter-spacing: .11em; }
.inner-hero-caption .icon { width: 14px; height: 14px; color: #efb2ca; }
.inner-hero--mosaic .inner-hero-art { gap: 6px; background: #f3e7eb; }
.inner-hero--mosaic .inner-hero-photo:nth-child(2) img { object-position: 50% 48%; }
.inner-hero--mosaic .inner-hero-art::after { background: linear-gradient(90deg, #f3e7eb, #f3e7eb80 8%, transparent 27%); }
.inner-hero--compact .inner-hero-content { min-height: 310px; padding-block: 38px; }
.inner-hero--compact .inner-hero-copy { width: 52%; }
.salon-site .inner-hero--compact h1 { font-size: clamp(48px, 4.7vw, 68px); }
.inner-hero--compact .inner-hero-rule { display: none; }
.salon-site .inner-hero--service h1 { font-size: clamp(42px, 4.5vw, 67px); }
.page-search .inner-hero { margin-bottom: 0; }
.page-search .search-intro { padding-top: 32px; }
@keyframes inner-photo-arrive { from { opacity: .65; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
@media (min-width: 1700px) { .inner-hero-art { left: 50%; } }
@media (max-width: 1100px) {
  .inner-hero-content { min-height: 420px; padding-block: 45px; }
  .inner-hero-copy { width: 51%; }
  .salon-site .inner-hero h1 { font-size: clamp(48px, 6vw, 66px); }
  .salon-site .inner-hero--service h1 { font-size: clamp(39px, 4.7vw, 52px); }
  .inner-hero-caption { right: 36px; font-size: 7px; }
}
@media (max-width: 700px) {
  .inner-hero { display: flex; flex-direction: column; margin-bottom: 32px; }
  .inner-hero-art { position: relative; inset: auto; height: 230px; flex: 0 0 auto; }
  .inner-hero-art::after, .inner-hero--mosaic .inner-hero-art::after { background: linear-gradient(0deg, #f3e7eb, #f3e7eb22 28%, transparent 55%); }
  .inner-hero-content { min-height: 0; padding-block: 18px 32px; }
  .inner-hero-copy, .inner-hero--compact .inner-hero-copy { width: 100%; max-width: none; }
  .salon-site .inner-hero .eyebrow { font-size: 8px; letter-spacing: .12em; }
  .salon-site .inner-hero h1 { font-size: clamp(43px, 10vw, 59px); margin-block: 14px; }
  .salon-site .inner-hero p { font-size: 13px; max-width: 520px; }
  .inner-hero-rule { margin-top: 21px; width: 46px; }
  .inner-hero-caption { top: 15px; bottom: auto; right: 20px; font-size: 7px; padding: 8px 12px; }
  .inner-hero--compact .inner-hero-art { height: 170px; }
  .inner-hero--compact .inner-hero-content { min-height: 0; padding-block: 18px 28px; }
  .salon-site .inner-hero--compact h1 { font-size: clamp(40px, 9vw, 54px); }
  .inner-hero--service .inner-hero-art { height: 210px; }
  .salon-site .inner-hero--service h1 { font-size: clamp(37px, 8.5vw, 50px); }
  .page-search .inner-hero-art, .page-policy .inner-hero-art, .page-terms .inner-hero-art { height: 130px; }
  .page-search .search-intro { padding-top: 24px; }
}
@media (prefers-reduced-motion: reduce) { .inner-hero-photo img { animation: none; } }
.motion-paused .inner-hero-photo img { animation: none; }
