/* Travel fee directory: shared palette, original table content. */
.travel-fee-tables .fee-notes { padding: 20px 24px 20px 42px; border: 1px solid var(--line); border-radius: var(--radius-box); background: var(--paper); line-height: var(--content-leading); }
.travel-fee-tables .fee-notes li + li { margin-top: 8px; }
.travel-fee-tables .fee-area { margin-top: 32px; }
.travel-fee-tables .fee-area h3 { padding: 16px; border: 1px solid var(--line); border-bottom: 0; border-radius: var(--radius-box) var(--radius-box) 0 0; background: var(--ivory); font-size: var(--content-subheading-size); }
.travel-fee-tables .fee-area-note { padding: 12px 16px; border-inline: 1px solid var(--line); background: var(--ivory); font-size: var(--content-small); }
.travel-fee-tables .fee-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 0 0 var(--radius-box) var(--radius-box); }
.travel-fee-tables .fee-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: var(--content-small); }
.travel-fee-tables .fee-table th, .travel-fee-tables .fee-table td { padding: clamp(8px, 2vw, 18px); border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; overflow-wrap: anywhere; }
.travel-fee-tables .fee-table thead th { background: var(--ink); color: var(--paper); }
.travel-fee-tables .fee-table tbody tr:nth-child(even) { background: var(--ivory); }
.travel-fee-tables .fee-table tbody tr:last-child > * { border-bottom: 0; }
.travel-fee-tables .fee-badge { font-weight: 700; }
.travel-fee-tables .fee-check { color: var(--content-accent); }
.travel-fee-tables .fee-scroll-note { display: none; }
/* Regional guide cards and the area directory link. */
.regional-guide-block { max-width: 940px; margin-block: 28px; }
.regional-guide-card { padding: clamp(18px, 4vw, 40px); border: 1px solid var(--line); border-radius: 8px; background: var(--ivory); --group-align: left; --line-margin: 0; }
.area-guide-icon { display: inline-block; width: 24px; height: 24px; flex: none; color: var(--content-accent); vertical-align: middle; }
.regional-guide-card .area-guide-icon { display: block; margin-bottom: 12px; }
.regional-guide-card .section-title h2 { font-size: clamp(18px, 5vw, 24px); letter-spacing: 0; text-wrap: balance; }
.regional-guide-card h2 span { display: inline-block; }
.area-fee-overview:hover { background: var(--hover); border-color: var(--content-accent); }
.area-fee-overview { display: flex; flex-wrap: nowrap; justify-content: center; align-items: center; gap: 8px; text-align: center; width: 100%; max-width: 1040px; min-height: 60px; margin: 14px auto 0; padding: 16px 18px; border: 1px solid var(--border); border-radius: 7px; background: var(--ivory); color: var(--content-ink); font-weight: 600; text-decoration: none; line-height: 1.65; }
.area-fee-overview > span { min-width: 0; }
.area-fee-overview__arrow { flex: 0 0 auto; white-space: nowrap; color: var(--muted); }
/* Subpage and hotel template placement. */
.menu-punctuation { display:none; }
/* Menu-specific composition, using the shared home/menu visual tokens. */
:is(.menu-page,.sub-page) :is(.menu-nowrap,.no-break) { display:inline-block; max-width:100%; vertical-align:baseline; }
:is(.menu-page,.sub-page) .page-jumps a > span { min-width:0; }
:is(.menu-page,.sub-page) :is(.menu-detail,.price-panel) { scroll-margin-top:24px; }
:is(.menu-page,.sub-page) .page-intro p { text-wrap:pretty; }
:is(.menu-page,.sub-page) .price-panel { margin-top:40px; padding:var(--card-padding); border:1px solid var(--line); border-radius:var(--radius-panel); background:var(--paper); }
:is(.menu-page,.sub-page) .price-rate { padding-block:22px; }
:is(.menu-page,.sub-page) .price-rate__name { font-size:var(--content-size); }
:is(.menu-page,.sub-page) .price-rate__numbers { flex-wrap:nowrap; gap:24px; }
:is(.menu-page,.sub-page) .price-rate__amount { display:inline-flex; align-items:baseline; gap:3px; font-size:32px; color:var(--heading); }
:is(.menu-page,.sub-page) .price-rate__amount small { margin-left:0; }
:is(.menu-page,.sub-page) .price-notes { margin-top:20px; }
:is(.menu-page,.sub-page) .recommend-panel { max-width:var(--width); padding:clamp(20px,4vw,48px); background:var(--ivory); border-color:var(--line); }
:is(.menu-page,.sub-page) .recommend-panel .section-title { text-align:left; }
:is(.menu-page,.sub-page) .recommend-label { background:var(--paper); border-color:var(--line); color:var(--heading); }
:is(.menu-page,.sub-page) .price-stat + .price-stat { border-color:var(--line); }
:is(.menu-page,.sub-page) .price-stat__value { font-size:40px; color:var(--heading); }
:is(.menu-page,.sub-page) .fee-grid { gap:var(--layout-gap); align-items:stretch; }
:is(.menu-page,.sub-page) .fee-grid > div { padding:var(--card-padding); border:1px solid var(--line); background:var(--paper); border-radius:var(--radius-box); }
:is(.menu-page,.sub-page) .fee__conditions { border-color:var(--line); }
:is(.menu-page,.sub-page) .first-guide__link { grid-template-columns:repeat(2,minmax(0,1fr)); border-color:var(--line); }
:is(.menu-page,.sub-page) .first-guide__link > img { max-width:none; }
:is(.menu-page,.sub-page) .first-guide__cta { text-decoration:none; }
:is(.menu-page,.sub-page) .course-choices { gap:var(--layout-gap); }
:is(.menu-page,.sub-page) .course-choices > div { padding:var(--card-padding); border-radius:var(--radius-box); }
:is(.menu-page,.sub-page) .reservation-panel { max-width:none; padding:clamp(20px,4vw,48px); border:1px solid var(--line); background:var(--paper); }
:is(.menu-page,.sub-page) .reservation-panel .section-title { text-align:left; }
:is(.menu-page,.sub-page) .reservation-lead { color:var(--heading); font-size:var(--content-size); }
:is(.menu-page,.sub-page) .reservation-panel .guide-links-list { max-width:720px; margin-inline:auto; }
:is(.menu-page,.sub-page) .contact-actions { max-width:720px; margin:24px auto; }
:is(.menu-page,.sub-page) .contact-actions .content-button--phone { justify-content:center; align-items:center; text-align:center; }
:is(.menu-page,.sub-page) .contact-actions .content-button--phone strong { flex-wrap:nowrap; font-size:clamp(22px,5.5vw,30px); }
:is(.menu-page,.sub-page) #reservation { background:var(--ivory); }
/* Customer reservation panels: shared two-column composition. */
:is(.menu-page,.sub-page) .reservation-panel--columns { padding:32px 40px 24px; }
.reservation-panel--columns > .section-title { margin-bottom:28px; }
.reservation-panel__columns { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:start; }
.reservation-panel__copy, .reservation-panel__actions { min-width:0; }
.reservation-panel__copy { text-align:left; }
.reservation-panel--columns .reservation-lead { text-align:left; margin:0 0 18px; }
.reservation-panel--columns .reservation-lead .heading-line { display:inline; }
.reservation-panel--columns .reservation-intro { max-width:none; margin:0; text-align:left; line-height:1.95; }
.reservation-panel--columns .reservation-intro > span { text-wrap:pretty; }
.reservation-panel--columns .reservation-panel__hours { margin-top:24px; text-align:left; }
.reservation-panel--columns .hours-row { text-wrap:pretty; }
.reservation-panel__actions { display:grid; gap:14px; }
:is(.menu-page,.sub-page) .reservation-panel__actions .contact-actions { width:100%; max-width:none; margin:0; gap:14px; }
:is(.menu-page,.sub-page) .reservation-panel__actions .guide-links-list { width:100%; max-width:none; margin:0; }
.reservation-panel__actions .content-button--phone { min-height:112px; }
.reservation-panel__actions .content-button--next { min-height:56px; }
.reservation-panel__actions .contact-button { width:100%; max-width:none; }
:is(.menu-page,.sub-page) .reservation-panel__actions .guide-link { margin:0; }
:is(.menu-page,.sub-page) .reservation-panel--columns .reservation-panel__notice { margin-top:28px; padding-top:20px; }

