/* Inner pages share the approved night-gallery palette and typographic character. */
.inner-page { min-width: 0; overflow: clip; }
.inner-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; padding: 18px var(--gutter); color: var(--text-secondary); font: 400 var(--text-utility)/1.6 var(--body); border-top: 1px solid #c795591c; }
.inner-breadcrumb a { color: var(--accent-gold); }
.inner-breadcrumb a:hover { color: var(--text-primary); }
.inner-breadcrumb > span[aria-hidden] { opacity: .5; }
.inner-page h1, .inner-page h2, .inner-page h3 { letter-spacing: -.025em; }
.inner-page h1 { font-size: clamp(64px, calc(6.9 * var(--layout-vw)), 102px); line-height: .98; }
.inner-page h2 { font-size: clamp(40px, calc(4.2 * var(--layout-vw)), 64px); line-height: 1.06; }
.inner-page h3 { font-size: clamp(28px, calc(2.5 * var(--layout-vw)), 38px); line-height: 1.1; }
.inner-page em { color: var(--text-primary); font-style: italic; }
.inner-page :is(h1,h2,h3) em { font-style: normal; }
.inner-page p { color: var(--text-secondary); }
.inner-page .eyebrow { color: var(--accent-gold); }
.inner-page .lede { color: var(--text-primary); }
.inner-page .content-note { color: var(--text-secondary); font: 400 var(--text-utility)/1.75 var(--body); max-width: 760px; }
.inner-page .section { padding-block: clamp(62px, calc(6 * var(--layout-vw)), 98px); }
.inner-hero { position: relative; isolation: isolate; min-height: 600px; display: flex; align-items: center; padding: 68px var(--gutter) 80px; border-bottom: 1px solid #c7955940; }
.inner-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #0a0908 0%, #0a0908f2 25%, #0a0908b8 47%, #0a090830 78%, #0a090820); pointer-events: none; }
.inner-hero__copy { position: relative; z-index: 1; width: min(49%, 640px); min-width: 0; }
.inner-hero__copy h1 { margin-bottom: 26px; }
.inner-hero__copy > p:not(.eyebrow) { max-width: 500px; font-size: 18px; line-height: 1.55; }
.inner-hero__copy .lede { font-size: clamp(23px, calc(2.2 * var(--layout-vw)), 32px); line-height: 1.22; }
.inner-hero__copy .button { margin-top: 12px; }
.inner-hero__image { position: absolute; z-index: -2; inset: 0; overflow: hidden; margin: 0; }
.inner-hero__image img { width: 100%; height: 110%; max-width: none; object-fit: cover; object-position: 75% center; position: absolute; top: -5%; left: 0; }
.inner-hero__image figcaption { position: absolute; bottom: 20px; right: var(--gutter); left: 56%; z-index: 1; margin: 0; color: #e4d5c6; text-align: right; font: 400 var(--text-utility)/1.5 var(--body); }
/* Keep the caption above the photo scrim while the photograph stays behind it. */
.inner-hero--service .inner-hero__image { z-index: auto; pointer-events: none; }
.inner-hero--service .inner-hero__image img { z-index: -2; }
.inner-page--massage .inner-hero__image img { object-position: 66% center; }
.inner-page--palm .inner-hero__image img { object-position: 70% 44%; }
.inner-page--reiki .inner-hero__image img { object-position: 72% 48%; }
.inner-page--window .inner-hero { min-height: 650px; }
.inner-page--window .inner-hero__copy { width: min(51%, 700px); }
.inner-page--window .inner-hero__image img { object-position: 74% center; }
.inner-page .section-heading { display: flex; justify-content: space-between; align-items: end; gap: 60px; margin-bottom: 42px; }
.inner-page .section-heading h2 { margin-bottom: 0; }
.inner-page .section-heading > p { max-width: 390px; margin-bottom: 5px; font-size: 18px; }
.inner-page .service-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.inner-page .service-details > header { grid-column: 1/-1; display: grid; grid-template-columns: 1.25fr 1fr; align-items: end; gap: 10px calc(8 * var(--layout-vw)); padding-bottom: 18px; }
.inner-page .service-details > header .eyebrow { grid-column: 1/-1; margin-bottom: 5px; }
.inner-page .service-details > header h2 { margin-bottom: 0; }
.inner-page .service-details > header p:not(.eyebrow) { margin-bottom: 0; max-width: 450px; font-size: 18px; }
.inner-page .service-details > article { display: block; min-width: 0; border-top: 1px solid #c7955959; padding: 27px 0 0; }
.inner-page .service-details > article > span { display: none; }
.inner-page .service-details h3 { margin: 0 0 20px; max-width: 380px; }
.inner-page .service-details article p { margin-bottom: 0; font-size: 18px; line-height: 1.65; }
.inner-page .service-details article .text-link { margin-top: 14px; margin-right: 12px; }
.inner-page .service-details > .content-note { grid-column: 1/-1; margin: 12px 0 0; border-top: 1px solid #c7955926; padding-top: 22px; }
.inner-page .steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 38px; }
.inner-page .step { border-top: 1px solid #c7955959; padding-top: 24px; min-width: 0; }
.inner-page .step > span { display: block; color: var(--accent-gold); font: 400 var(--text-utility)/1.5 var(--body); letter-spacing: .12em; margin-bottom: 22px; text-transform: uppercase; }
.inner-page .step h3 { margin-bottom: 20px; }
.inner-page .step p { margin-bottom: 0; font-size: 18px; line-height: 1.65; }
.inner-page .wellbeing { background: #17100d; border-block: 1px solid #c7955926; }
.inner-page .split { display: grid; grid-template-columns: 1fr 1.05fr; gap: calc(8 * var(--layout-vw)); }
.inner-page .split > div { min-width: 0; }
.inner-page .split p:not(.eyebrow) { font-size: 18px; line-height: 1.65; }
.inner-page .split .lede { font-size: clamp(26px, calc(2.6 * var(--layout-vw)), 37px); line-height: 1.25; }
.inner-page .closing { border-top: 1px solid #c7955959; background: #100c09; }
.inner-page .closing h2 { max-width: 900px; margin-inline: auto; }
.inner-page .closing > p:not(.eyebrow) { max-width: 650px; margin-inline: auto; font-size: 19px; }
.inner-page .closing .content-note { font-size: var(--text-utility); margin-top: 28px; }
/* About is a portrait and a story, not a treatment page. */
.inner-hero--portrait { display: grid; grid-template-columns: 1fr .82fr; gap: calc(9 * var(--layout-vw)); min-height: 730px; padding-top: 50px; padding-bottom: 60px; }
.inner-hero--portrait::after { display: none; }
.inner-hero--portrait .inner-hero__copy { width: auto; max-width: 670px; }
.inner-hero--portrait .inner-hero__image { position: relative; z-index: 0; width: 100%; max-width: 470px; justify-self: end; align-self: stretch; min-height: 590px; border: 1px solid #c7955959; }
.inner-hero--portrait .inner-hero__image img { object-position: 55% center; height: 110%; top: -5%; }
.inner-hero--portrait .inner-hero__image figcaption { left: 18px; right: 18px; bottom: 16px; text-align: left; }
.inner-page .about-feature { display: grid; grid-template-columns: 1.2fr 1fr; gap: 10px calc(8 * var(--layout-vw)); background: #17100d; color: var(--text-primary); border-block: 1px solid #c7955926; }
.inner-page .about-feature .eyebrow { grid-column: 1/-1; margin-bottom: 10px; }
.inner-page .about-feature h2 { margin-bottom: 0; }
.inner-page .about-feature > p:not(.eyebrow) { font-size: 21px; line-height: 1.5; align-self: center; }
.inner-page .about-feature .signature { grid-column: 2; margin: 4px 0 0 auto; color: var(--accent-gold); }
/* The originals lead the art route, in their real proportions. */
.inner-art-intro { display: grid; grid-template-columns: .9fr 1.1fr; gap: calc(8 * var(--layout-vw)); align-items: center; border-bottom: 1px solid #c7955940; }
.inner-art-intro__copy { min-width: 0; }
.inner-art-intro__copy h1 { margin-bottom: 32px; }
.inner-art-intro__copy p:not(.eyebrow) { max-width: 460px; font-size: 19px; line-height: 1.55; }
.inner-art-intro__copy .lede { font-size: clamp(26px, calc(2.3 * var(--layout-vw)), 34px); line-height: 1.24; }
.inner-art-intro__signature { display: block; margin: 35px 45px 0 auto; width: fit-content; color: var(--accent-gold); }
.inner-art-intro__visual { min-width: 0; padding-inline: 28px; }
.inner-art-intro__visual .artwork { max-width: 480px; margin: auto; }
.inner-art-intro__visual .artwork img { width: 100%; height: auto; }
.inner-page .gallery-heading { display: flex; justify-content: space-between; gap: 50px; align-items: end; padding-bottom: 30px; border-bottom: 1px solid #c7955940; margin-bottom: 52px; }
.inner-page .gallery-heading h2 { margin-bottom: 0; }
.inner-page .gallery-heading > p { max-width: 390px; font-size: 18px; margin-bottom: 4px; }
.inner-page .gallery-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 76px 38px; align-items: start; }
.inner-page .artwork { min-width: 0; grid-column: span 2; margin: 0; }
.inner-page .artwork--large { grid-column: span 3; }
.inner-page .artwork--wide { grid-column: span 4; }
.inner-page .artwork:nth-child(3n + 2) { margin-top: 70px; }
.inner-page .artwork button { position: relative; display: block; width: 100%; border: 1px solid #c7955959; padding: 0; background: #120e0b; cursor: zoom-in; overflow: hidden; }
.inner-page .artwork button::after { content: '+'; position: absolute; right: 14px; bottom: 14px; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid var(--accent-gold); border-radius: 50%; background: #0a0908e6; color: var(--text-primary); font: 300 23px/1 var(--body); }
.inner-page .artwork img { width: 100%; height: auto; display: block; transition: transform 650ms var(--ease), filter 350ms ease; }
.inner-page .artwork-caption { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-bottom: 1px solid #c7955933; margin: 0; padding: 16px 0; color: var(--text-secondary); font: 400 var(--text-utility)/1.6 var(--body); }
.inner-page .artwork-caption h3 { margin: 0 0 5px; font: 400 14px/1.5 var(--display); color: var(--text-primary); letter-spacing: .01em; }
.inner-page .artwork-caption a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: var(--accent-gold); }
.inner-gallery-note { display: grid; grid-template-columns: 1fr 1fr; gap: calc(8 * var(--layout-vw)); margin-top: 70px; padding-top: 35px; border-top: 1px solid #c7955940; }
.inner-gallery-note .gallery-note { font: italic 35px/1.2 var(--display); color: var(--text-primary); margin: 0; }
.inner-gallery-note .content-note { margin: 0; }
.inner-art-inquiry { display: grid; grid-template-columns: 1.2fr 1fr; gap: calc(8 * var(--layout-vw)); border-top: 1px solid #c7955940; background: #17100d; }
.inner-art-inquiry > div { min-width: 0; }
.inner-art-inquiry h2 { margin-bottom: 0; }
.inner-art-inquiry > div > p:not(.eyebrow) { font-size: 19px; line-height: 1.6; }
.inner-art-inquiry .content-note { margin-top: 32px; font-size: var(--text-utility); }
.inner-page .lightbox { position: fixed; max-width: min(1200px, 94vw); max-height: 94svh; width: fit-content; padding: 58px 40px 24px; background: #0a0908; color: var(--text-primary); border: 1px solid #c7955980; }
.inner-page .lightbox::backdrop { background: #000e; }
.inner-page .lightbox img { display: block; width: auto; max-width: 100%; max-height: calc(91svh - 180px); margin: auto; object-fit: contain; }
.inner-page .lightbox button { min-width: 44px; min-height: 44px; background: transparent; color: var(--text-primary); border: 1px solid #c7955966; }
.inner-page .lightbox-close { position: absolute; top: 10px; right: 10px; font-size: 26px; }
.inner-page .lightbox-caption { text-align: center; margin-top: 14px; font: 400 var(--text-utility)/1.5 var(--body); }
.inner-page .lightbox-controls { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 18px; }
/* A practical contact desk keeps the same copper and black identity. */
.inner-page .contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: calc(8 * var(--layout-vw)); align-items: start; }
.inner-page .contact-intro { min-width: 0; }
.inner-page .contact-intro h1 { margin-bottom: 30px; }
.inner-page .contact-intro p:not(.eyebrow) { font-size: 19px; line-height: 1.6; max-width: 490px; }
.inner-page .contact-intro .lede { font-size: clamp(25px, calc(2.4 * var(--layout-vw)), 34px); line-height: 1.25; }
.inner-contact-detail { margin-top: 34px; padding-top: 20px; border-top: 1px solid #c7955940; max-width: 440px; }
.inner-contact-detail > span { color: var(--accent-gold); font: 400 var(--text-utility)/1.5 var(--body); }
.inner-page .inner-contact-detail p { font-size: 16px; margin: 12px 0 0; }
.inner-page .contact-form { display: grid; grid-template-columns: 1fr 1fr; gap: 23px 20px; min-width: 0; padding: 38px; background: #15100f; border: 1px solid #c7955959; }
.inner-page .contact-form__title { grid-column: 1/-1; font-size: 36px; margin: 0 0 12px; }
.inner-page .field { min-width: 0; }
.inner-page .field label { display: block; margin-bottom: 9px; font: 400 var(--text-utility)/1.6 var(--body); color: var(--text-primary); }
.inner-page .field input, .inner-page .field select, .inner-page .field textarea { display: block; width: 100%; min-width: 0; min-height: 50px; padding: 12px; border: 1px solid #a586626b; border-radius: 0; background: #0e0b09; color: var(--text-primary); font: 400 16px/1.5 var(--body); caret-color: var(--accent-gold); transition: border-color 180ms ease; }
.inner-page .field textarea { min-height: 160px; resize: vertical; }
.inner-page .field input:hover, .inner-page .field select:hover, .inner-page .field textarea:hover { border-color: var(--accent-gold); }
.inner-page .field [aria-invalid='true'] { border-color: #f1b5ad; }
.inner-page .field small { display: block; margin-top: 9px; color: var(--text-secondary); font: 400 var(--text-utility)/1.6 var(--body); }
.inner-page .field-error { display: block; color: #f1b5ad; font: 400 var(--text-utility)/1.6 var(--body); margin-top: 7px; }
.inner-page .field-error:empty { margin: 0; }
.inner-page .field--full, .inner-page .contact-form > p, .inner-page .contact-form > noscript { grid-column: 1/-1; }
.inner-page .field label.privacy-field { display: flex; align-items: start; gap: 12px; font-size: var(--text-utility); line-height: 1.7; color: var(--text-secondary); }
.inner-page .privacy-field input { width: 18px; min-width: 18px; height: 18px; min-height: 18px; flex: 0 0 18px; margin: 3px 0 0; padding: 0; accent-color: var(--accent-gold); }
.inner-page .privacy-field a { text-decoration: underline; text-underline-offset: 3px; }
.inner-page .contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.inner-page .form-status { padding: 16px; border: 1px solid var(--accent-gold); font: 400 13px/1.6 var(--body); }
.inner-page .form-status:empty { display: none; }
.inner-page .form-status[data-state='error'] { border-color: #f1b5ad; color: #f1b5ad; }
.inner-page .form-status[data-state='success'] { border-color: #b9cba1; color: #d1dec1; }
.inner-page .privacy-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: calc(9 * var(--layout-vw)); align-items: start; }
.privacy-intro { position: sticky; top: 35px; min-width: 0; }
.privacy-intro h1 { margin-bottom: 30px; }
.privacy-intro > p:not(.eyebrow) { font-size: 21px; max-width: 340px; }
.inner-page .privacy-content { min-width: 0; max-width: 760px; margin: 0; }
.inner-page .privacy-content h2 { font-size: 35px; padding-top: 30px; margin: 35px 0 18px; border-top: 1px solid #c7955940; }
.inner-page .privacy-content h2:first-child { margin-top: 0; }
.inner-page .privacy-content p { font: 400 16px/1.85 var(--body); }
.inner-page .privacy-content a { color: var(--text-primary); text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
@media (hover: hover) and (pointer: fine) {
  .inner-page .artwork button:hover img { transform: scale(1.025); filter: brightness(1.06); }
  .inner-page .artwork-caption a:hover { color: var(--text-primary); }
}
@media (max-width: 1000px) {
  .inner-page h1 { font-size: clamp(62px, calc(8 * var(--layout-vw)), 85px); }
  .inner-hero { min-height: 570px; padding-block: 60px; }
  .inner-hero__copy { width: 56%; }
  .inner-hero__copy > p:not(.eyebrow) { font-size: 17px; }
  .inner-hero__copy .lede { font-size: 27px; }
  .inner-hero--portrait { min-height: 590px; gap: calc(5 * var(--layout-vw)); }
  .inner-hero--portrait .inner-hero__image { min-height: 500px; }
  .inner-page .about-feature { grid-template-columns: 1fr; gap: 24px; }
  .inner-page .about-feature .signature { grid-column: 1; }
  .inner-page .service-details { gap: 25px; }
  .inner-page .section-heading { gap: 35px; }
  .inner-page .steps { gap: 26px; }
  .inner-page .step p, .inner-page .service-details article p { font-size: 17px; }
  .inner-art-intro { gap: calc(5 * var(--layout-vw)); }
  .inner-art-intro__visual { padding-inline: 0; }
  .inner-page .gallery-grid { gap: 55px 25px; }
  .inner-page .contact-layout { gap: calc(5 * var(--layout-vw)); }
  .inner-page .contact-form { padding: 26px; grid-template-columns: 1fr; }
  .inner-page .contact-form__title { font-size: 32px; }
  .inner-page .privacy-layout { gap: calc(6 * var(--layout-vw)); }
}
@media (max-width: 700px) {
  .inner-breadcrumb { gap: 11px; padding-block: 15px; font-size: var(--text-utility); }
  .inner-page h1 { font-size: clamp(52px, calc(14 * var(--layout-vw)), 76px); line-height: 1; overflow-wrap: normal; }
  .inner-page h2 { font-size: clamp(38px, calc(10 * var(--layout-vw)), 54px); }
  .inner-page h3 { font-size: 31px; }
  .inner-page .section { padding-block: 52px; }
  .inner-hero { display: flex; align-items: end; min-height: 740px; padding: 285px var(--gutter) 48px; }
  .inner-hero::after { background: linear-gradient(180deg, #0a090805 0%, #0a090820 22%, #0a0908e8 43%, #0a0908 74%); }
  .inner-hero__copy { width: 100%; max-width: 530px; }
  .inner-hero__copy h1 { margin-bottom: 24px; }
  .inner-hero__copy > p:not(.eyebrow) { font-size: 17px; }
  .inner-hero__copy .lede { font-size: 26px; }
  .inner-hero__image img { object-position: 70% 22%; height: 63%; top: 0; }
  .inner-hero__image figcaption { left: var(--gutter); right: var(--gutter); top: 235px; bottom: auto; text-align: right; font-size: var(--text-utility); }
  .inner-page--window .inner-hero { min-height: 710px; }
  .inner-page--window .inner-hero__copy { width: 100%; }
  .inner-page .section-heading { display: block; margin-bottom: 32px; }
  .inner-page .section-heading > p { margin: 22px 0 0; font-size: 17px; }
  .inner-page .service-details, .inner-page .steps { grid-template-columns: 1fr; gap: 30px; }
  .inner-page .service-details > header { display: block; padding-bottom: 0; }
  .inner-page .service-details > header .eyebrow { margin-bottom: 18px; }
  .inner-page .service-details > header h2 { margin-bottom: 22px; }
  .inner-page .service-details > header p:not(.eyebrow) { font-size: 17px; }
  .inner-page .service-details > article { padding-top: 24px; }
  .inner-page .service-details h3 { margin-bottom: 15px; }
  .inner-page .step > span { margin-bottom: 15px; }
  .inner-page .step h3 { margin-bottom: 15px; }
  .inner-page .split { grid-template-columns: 1fr; gap: 28px; }
  .inner-page .split p:not(.eyebrow) { font-size: 17px; }
  .inner-page .split .lede { font-size: 27px; }
  .inner-hero--portrait { display: flex; flex-direction: column-reverse; gap: 35px; min-height: 0; padding-top: 22px; }
  .inner-hero--portrait .inner-hero__copy { width: 100%; }
  .inner-hero--portrait .inner-hero__image { position: relative; width: 86%; max-width: 370px; min-height: 400px; align-self: center; }
  .inner-hero--portrait .inner-hero__image img { height: 110%; top: -5%; object-position: center; }
  .inner-hero--portrait .inner-hero__image figcaption { left: 15px; right: 15px; top: auto; bottom: 16px; text-align: left; }
  .inner-page .about-feature { grid-template-columns: 1fr; gap: 20px; }
  .inner-page .about-feature > p:not(.eyebrow) { font-size: 19px; }
  .inner-page .about-feature .signature { grid-column: 1; }
  .inner-art-intro { grid-template-columns: 1fr; gap: 38px; }
  .inner-art-intro__copy .lede { font-size: 27px; }
  .inner-art-intro__copy p:not(.eyebrow) { font-size: 17px; }
  .inner-art-intro__signature { display: none; }
  .inner-art-intro__visual .artwork { max-width: 100%; }
  .inner-page .gallery-heading { display: block; margin-bottom: 35px; }
  .inner-page .gallery-heading > p { margin-top: 22px; font-size: 17px; }
  .inner-page .gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 35px 18px; }
  .inner-page .artwork, .inner-page .artwork--large { grid-column: span 1; }
  .inner-page .artwork--wide { grid-column: 1/-1; }
  .inner-page .artwork:nth-child(3n + 2) { margin-top: 25px; }
  .inner-page .artwork--wide:nth-child(3n + 2) { margin-top: 0; }
  .inner-page .artwork-caption { display: block; padding-top: 12px; padding-bottom: 8px; font-size: var(--text-utility); }
  .inner-page .artwork-caption h3 { font-size: 13px; }
  .inner-page .artwork-caption a { min-height: 44px; }
  .inner-gallery-note, .inner-art-inquiry { grid-template-columns: 1fr; gap: 26px; }
  .inner-gallery-note { margin-top: 45px; }
  .inner-gallery-note .gallery-note { font-size: 31px; }
  .inner-page .lightbox { max-width: 96vw; padding: 58px 15px 18px; }
  .inner-page .lightbox-controls { gap: 12px; }
  .inner-page .lightbox-controls .text-link { font-size: var(--text-utility); }
  .inner-page .lightbox-controls .text-link > span { display: none; }
  .inner-page .contact-layout { grid-template-columns: 1fr; gap: 38px; }
  .inner-page .contact-intro .lede { font-size: 27px; }
  .inner-page .contact-intro p:not(.eyebrow) { font-size: 17px; }
  .inner-contact-detail { margin-top: 27px; }
  .inner-page .contact-form { padding: 25px 20px; gap: 22px; }
  .inner-page .contact-form__title { font-size: 32px; }
  .inner-page .contact-form .button { width: 100%; gap: 15px; }
  .inner-page .privacy-layout { grid-template-columns: 1fr; gap: 35px; }
  .privacy-intro { position: static; }
  .inner-page .privacy-content h2 { font-size: 31px; }
  .inner-page .privacy-content p { font-size: 15px; }
}
@media (max-width: 370px) {
  .inner-page h1 { font-size: 49px; }
  .inner-page .contact-form { padding-inline: 16px; }
  .inner-page .lightbox-controls { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .inner-page .artwork img { transition: none; }
}
