/* Public composition: one material, separate sheets, one scroll-led story. */
.rh-site {
  --rh-ink-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 12' preserveAspectRatio='none'%3E%3Cpath fill='%23193f8a' d='M2 7Q49 2 96 6T198 5Q257 9 311 5T408 6Q461 10 508 5T598 4L592 6Q556 5 508 8T408 8Q359 5 311 8T198 7Q149 11 96 8T2 9Z'/%3E%3Cpath fill='%23193f8a' opacity='.28' d='M12 10Q67 6 120 9T245 8L242 9Q174 12 120 10T12 11Z'/%3E%3C/svg%3E");
}
.rh-site .rh-header::after { content: none; }
.rh-site .rh-section { padding-block: clamp(calc(var(--p-s16) + var(--p-s2)), 7.5vw, calc(var(--p-s20) + var(--p-s8))); }
.rh-site main > .rh-section + .rh-section::before {
  content: ''; position: absolute; top: -24px; left: 0; right: 0; height: 52px;
  background: url('/assets/paper-sheet-v1.3b0e84187080.webp') center top / 100% 360px no-repeat;
  mask: none; z-index: -1; pointer-events: none;
  filter: url('#rh-paper-sheet') drop-shadow(0 -4px 3px rgb(60 48 30 / .19));
}
.rh-site .rh-story-v4 { margin-block: var(--p-s6); }
.rh-site .rh-problems__sheet { padding: 0; }
.rh-site .rh-problems__row + .rh-problems__row { margin-top: var(--p-s20); }
.rh-site .rh-section-intro { align-items: center; margin-bottom: var(--p-s8); }
.rh-site .rh-section-intro h2 { grid-column: 1 / 8; }
.rh-site .rh-section-intro > p { grid-column: 8 / 13; font-size: var(--rh-body); }
.rh-events__intro { align-items: center; }
.rh-events__intro h2 { grid-column: 1 / 7; }
.rh-events__intro > p { grid-column: 7 / 13; padding-left: var(--p-cell-inset); max-width: 44ch; }
.rh-events__tickets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--p-s8); margin-top: var(--p-s12); }
.rh-event-ticket { text-align: center; padding: var(--p-s6) var(--p-s3); transform: rotate(-2deg); }
.rh-event-ticket .rh-pen { font-size: clamp(27px, 3vw, 38px); }
.rh-event-ticket--1 { transform: rotate(2deg); }
.rh-event-ticket--2 { transform: rotate(-1deg); }
.rh-persistent__place { grid-row: 1; margin-top: 0; }
.rh-persistent__place--event { grid-column: 1 / 5; }
.rh-persistent__place--cafe { grid-column: 5 / 9; }
.rh-persistent__place--airport { grid-column: 9 / 13; }
.rh-persistent__route { grid-column: 1 / 13; grid-row: 1; }
.rh-footer-privacy { width: min(100%, 310px); align-self: center; }
.rh-footer-privacy summary { cursor: pointer; padding-block: var(--p-s3); min-height: 44px; }
.rh-footer-privacy p { margin-top: var(--p-s3); line-height: 1.5; }
.rh-site .rh-logo { filter: url('#rh-brand-ink'); }
.rh-beta-scope { font-size: var(--rh-body); margin-top: var(--p-s4); max-width: 38ch; }
.rh-solution-action { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--p-s4); padding-block: var(--p-s6); }
.rh-solution-action p { margin: 0; }
.rh-account { padding-block: var(--p-s16); }
.rh-account-paper { max-width: 66ch; padding: var(--p-s8); margin-inline: auto; }
.rh-account-paper h1 { font-size: var(--rh-heading); }
.rh-account-paper h2 { font-size: var(--rh-lead); margin-top: var(--p-s8); }
.rh-account-paper p, .rh-account-paper button, .rh-account-paper details, .rh-account-paper form { margin-top: var(--p-s4); }
.rh-account-paper summary { cursor: pointer; padding-block: var(--p-s3); }