.sub-hero { position:relative; width:min(var(--width),calc(100% - 40px)); margin:24px auto 0; overflow:hidden; border-radius:var(--radius-panel); background:var(--ivory); }
.sub-hero__image { width:100%; height:clamp(280px,28vw,380px); aspect-ratio:auto; object-fit:contain; object-position:right center; }
.sub-hero__copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; }
.sub-hero__eyebrow { width:fit-content; margin-bottom:15px; font-size:.875rem; letter-spacing:.06em; }
:is(.home-page,.menu-page) .sub-hero__eyebrow { padding:4px 12px; border:1px solid var(--line); border-radius:var(--radius-button); background:var(--paper); }
.sub-hero h1 { width:52%; max-width:52%; font-size:clamp(24px,2.5vw,34px); line-height:1.6; letter-spacing:.025em; word-break:keep-all; overflow-wrap:normal; }
.sub-hero h1 span { display:block; }
.sub-hero__mobile-break { display:none; }
/* The menu uses the home photograph in a shorter, uncropped banner. */
.menu-page .sub-hero--menu { width:min(var(--width),calc(100% - 40px)); margin:24px auto 0; overflow:hidden; border-radius:var(--radius-panel); background:#eee1d2; }
.menu-page .sub-hero--menu .sub-hero__image { width:100%; height:clamp(280px,28vw,380px); aspect-ratio:auto; object-fit:contain; object-position:right center; }
.menu-page .sub-hero--menu::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--ivory) 0%,rgba(250,248,244,.94) 30%,transparent 58%); pointer-events:none; }
.menu-page .sub-hero--menu .sub-hero__copy { width:calc(100% - 64px); padding-bottom:64px; }
.menu-page .sub-hero--menu .sub-hero__area { position:absolute; left:32px; bottom:24px; width:min(260px,45%); min-height:44px; padding:8px 12px; justify-content:center; text-align:center; background:rgba(255,255,255,.94); font-size:15px; }
.menu-page .sub-hero--menu .sub-hero__area:hover { background:var(--hover); }
.menu-page .sub-hero--menu h1 { font-size:clamp(24px,2.5vw,34px); line-height:1.6; }

