/* Story content lives inside the existing full-screen Path world. */
body.is-immersed .kp-root {
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
}
body.is-immersed .kp-section { padding: 0; width: 100%; }
body.is-immersed .kp-stage { width: min(660px, 96vw, 80dvh); height: min(660px, 96vw, 80dvh); margin: auto; }
body.is-immersed .kp-legend { display: none !important; }
.kp-stage--dive { transform: scale(4); opacity: 0; transition: transform .85s cubic-bezier(.4,0,.2,1), opacity .35s ease .5s; }
.kp-stage--reverse { transform: scale(4); opacity: 0; }
.kp-stage--reverse.kp-stage--orbit { transform: scale(1); opacity: 1; transition: transform .8s cubic-bezier(.4,0,.2,1), opacity .4s ease; }
.kp-legend { position: absolute; left: 0; right: 0; bottom: 8px; margin: 0; opacity: 0; pointer-events: none; }
.kp-legend:focus-within { opacity: 1; pointer-events: auto; background: #07080b; }
.kp-legend .kp-leg { padding: 5px 8px; }
.kp-lb { overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; }
.kp-world { position: relative; min-height: 100%; overflow: hidden; padding: 64px 22px 95px; align-items: flex-start; }
.kp-world > .kp-story-content { position: relative; z-index: 2; width: 100%; max-width: 1080px; margin: auto; }
.kp-lb.is-traveling { opacity: 0; visibility: hidden; pointer-events: none; }
.kp-lb__close { position: fixed; bottom: 20px; left: 20px; }
.kp-story { font-family: 'Space Grotesk', system-ui, sans-serif; color: #f7f2e8; }
.kp-story__header { max-width: 740px; margin: 20px auto 48px; text-align: center; }
.kp-story h2 { font: 400 clamp(2.9rem, 7vw, 5.5rem)/1.03 'Cormorant Garamond', Georgia, serif; margin: 0; letter-spacing: .01em; }
.kp-story h2:focus { outline: none; }
.kp-story__descriptor { margin: 16px 0 22px; color: #f0dba8; font-size: clamp(.95rem, 2vw, 1.15rem); }
.kp-story__framing { max-width: 600px; margin: 0 auto; color: #ded9d0; line-height: 1.8; font-size: clamp(.9rem, 1.5vw, 1rem); }
.kp-story__instruction { margin: 16px 0 0; color: #f0dba8; font-size: .85rem; letter-spacing: .03em; }
.kp-story__choices { max-width: 730px; margin: auto; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(20px, 4vw, 48px); }
.kp-story__choice { padding: 0; border: 0; background: transparent; color: #f7f2e8; text-align: left; cursor: pointer; font: inherit; }
.kp-story__preview { display: block; overflow: hidden; background: #151820; aspect-ratio: 4 / 5; }
.kp-story__preview img, .kp-story__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kp-story__preview img { transition: transform .5s ease; }
.kp-story__choice:hover img { transform: scale(1.025); }
.kp-story__choice-name { display: flex; justify-content: space-between; align-items: center; padding: 13px 0; border-bottom: 1px solid rgba(240,219,168,.5); font: 400 clamp(1.65rem, 3vw, 2.15rem) 'Cormorant Garamond', Georgia, serif; }
.kp-story__choice-name span { font: 1rem 'Space Grotesk', sans-serif; color: #f0dba8; }
.kp-story--person { max-width: 1010px; margin: auto; display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: clamp(32px, 6vw, 85px); align-items: center; }
.kp-story__photo { aspect-ratio: 4 / 5; background: #151820; }
.kp-story__narrative { max-width: 500px; }
.kp-story__path { color: #f0dba8; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; margin: 0 0 18px; }
.kp-story__question { font: 400 clamp(1.5rem, 3vw, 2.2rem)/1.2 'Cormorant Garamond', Georgia, serif; color: #f4e8d0; margin: 20px 0 26px; }
.kp-story__prose { color: #ebe6dc; line-height: 1.85; font-size: clamp(.94rem, 1.35vw, 1.05rem); margin: 0 0 42px; }
.kp-story__switch { display: flex; gap: 25px; align-items: baseline; padding: 0 0 24px; border-bottom: 1px solid rgba(240,219,168,.24); }
.kp-story__switch span { color: #f0dba8; }
.kp-story__switch button, .kp-story__ending button { background: none; color: #f3e9d4; border: 0; padding: 8px 0; text-align: left; cursor: pointer; font: inherit; }
.kp-story__switch button:hover, .kp-story__ending button:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.kp-story__ending { display: flex; flex-direction: column; align-items: flex-start; margin-top: 20px; gap: 5px; }
.kp-story__ending button:first-child { color: #f0dba8; }
.kp-story__ending button:last-child { color: #ddd6c8; font-size: .85rem; }
.kp-story__ending p { margin: 0 0 9px; font: 400 1.65rem 'Cormorant Garamond', Georgia, serif; color: #f0dba8; }
.kp-story button:focus-visible, .kp-lb__close:focus-visible { outline: 2px solid #f0dba8; outline-offset: 5px; }
@media (max-width: 700px) {
  .kp-world { padding: 64px 0 100px; }
  .kp-story__header { margin: 8px 22px 32px; }
  .kp-story__choices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0 16px 22px; }
  .kp-story__choice { min-width: 0; }
  .kp-story--person { display: block; }
  .kp-story__photo { width: min(100%, 520px); margin: auto; }
  .kp-story__narrative { padding: 28px 24px 0; margin: auto; }
  .kp-story__prose { margin-bottom: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .kp-story__preview img { transition: none; }
  .kp-stage--dive, .kp-stage--reverse.kp-stage--orbit { transition: none; }
}