.rh-encounter-v4 { --rh-scene-phone: 440px; --rh-stage-height: calc(var(--rh-scene-phone) + var(--p-s16)); --rh-sticky-top: var(--p-s6); --rh-story-travel: clamp(calc(var(--p-s16) * 3), calc(800px - 55svh), calc(var(--p-s16) * 6)); overflow-x: clip; }
.rh-encounter[data-enhanced='true'][data-reduced='false'] { height: calc(var(--rh-stage-height) + var(--rh-summary-height,160px) + var(--rh-story-travel)); }
.rh-scroll-stage { position: sticky; top: var(--rh-sticky-top); min-height: 0; display: flex; flex-direction: column; justify-content: flex-start; }
.rh-encounter-v4 .rh-encounter-stage { width: 100%; height: var(--rh-stage-height); aspect-ratio: auto; overflow-x: clip; overflow-y: visible; }
.rh-encounter-v4 .rh-film-map { inset: 50% 0 auto; transform: translateY(-50%) rotate(calc(var(--scene-tilt,0deg) * .35)); }
.rh-encounter-v4 .rh-scene-map { max-width: calc(var(--rh-stage-height) * 1.9); margin-inline: auto; }
.rh-encounter-v4 .rh-film-phone { align-self: center; margin: 0; max-width: 340px; }
.rh-site .rh-solution { padding-bottom: var(--p-s8); }
.rh-site .rh-events { padding-top: var(--p-s12); }
.rh-encounter-v4 .rh-film-caption { justify-content: center; text-align: center; min-height: 76px; }
.rh-encounter-v4 .rh-film-caption > [data-story] { max-width: 50ch; }
.rh-encounter-v4 .rh-film-foot { margin-top: var(--p-s4); }
.rh-static-story { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--p-s6); margin-block: 0; padding-block: var(--p-s6); list-style: none; font-size: var(--rh-body); }
.rh-static-story strong { display: block; margin-bottom: var(--p-s2); padding-bottom: var(--p-s1); }
.rh-static-story li[aria-current='step'] strong { background: var(--rh-ink-line) left bottom / 100% 3px no-repeat; }
.rh-static-story li { min-width: 0; }
.rh-encounter[data-reduced='true'] .rh-scroll-stage { position: relative; min-height: 0; }
.rh-encounter-v4 .rh-scene-geography { background: transparent; font-size: var(--p-s6); }

@media (max-width: 1100px) {
  .rh-encounter-v4 { --rh-scene-phone: 420px; }
  .rh-encounter-v4 .rh-film-phone { max-width: 320px; }
}
@media (max-width: 900px) {
  .rh-site .rh-section-intro h2, .rh-site .rh-section-intro > p { grid-column: 1 / -1; padding: 0; }
  .rh-events__tickets { gap: var(--p-s4); }
  .rh-static-story { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .rh-site .rh-section { padding-block: var(--p-s12); }
  .rh-site .rh-hero { padding-top: var(--p-s8); }
  .rh-site .rh-hero-art { margin-top: var(--p-s6); }
  .rh-site .rh-hero-art > .rh-pen { margin-top: var(--p-s3); }
  .rh-site .rh-offer { font-size: var(--p-s4); line-height: 1.5; }
  .rh-site .rh-header nav a { min-height: 44px; }
  .rh-site .rh-problems__copy, .rh-site .rh-problems__art { padding-inline: 0; }
  .rh-site .rh-problems__row + .rh-problems__row { margin-top: var(--p-s10); }
  .rh-site .rh-story-v4 { margin-block: var(--p-s4); }
  .rh-site .rh-story-v4 .rh-grid { grid-template-columns: 104px minmax(0,1fr); column-gap: var(--p-s5); }
  .rh-site .rh-story-v4__portrait { grid-column: 1; grid-row: 1; width: 100%; margin: 0; align-self: start; }
  .rh-site .rh-story-v4__signature { margin-top: var(--p-s2); font-size: var(--p-s6); }
  .rh-site .rh-story-v4__copy { display: contents; }
  .rh-site .rh-story-v4__copy h2 { grid-column: 2; grid-row: 1; font-size: 26px; align-self: center; }
  .rh-site .rh-story-v4__copy > p { grid-column: 1 / -1; margin-top: var(--p-s6); }
  .rh-events__intro h2, .rh-events__intro > p { grid-column: 1 / -1; padding: 0; }
  .rh-events__intro > p { margin-top: var(--p-s6); }
  .rh-events__tickets { grid-template-columns: 1fr; margin-top: var(--p-s8); gap: var(--p-s4); }
  .rh-event-ticket { padding: var(--p-s4); }
  .rh-encounter-v4 { --rh-scene-phone: 420px; --rh-stage-height: calc(var(--rh-scene-phone) + var(--p-s10)); --rh-sticky-top: var(--p-s3); --rh-story-travel: clamp(900px, 125svh, 1120px); }
  .rh-encounter-v4 .rh-film-caption { min-height: 88px; }
  .rh-encounter-v4 .rh-scene-geography { font-size: var(--rh-body); }
  .rh-static-story { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--p-s3) var(--p-s4); padding-block: var(--p-s3); font-size: var(--p-s4); line-height: 1.4; }
  .rh-static-story strong { margin-bottom: var(--p-s1); }
  .rh-static-story li > span { display: block; min-block-size: 4.2em; }
  .rh-account-paper { padding: var(--p-s5); }
  .rh-persistent__place { padding-inline: var(--p-s1); }
  .rh-persistent__place figcaption { font-size: 25px; }
}
@media (max-width: 360px) {
  .rh-static-story li > span { min-block-size: 5.6em; }
  .rh-site .rh-story-v4 .rh-grid { grid-template-columns: 88px minmax(0,1fr); column-gap: var(--p-s4); }
  .rh-site .rh-story-v4__copy h2 { font-size: var(--p-s6); }
}
@media (max-height: 560px) and (min-width: 601px) {
  .rh-encounter-v4 { --rh-scene-phone: 390px; --rh-sticky-top: var(--p-s2); }
}
@media (prefers-reduced-motion: reduce) {
  .rh-scroll-stage { position: relative; min-height: 0; }
}