.breadcrumb { padding-block:18px; color:var(--content-muted); font-size:.875rem; }
.breadcrumb ol { display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; }
.breadcrumb li + li::before { content:"›"; margin-right:10px; }
.page-intro { padding-block:16px 44px; }
.page-intro > p { max-width:52em; margin-inline:auto; }
.page-jumps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; max-width:1040px; margin:28px auto 0; }
.page-jumps--six { grid-template-columns:repeat(3,minmax(0,1fr)); }
.page-jumps.page-jumps--inline { width:min(100%,1040px); grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.page-jumps a { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:56px; padding:10px 14px; border:1px solid var(--line); border-radius:5px; background:#fff; text-decoration:none; font-size:var(--content-small); font-weight:600; line-height:1.5; }
.page-jumps a::after { content:"↓"; flex:none; color:var(--content-accent); }
.page-jumps a:hover { border-color:var(--content-accent); background:var(--ivory); }
.page-jumps.page-jumps--inline a { min-height:48px; padding:10px clamp(6px,2vw,14px); gap:4px; font-size:clamp(.8125rem,3.5vw,1rem); white-space:nowrap; }
.destination-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; align-items:start; }
.destination-layout > .prose { min-width:0; }
.destination-photo { width:100%; max-width:640px; margin-inline:auto; }
.destination-photo img { width:100%; height:auto; }
/* Shared hotel overview, location and fatigue cards. */
.hotel-info-box { margin-top:24px; padding:16px; border-top:1px solid var(--line); background:var(--paper); font-size:var(--content-small); }
.hotel-info-box p { margin-block:8px; }
.hotel-map { margin-top:28px; }
.hotel-map iframe { display:block; width:100%; height:360px; border:0; }
.hotel-fatigue-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; margin-top:28px; }
.hotel-fatigue-card { padding:18px; background:var(--paper); font-size:var(--content-small); }
.hotel-fatigue-card p { margin-top:8px; }
.destination-directory { margin-top:28px; }
.directory-list { list-style:none; margin:0; padding:0; }
.directory-list li { border-bottom:1px solid var(--line); }
.directory-list a { display:grid; grid-template-columns:12px minmax(0,1fr); gap:var(--link-icon-gap); position:relative; min-height:44px; align-items:center; padding:12px 32px 12px 0; font-weight:600; font-size:var(--content-size); line-height:1.7; overflow-wrap:anywhere; }
.directory-list a::before, .destination-directory .faq summary::before { content:""; display:block; width:12px; height:12px; background:var(--link-icon) center / contain no-repeat; }
.directory-list a::after { content:"→"; position:absolute; right:2px; top:50%; transform:translateY(-50%); color:var(--content-accent); font-weight:400; }
.directory-list a:hover { background:var(--ivory); }
/* APA hotel directory: each complete hotel entry is one link. */
.directory-list--apa { display:grid; gap:12px; }
.directory-list--apa li { min-width:0; border:0; }
.directory-list--apa a { height:100%; align-items:start; padding:18px 42px 18px 16px; border:1px solid var(--line); border-radius:var(--radius-box); background:var(--paper); }
.directory-list--apa a::before { margin-top:6px; }
.directory-list--apa a::after { right:16px; }
.directory-list--apa .hotel-link__copy { display:grid; gap:6px; min-width:0; }
.directory-list--apa .hotel-link__copy > strong { color:var(--heading); font-weight:700; line-height:1.65; }
.directory-list--apa .hotel-link__copy > .small { color:var(--content-muted); font-size:var(--content-small); font-weight:400; line-height:1.75; }
.destination-directory .faq summary { display:grid; grid-template-columns:12px minmax(0,1fr); align-items:center; padding:12px 32px 12px 0; background:var(--ivory); font-size:var(--content-size); line-height:1.7; font-weight:700; }
.destination-directory .faq summary::after { top:12px; }
.menu-pricing__intro { padding-block:36px 20px; }
.menu-price-caption { max-width:54em; font-size:var(--content-small); }
.menu-price-caption__text { display:block; }
.menu-price-caption > .guide-link { margin-top:6px; }
.menu-chapter { padding-block:clamp(42px,5.5vw,72px); }
.menu-chapter--body, .menu-chapter--set { background:var(--paper); }
.menu-chapter--foot { background:var(--grey); }
.menu-chapter:not(.menu-chapter--set) .menu-detail { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,1fr); gap:clamp(28px,4vw,54px); align-items:center; }
.menu-detail--reverse .menu-media { grid-column:2; grid-row:1; }
.menu-detail--reverse .prose { grid-column:1; grid-row:1; }
.menu-media, .menu-visiting__media { position:relative; isolation:isolate; min-width:0; margin:0; }
.menu-media::before, .menu-visiting__media::before { content:none; }
.menu-media > img, .menu-visiting__media > img { display:block; width:100%; height:auto; margin:0; border-radius:4px; }
.menu-media--compact { width:100%; max-width:520px; margin-inline:auto; }
#set-care { max-width:none; }
.menu-recommend { max-width:1040px; margin-inline:auto; }
.menu-recommend__lead { text-align:var(--group-align); }
.menu-recommend__treatments { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); grid-template-rows:auto auto; gap:0 14px; align-items:center; max-width:760px; margin:32px auto; }
.menu-recommend__treatments figure { display:contents; }
.menu-recommend__treatments figure:first-child > * { grid-column:1; }
.menu-recommend__treatments figure:last-child > * { grid-column:3; }
.menu-treatment-photo { grid-row:1; display:flex; align-items:center; justify-content:center; width:100%; background:var(--paper); border-radius:5px; }
.menu-treatment-photo img { display:block; width:100%; max-width:none; height:auto; aspect-ratio:3 / 2; object-fit:cover; margin:0; border-radius:var(--radius-box); }
.menu-recommend__treatments figcaption { grid-row:2; display:flex; flex-direction:column; align-items:center; gap:3px; margin-top:10px; font-size:var(--content-small); text-align:center; }
.menu-recommend__treatments figcaption strong { font-size:1.625rem; font-weight:700; line-height:1.4; }
.menu-recommend__treatments figcaption small { margin-left:3px; font-size:var(--content-small); font-weight:500; }
.menu-recommend__plus { grid-column:2; grid-row:1; align-self:center; margin:0; color:var(--content-accent); font-size:1.25rem; }
.menu-recommend__price { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap:0; margin-bottom:24px; padding-block:20px; border-block:1px solid var(--line); }
.menu-recommend__places { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:28px; }
.menu-recommend__places > div { min-width:0; padding:24px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-box); }

