/* Carry the established story-page typography and columns into the itinerary. */
.residency-page { --journey-rule:#20282230; --journey-quiet:#202822b3; }
.residency-page h1,.residency-page h2 { font-size:var(--italic-title-size); text-wrap:pretty; }
.residency-page .journey-opening { border-top:0; }
.residency-page .journey-opening .lead { margin-bottom:0; }
.journey-index { border-top:1px solid var(--journey-rule); }
.journey-index a {
  display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:baseline;
  column-gap:18px; min-height:65px; padding:18px 0;
  border-bottom:1px solid var(--journey-rule); color:#337583;
}
.chapter-number { font-size:12px; font-variant-numeric:tabular-nums; color:var(--journey-quiet); }
.journey-index small { font-size:13px; line-height:1.5; text-align:right; color:var(--journey-quiet); }
.residency-page .journey-index a:hover { text-decoration:none; }
.journey-index a:hover>span:nth-child(2),.journey-index a:focus-visible>span:nth-child(2) {
  text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px;
}
.journey-chapters { grid-column:1/-1; }
.residency-page .residency { scroll-margin-top:24px; }
.residency-page .residency-title { position:static; margin:0; }
.residency-page .residency-title h2 { margin:0; }
.residency-story { min-width:0; }
.residency-story>p { margin:0; }
/* Dates follow each story as a small, open calendar. */
.dates { margin-top:30px; padding-top:24px; border-top:1px solid var(--journey-rule); }
.dates .eyebrow { margin-bottom:8px; }
.dates .stay { margin-bottom:26px; color:#337583; }
.dates .parties-label { margin-bottom:10px; }
.party-month { display:flex; align-items:baseline; justify-content:space-between; gap:20px; padding:7px 0; }
.party-month>span { font-size:14px; }
.party-days { display:flex; flex-shrink:0; align-items:baseline; color:#337583; font-size:20px; line-height:1.5; font-variant-numeric:tabular-nums; }
.party-days time+time::before { content:'·'; margin:0 12px; color:#20282266; font-size:14px; }
.interlude { display:flex; align-items:center; gap:24px; padding:18px 0; }
.interlude::before,.interlude::after { content:''; flex:1; border-top:1px solid var(--journey-rule); }
.interlude .eyebrow { margin:0; text-align:center; color:var(--journey-quiet); }
.residency-page .interlude+.residency { border-top:0; }
.residency-page .return-home { width:auto; max-width:none; margin:0; border-top:1px solid var(--journey-rule); }
.return-home .residency-story>p { margin:0 0 22px; }
@media(min-width:701px) {
  .residency-page .journey-opening { padding-top:48px; padding-bottom:72px; }
  .residency-page .residency,.residency-page .return-home { padding:72px 0; }
}
@media(min-width:701px) and (max-width:1050px) {
  .journey-index a { grid-template-columns:20px minmax(0,1fr); column-gap:14px; row-gap:3px; padding:13px 0; }
  .journey-index small { grid-column:2; text-align:left; }
  .party-month { flex-wrap:wrap; gap:4px 20px; }
}
@media(max-width:700px) {
  .residency-page .journey-opening { padding-top:38px; padding-bottom:52px; }
  .itinerary-overview { margin-top:38px; }
  .itinerary-overview>.eyebrow { margin-bottom:18px; }
  .journey-index a { grid-template-columns:18px minmax(74px,1fr) minmax(0,1.4fr); align-items:center; column-gap:12px; min-height:64px; padding:14px 0; }
  .journey-index small { font-size:12px; }
  .chapter-number { font-size:11px; }
  .residency-page .residency,.residency-page .return-home { padding:52px 7vw; }
  .residency-page .residency-title { margin-bottom:26px; }
  .residency-page .residency-title .eyebrow { margin-bottom:20px; }
  .dates { margin-top:28px; padding-top:22px; }
  .dates .eyebrow { margin-bottom:8px; }
  .dates .stay { margin-bottom:24px; }
  .party-month { gap:14px; }
  .party-month>span { font-size:13px; }
  .party-days { font-size:19px; }
  .party-days time+time::before { margin:0 9px; }
  .interlude { margin:0 7vw; gap:14px; padding:14px 0; }
  .interlude .eyebrow { font-size:10px; letter-spacing:.15em; }
}
@media(max-width:359px) {
  .journey-index a { column-gap:9px; }
  .party-month { gap:10px; }
  .party-days { font-size:18px; }
  .party-days time+time::before { margin:0 6px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Match the story links: one text space, 20px separation, then the icon’s 5px inset. */
@media(max-width:700px){
 .residency-page .residency-actions .text-link{justify-self:start;justify-content:flex-start;gap:20px}
 .residency-page .residency-actions .text-link>span:first-child::after{content:"\00a0"}
 .residency-page .residency-actions .membership-candle{margin-left:5px!important}
}
