/* Massage: a warm photograph stays beside an unhurried conversation. */
.inner-page--massage .massage-stage { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(44px,calc(6 * var(--layout-vw)),88px); padding:30px var(--gutter) 98px; align-items:start; }
.inner-page--massage .massage-scene { position:sticky; top:30px; margin:0; }
.inner-page--massage .massage-scene__image { height:clamp(500px,calc(48 * var(--layout-vw)),730px); overflow:hidden; background:var(--surface-raised); }
.inner-page--massage .massage-scene img { width:100%; height:100%; object-fit:cover; object-position:64% center; }
.inner-page--massage .massage-scene figcaption { padding-top:14px; color:var(--text-secondary); font:400 var(--text-utility)/1.5 var(--body); }
.inner-page--massage .massage-story { min-width:0; }
.inner-page--massage .massage-opening { padding:42px 0 82px; }
.inner-page--massage .massage-opening .eyebrow { margin-bottom:24px; }
.inner-page--massage .massage-opening h1 { font-size:clamp(68px,calc(6.5 * var(--layout-vw)),96px); line-height:.94; margin-bottom:34px; }
.inner-page--massage .massage-opening h1 > * { display:block; }
.inner-page--massage .massage-opening h1 em { color:var(--accent-gold); margin-left:calc(3 * var(--layout-vw)); }
.inner-page--massage .massage-opening__lead { color:var(--text-primary); font:400 clamp(24px,calc(2.2 * var(--layout-vw)),32px)/1.3 var(--display); margin-bottom:24px; }
.inner-page--massage .massage-opening > p:not(.eyebrow):not(.massage-opening__lead) { font-size:19px; line-height:1.6; max-width:40ch; margin-bottom:30px; }
.inner-page--massage .massage-opening .button { gap:18px; }
.inner-page--massage .massage-explore { display:flex; align-items:center; gap:16px; width:fit-content; min-height:44px; margin-top:20px; color:var(--text-secondary); font:400 var(--text-utility)/1.5 var(--body); }
.inner-page--massage .massage-explore .icon { transform:rotate(90deg); transition:transform .3s var(--ease); }
.inner-page--massage .massage-explore:hover .icon { transform:translateY(4px) rotate(90deg); }
.inner-page--massage .massage-treatments { padding-top:46px; border-top:1px solid var(--border-subtle); scroll-margin-top:30px; }
.inner-page--massage .massage-treatments header { margin-bottom:32px; }
.inner-page--massage .massage-treatments h2 { font-size:clamp(38px,calc(3.3 * var(--layout-vw)),49px); margin-bottom:22px; }
.inner-page--massage .massage-treatments header > p:not(.eyebrow) { font-size:19px; line-height:1.6; margin:0; max-width:40ch; }
.inner-page--massage .massage-treatment { border-bottom:1px solid var(--border-subtle); }
.inner-page--massage .massage-treatment summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; cursor:pointer; padding:24px 0; min-height:74px; color:var(--text-primary); font:400 clamp(25px,calc(2.2 * var(--layout-vw)),33px)/1.12 var(--display); }
.inner-page--massage .massage-treatment summary::-webkit-details-marker { display:none; }
.inner-page--massage .massage-treatment summary::marker { content:''; }
.inner-page--massage .massage-treatment summary > span { text-wrap:balance; }
.inner-page--massage .massage-treatment summary .icon { flex-shrink:0; transition:transform .3s var(--ease),color .3s ease; }
.inner-page--massage .massage-treatment[open] summary .icon { transform:rotate(90deg); color:var(--gold-bright); }
.inner-page--massage .massage-treatment summary:hover { color:var(--gold-bright); }
.inner-page--massage .massage-treatment__body { padding:0 20px 26px 0; }
.inner-page--massage .massage-treatment__body p { font-size:19px; line-height:1.6; max-width:38ch; margin:0 0 12px; }
.inner-page--massage .massage-treatment__body .text-link { letter-spacing:.08em; gap:16px; }
.inner-page--massage .massage-treatments > .content-note { margin:28px 0 0; max-width:60ch; }
.inner-page--massage .massage-attention { display:grid; grid-template-columns:.85fr 1.2fr; gap:calc(9 * var(--layout-vw)); padding:92px var(--gutter); background:var(--surface-raised); }
.inner-page--massage .massage-attention header { max-width:410px; }
.inner-page--massage .massage-attention h2 { margin-bottom:26px; }
.inner-page--massage .massage-attention header > p:not(.eyebrow) { font-size:22px; line-height:1.45; max-width:29ch; }
.inner-page--massage .massage-conversation article { display:grid; grid-template-columns:.7fr 1fr; gap:28px; padding:30px 0; border-bottom:1px solid var(--border-subtle); }
.inner-page--massage .massage-conversation article:first-child { padding-top:0; }
.inner-page--massage .massage-conversation article:last-child { border-bottom:0; padding-bottom:0; }
.inner-page--massage .massage-conversation__word { color:var(--accent-gold); font:400 32px/1.1 var(--display); margin:0; }
.inner-page--massage .massage-conversation h3 { margin-bottom:12px; font-size:27px; }
.inner-page--massage .massage-conversation article div p { font-size:18px; line-height:1.6; margin:0; }
.inner-page--massage .massage-invitation { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:calc(8 * var(--layout-vw)); padding:94px var(--gutter) 104px; }
.inner-page--massage .massage-invitation h2 { font-size:clamp(48px,calc(5.2 * var(--layout-vw)),76px); margin:0; }
.inner-page--massage .massage-invitation > div > p:not(.eyebrow) { max-width:32ch; font-size:23px; line-height:1.5; margin-bottom:28px; }
@media (max-width:1100px) {
  .inner-page--massage .massage-stage { gap:40px; }
  .inner-page--massage .massage-opening h1 { font-size:76px; }
  .inner-page--massage .massage-opening { padding-top:28px; }
  .inner-page--massage .massage-attention { gap:48px; grid-template-columns:.8fr 1fr; }
  .inner-page--massage .massage-conversation article { grid-template-columns:1fr; gap:14px; }
}
@media (max-width:800px) {
  .inner-page--massage .massage-stage { grid-template-columns:.9fr 1fr; gap:32px; padding-top:22px; padding-bottom:64px; }
  .inner-page--massage .massage-scene__image { height:570px; }
  .inner-page--massage .massage-opening h1 { font-size:64px; }
  .inner-page--massage .massage-opening__lead { font-size:25px; }
  .inner-page--massage .massage-opening > p:not(.eyebrow):not(.massage-opening__lead) { font-size:18px; }
  .inner-page--massage .massage-treatment summary { font-size:27px; }
  .inner-page--massage .massage-treatment__body p { font-size:18px; }
  .inner-page--massage .massage-attention { padding-block:64px; gap:32px; }
  .inner-page--massage .massage-attention h2 { font-size:44px; }
  .inner-page--massage .massage-invitation { padding-block:64px; gap:32px; }
  .inner-page--massage .massage-invitation h2 { font-size:52px; }
}
@media (max-width:700px) {
  .inner-page--massage .massage-stage { display:flex; flex-direction:column; padding:0 var(--gutter) 60px; gap:0; }
  .inner-page--massage .massage-story { display:contents; }
  .inner-page--massage .massage-opening { order:0; padding:32px 0 40px; }
  .inner-page--massage .massage-opening h1 { font-size:clamp(60px,calc(16 * var(--layout-vw)),84px); margin-bottom:28px; }
  .inner-page--massage .massage-opening h1 em { margin-left:32px; }
  .inner-page--massage .massage-opening .eyebrow { margin-bottom:22px; }
  .inner-page--massage .massage-opening__lead { font-size:27px; margin-bottom:20px; }
  .inner-page--massage .massage-opening > p:not(.eyebrow):not(.massage-opening__lead) { font-size:18px; line-height:1.6; margin-bottom:26px; }
  .inner-page--massage .massage-scene { order:1; position:relative; top:auto; width:100%; }
  .inner-page--massage .massage-scene__image { height:360px; }
  .inner-page--massage .massage-scene img { object-position:66% center; }
  .inner-page--massage .massage-scene figcaption { padding-top:10px; }
  .inner-page--massage .massage-treatments { order:2; padding-top:44px; margin-top:36px; width:100%; }
  .inner-page--massage .massage-treatments h2 { font-size:39px; }
  .inner-page--massage .massage-treatments header { margin-bottom:20px; }
  .inner-page--massage .massage-treatment summary { font-size:28px; gap:12px; padding-block:22px; }
  .inner-page--massage .massage-treatment__body { padding-right:0; }
  .inner-page--massage .massage-treatment__body .text-link { font-size:13px; }
  .inner-page--massage .massage-attention { grid-template-columns:1fr; gap:36px; padding:58px var(--gutter); }
  .inner-page--massage .massage-attention h2 { font-size:44px; margin-bottom:24px; }
  .inner-page--massage .massage-attention header > p:not(.eyebrow) { font-size:21px; margin-bottom:0; }
  .inner-page--massage .massage-conversation article { grid-template-columns:.66fr 1fr; gap:18px; padding-block:28px; }
  .inner-page--massage .massage-conversation__word { font-size:29px; }
  .inner-page--massage .massage-conversation h3 { font-size:25px; }
  .inner-page--massage .massage-conversation article div p { font-size:17px; }
  .inner-page--massage .massage-invitation { grid-template-columns:1fr; gap:30px; padding:60px var(--gutter) 70px; }
  .inner-page--massage .massage-invitation h2 { font-size:51px; }
  .inner-page--massage .massage-invitation > div > p:not(.eyebrow) { font-size:21px; margin-bottom:24px; }
}
@media (max-width:370px) {
  .inner-page--massage .massage-opening h1 { font-size:58px; }
  .inner-page--massage .massage-opening .button { padding-inline:18px; gap:14px; }
  .inner-page--massage .massage-conversation article { grid-template-columns:1fr; gap:14px; }
  .inner-page--massage .massage-invitation h2 { font-size:45px; }
}