.menu-recommend__places h3 { margin:0 0 12px; font-size:1.125rem; text-align:var(--group-align); }
.menu-recommend__home > p:first-of-type { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:var(--group-flex); gap:10px 20px; margin-bottom:14px; }
.menu-recommend__home > p:first-of-type > strong { color:var(--content-accent); font-size:1.5rem; font-weight:700; }
.menu-recommend__home > p:first-of-type > span { font-size:var(--content-small); }
.menu-recommend__home b { font-size:1.75rem; white-space:nowrap; }
.menu-recommend__places p { font-size:var(--content-small); }
#visiting { background:var(--paper); }
.menu-visiting { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:clamp(30px,5vw,64px); align-items:center; }
#travel-fee { background:var(--grey); }
#travel-fee .guide-links-list { font-size:var(--content-small); }
#payment { background:var(--paper); }
#payment > .main-container { max-width:940px; }
#choosing { background:var(--ivory); }
#menu-faq { background:var(--blush); }
#menu-faq .section-title, #menu-faq .faq-group { max-width:920px; margin-inline:auto; }
#menu-area { background:var(--paper); }
@media (min-width:768px) {
 .hotel-fatigue-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .reservation-panel__columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:48px; }
 .menu-page .sub-hero--menu .sub-hero__image { mask-image:linear-gradient(90deg,transparent calc(100% - clamp(280px,28vw,380px) * 1.777),#000 calc(100% - clamp(280px,28vw,380px) * 1.45)); }
 .sub-page .sub-hero__image { height:auto; object-fit:contain; object-position:center; }
 .sub-page .sub-hero__copy { width:calc(100% - 64px); }
}
@media (min-width:1101px),(min-width:768px) and (orientation:landscape) {
 .destination-layout:not(.destination-layout--text) { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(28px,4vw,54px); }
}
@media (max-width:1100px) {
  .page-jumps { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .menu-visiting { gap:30px; }
}
@media (max-width:767px),(min-width:768px) and (max-width:1100px) and (orientation:portrait) {
  .menu-recommend__lead { text-wrap:balance; }
  .sub-hero h1 { text-align:center; }
  .sub-hero__eyebrow { margin-left:0; text-wrap:balance; }
  .menu-chapter:not(.menu-chapter--set) .menu-detail, .menu-visiting { grid-template-columns:minmax(0,1fr); gap:30px; }
  .menu-detail--reverse .menu-media, .menu-detail--reverse .prose { grid-column:auto; grid-row:auto; }
  .menu-recommend__places { grid-template-columns:minmax(0,1fr); }
  
}
@media (max-width:767px) {
  .home-page .hero > .hero-mobile-description { display:block; width:calc(100% - 40px); margin:12px auto 0; font-size:16px; line-height:1.75; }
  .home-page .hero-inner { min-height:370px; }
  .home-page .hero-media img { object-position:52% center; }
  .home-page .hero-intro { width:min(65%,176px); margin-top:clamp(32px,10.5vw,40px); margin-left:clamp(0px,calc(5.7vw - 18px),4px); padding-right:0; }
  .home-page .hero-intro h1 { gap:0; margin:0; }
  .home-page .hero-intro h1 .hero-title-region { font-size:clamp(12px,3.6vw,14px); line-height:1.55; letter-spacing:0; word-break:keep-all; }
  .home-page .hero-intro h1 .hero-title-region > .no-break { display:block; white-space:nowrap; }
  .home-page .hero-intro h1 .hero-title-service { margin-top:6px; font-size:clamp(15px,4.87vw,19px); line-height:1.3; letter-spacing:0; }
  .home-page .hero-intro h1 .hero-title-service > span { display:block; white-space:nowrap; }
  .home-page .hero-intro h1 .hero-title-brand { margin-top:4px; font-size:clamp(13px,calc(7.14vw - 9.85px),17px); line-height:1.5; letter-spacing:-.05em; white-space:nowrap; }
  .home-page .hero-intro h1 .hero-title-brand .no-break { display:inline; white-space:nowrap; }
  .home-page #area > .main-container > .prose > p:first-child { word-break:keep-all; }
  .prose > .link-box-list--paired { display:contents; }
  .hotel-related-links .link-card { min-height:100px; padding-block:12px; gap:4px; }
  .hotel-related-links .link-card .small { margin-top:0; }

  .page-jumps.page-jumps--hotel-index { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-jumps--hotel-index a[href="#popular-courses"] { grid-column:1 / -1; }
  :is(.menu-page,.sub-page) .reservation-panel--columns { padding:24px 16px; }
  .sub-hero { width:calc(100% - 12px); margin-top:12px; }
  .sub-hero__image { height:clamp(190px,52vw,230px); aspect-ratio:auto; object-fit:cover; object-position:right center; }
  .sub-hero--area .sub-hero__image { object-position:calc(100% + 32px) center; }
  .menu-page .sub-hero--menu { width:calc(100% - 12px); margin-top:12px; }
  .menu-page .sub-hero--menu .sub-hero__image { height:clamp(190px,52vw,230px); }
  .menu-page .sub-hero--menu::before { background:linear-gradient(90deg,rgba(250,248,244,.96) 0%,rgba(250,248,244,.72) 28%,transparent 50%); }
  .menu-page .sub-hero--menu .sub-hero__copy { width:calc(100% - 24px); justify-content:flex-start; padding-block:10px 58px; }
  .menu-page .sub-hero--menu .sub-hero__area { left:12px; bottom:8px; width:calc((100% - 24px) * .52); padding:6px; }
  .menu-page .sub-hero--menu h1 { width:52%; max-width:52%; font-size:clamp(18px,4.6vw,22px); }

  .sub-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f7f3edee,#f7f3edb8 36%,transparent 61%); pointer-events:none; }
  .sub-page .sub-hero__copy { width:calc(100% - 24px); justify-content:center; padding-block:10px; }
  .sub-hero__eyebrow { margin-bottom:10px; font-size:.75rem; line-height:1.4; letter-spacing:0; max-width:52%; white-space:normal; text-align:left; }
  :is(.home-page,.menu-page) .sub-hero__eyebrow { padding:2px 7px; }
  .sub-hero h1 { width:52%; max-width:52%; font-size:clamp(18px,4.6vw,22px); line-height:1.65; letter-spacing:0; }
  .sub-hero h1.hotel-title--mobile-medium { font-size:min(clamp(18px,4.6vw,22px),4vw); }
  .sub-hero h1.hotel-title--mobile-compact { font-size:min(clamp(18px,4.6vw,22px),3.6vw); }
  .sub-hero h1.hotel-title--mobile-slim { font-size:min(clamp(18px,4.6vw,22px),4.2vw); }
  .sub-hero__mobile-break { display:initial; }
  .breadcrumb { padding-block:16px; }
  .page-intro { padding-block:10px 34px; }
  .page-jumps { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:24px; }
  .page-jumps a { padding:10px; }
  .page-jumps:not(.page-jumps--inline) a:last-child:nth-child(odd) { grid-column:1/-1; }
  .menu-pricing__intro { padding-block:30px 18px; }
  .menu-chapter { padding-block:var(--section-space); }
  :is(.menu-page,.sub-page) .price-rate__numbers { gap:12px; margin-block:8px; }
  :is(.menu-page,.sub-page) .main-container { width:calc(100% - 28px); }
  :is(.menu-page,.sub-page) .price-panel { margin-top:28px; padding:18px; }
  :is(.menu-page,.sub-page) .price-rate { padding-block:18px; }
  :is(.menu-page,.sub-page) .price-rate__amount { font-size:28px; }
  :is(.menu-page,.sub-page) .recommend-panel { padding:20px 16px; }
  :is(.menu-page,.sub-page) .menu-recommend__places { gap:16px; }
  :is(.menu-page,.sub-page) .menu-recommend__places > div { padding:18px; }
  :is(.menu-page,.sub-page) .price-stat__value { font-size:34px; }
  :is(.menu-page,.sub-page) .course-choices { grid-template-columns:minmax(0,1fr); }
  :is(.menu-page,.sub-page) .page-jumps a { font-size:clamp(14px,3.8vw,16px); }
  :is(.menu-page,.sub-page) .mobile-call .button { gap:6px; padding-inline:8px; flex-wrap:nowrap; }
  :is(.menu-page,.sub-page) .mobile-call .button > span { flex:0 0 auto; font-size:13px; white-space:nowrap; }
  :is(.menu-page,.sub-page) .mobile-call strong { font-size:17px; white-space:nowrap; }
  :is(.menu-page,.sub-page) .mobile-call strong span { font-size:inherit; white-space:nowrap; }

  :is(.menu-page,.sub-page) .course-choice__course { line-height:1.65; }
  .menu-recommend__treatments { gap:0 8px; margin-block:22px; }
  .menu-recommend__plus { font-size:var(--content-small); }
}
@media (max-width:389px) {
 .page-jumps--six { grid-template-columns:minmax(0,1fr); }
}

/* Regional detail pages: desktop copy fills the container; stacked text keeps its reading order. */
@media (min-width:1101px),(min-width:768px) and (orientation:landscape) {
  .region-detail-page .section:not([aria-labelledby="first-title"]) .destination-photo { max-width:none; }
  .region-detail-page [aria-labelledby="menu-title"] .link-box-list { display:block; }
  .region-detail-page [aria-labelledby="menu-title"] .guide-link { display:inline-flex; width:auto; }
}
@media (max-width:767px),(min-width:768px) and (max-width:1100px) and (orientation:portrait) {
  .region-detail-page .region-text-first { gap:16px; }
  .region-detail-page .region-text-first > .destination-layout { display:contents; }
  .region-detail-page .region-text-first > .destination-layout > .prose { grid-row:1; }
  .region-detail-page .region-text-first > .prose { grid-row:2; }
  .region-detail-page .region-text-first > .destination-layout > .reading-flow { grid-row:3; margin-top:12px; }
}
