/* Three named experiences from the sales strategy, with the approved Mincho/white direction. */
.promise-overview { margin:38px 5% 0; }
.promise-intro { font-size:18px; letter-spacing:.06em; margin:0 0 20px; }
.page-index .opening .promise-overview .stay-facts {
 display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 30px;
 margin:0; padding:0 0 35px; align-items:start;
}
.promise-overview .stay-facts a { display:grid; grid-template-columns:minmax(0,1fr); gap:10px 12px; padding:16px 0; min-width:0; }
.promise-overview .stay-facts strong { grid-column:1; font-size:18px; font-weight:400; letter-spacing:.04em; }
.promise-overview .stay-facts a>span { grid-column:1; font-size:14px; line-height:1.9; margin:0; padding:0; text-align:left; justify-self:start; }
.promise-overview ruby rt { font-size:8px; }
.walk-hours { margin:24px 0 8px; padding-top:16px; border-top:1px solid #1e283020; font-size:14px; max-width:31em; }
.walk-hours>div { display:grid; grid-template-columns:8em 1fr; gap:14px; margin:8px 0; }
.walk-hours dt { color:#52616b; }
.walk-hours dd { margin:0; }
.walk-hours small { font-size:12px; }
.walk-links { display:flex; gap:12px 24px; flex-wrap:wrap; }
.walk-links .text-link { font-size:13px; margin-top:12px; }
.page-town .walk-list .walk-note,.walk-update { font-size:13px; line-height:1.9; color:#52616b; }
.walk-update { margin:28px 0 18px; }
.page-town .walk-list .walk-number { align-self:start; padding-top:7px; }
/* Do not assign an unlocated bath photograph to the seventh-floor bath. */
.sky-story.sky-story-text { grid-template-columns:1fr 1.15fr; gap:35px 10%; padding:85px 12%; }
.sky-story.sky-story-text h2 { grid-column:1; grid-row:1/3; }
.sky-story.sky-story-text>p:not(.sky-note) { grid-column:2; grid-row:1; align-self:end; }
.sky-story.sky-story-text>.sky-note { grid-column:2; grid-row:2; align-self:start; }
@media(min-width:721px) and (max-width:1100px) {
 .page-index .opening .promise-overview .stay-facts { gap:0 22px; }
 .promise-overview .stay-facts strong { font-size:16px; }
}
@media(max-width:720px) {
 .promise-overview { margin:28px 26px 0; }
 .promise-intro { font-size:18px; margin-bottom:12px; }
 .page-index .opening .promise-overview .stay-facts { grid-template-columns:1fr; padding-bottom:12px; }
 .promise-overview .stay-facts a { padding:20px 0; border-top:1px solid #1e283020; gap:7px 12px; }
 .promise-overview .stay-facts strong { font-size:18px; }
 .promise-overview .stay-facts a>span { font-size:16px; }
 /* 50–60s audience: preserve the requested Mincho, restore readable body sizes. */
 .site-wrap .journal-section .journal-copy,
 .site-wrap .journal-section .journal-copy p:not(.journal-aside),
 .site-wrap .split-copy p,.site-wrap .section-copy>p:not(.fine-print),
 .site-wrap .walk-list article p:not(.walk-note),
 .site-wrap .quiet-night>p:not(.sky-note),
 .site-wrap .reservation-content>p:not(.fine-print),
 .site-wrap .reservation-phone>p:not(.fine-print),
 .site-wrap .faq-section details>p,
 .site-wrap .data-list dd,.site-wrap .route-list li {
  font-size:16px; line-height:2; letter-spacing:.025em;
 }
 .site-wrap .section-copy .fine-print,.site-wrap .reservation-content .fine-print,
 .site-wrap .walk-list>.fine-print,.site-wrap .route-list .fine-print,
 .site-wrap .quiet-night .sky-note { font-size:14px!important; line-height:1.9; }
 .walk-hours { font-size:15px; }
 .walk-hours>div { grid-template-columns:7em minmax(0,1fr); gap:10px; }
 .walk-links { display:block; }
 .walk-links .text-link { width:100%; max-width:none; justify-content:space-between; }
 .walk-links .text-link,.walk-update,.page-town .walk-list .walk-note { font-size:14px; }
 .sky-story.sky-story-text { display:block; padding:65px 26px; }
 .sky-story.sky-story-text h2 { margin:0 auto 38px; }
 .sky-story.sky-story-text>.sky-note { margin-top:24px; }
}

/* Official bath hours remain easy to compare at narrow widths. */
.bath-hours { margin:0; padding:0; list-style:none; }
.bath-hours li { display:grid; grid-template-columns:8.5em minmax(0,1fr); gap:4px 14px; padding:5px 0; }
.bath-hours li>span:first-child { white-space:nowrap; font-variant-numeric:tabular-nums; }
.bath-hours li+li { border-top:1px solid #1e283018; }
@media(max-width:1000px) {
 .bath-hours li { grid-template-columns:1fr; gap:0; padding:10px 0; }
}

/* Each feature has its own familiar watercolor motif. */
.promise-overview .stay-facts a { row-gap:12px; align-items:start; }
.promise-overview .stay-facts .feature-illustration {
 grid-column:1/-1; grid-row:1; width:148px; height:100px;
 object-fit:contain; justify-self:start; margin:0 0 8px;
}
.promise-overview .stay-facts strong { grid-row:2; align-self:center; }
.promise-overview .stay-facts a>span { grid-row:3; }
@media(max-width:720px) {
 .promise-overview .stay-facts a { grid-template-columns:76px minmax(0,1fr); gap:8px 14px; padding:26px 0; }
 .promise-overview .stay-facts .feature-illustration { grid-column:1; grid-row:1/3; width:76px; height:76px; margin:0; align-self:center; }
 .promise-overview .stay-facts strong { grid-column:2; grid-row:1; line-height:1.7; }
 .promise-overview .stay-facts a>span { grid-column:2; grid-row:2; }
}
@media(max-width:360px) {
 .promise-overview .stay-facts a { grid-template-columns:60px minmax(0,1fr); column-gap:10px; }
 .promise-overview .stay-facts .feature-illustration { width:60px; height:68px; }
 .promise-overview .stay-facts strong { font-size:17px; }
}

/* Feature illustrations respond to intent, rather than scrolling into view. */
@media(prefers-reduced-motion:no-preference) {
 .promise-overview .stay-facts a:focus-visible .feature-illustration {
  transform-origin:var(--illustration-origin);
  animation:var(--illustration-animation) var(--illustration-duration) ease-in-out both;
 }
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
 .promise-overview .stay-facts a:hover .feature-illustration {
  transform-origin:var(--illustration-origin);
  animation:var(--illustration-animation) var(--illustration-duration) ease-in-out both;
 }
}
