/* A camera journey through the Overworld, layered behind an ordinary document.
   Only the enhanced desktop view changes layout. Reading/mobile/no-JS keep the
   original content flow and original scene placement. */
.living-world,
.journey-hud,
.journey-scroll-cue {
  display: none;
}

/* Scene details also retain their colors in mobile and full-width reading. */
.overworld-home .world-fx--embers {
  fill: #ffd187;
  opacity: .32;
  animation: journey-hearth-embers 4.8s steps(12, end) infinite;
}
.overworld-home .world-fx--windowbeam {
  fill: #d9e7f4;
  opacity: .055;
  animation: journey-window-light 18s ease-in-out infinite;
}

.overworld-home .home-header__tools .journey-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-width: 44px;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--world-border);
  color: var(--world-text);
  background: var(--world-surface);
  font: 500 13px/1.3 "Exo 2", sans-serif;
  white-space: nowrap;
}

.overworld-home .home-header__tools .journey-view:hover {
  color: var(--world-accent);
  border-color: var(--world-accent);
  background: var(--world-raised);
}

@media (min-width: 1100px) and (min-height: 650px) {
  html[data-journey="cinematic"] {
    --journey-header: 80px;
    --journey-panel-width: min(46vw, 700px);
    --journey-edge: clamp(28px, 3.5vw, 64px);
  }

  /* Match the readable viewport used by the chapter snap controller. Keep
     oversized panels freely scrollable, including in Safari. */
  html[data-journey="cinematic"][data-journey-snap="on"] {
    scroll-padding-top: calc(var(--journey-header) + 24px);
    scroll-padding-bottom: calc(var(--home-footer-height, 48px) + env(safe-area-inset-bottom, 0px) + 24px);
    overscroll-behavior-y: none;
  }

  /* Center the hint in the pane's existing bottom padding, without shifting
     content. It appears only at the end of a chapter that has a next stop. */
  html[data-journey="cinematic"] .journey-scroll-cue[data-visible="true"] {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 4px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 16px;
    padding-inline: 8px;
    transform: translateX(-50%);
    background: transparent;
    color: var(--world-text);
    font: 500 12px/1 "Exo 2", sans-serif;
    letter-spacing: .025em;
    pointer-events: none;
    animation: journey-cue-appear 200ms ease-out both;
  }
  html[data-journey="cinematic"] .journey-scroll-cue svg {
    width: 12px;
    height: 12px;
    color: var(--world-gold);
    animation: journey-scroll-nudge 2.4s ease-in-out infinite;
  }
  html[data-journey="cinematic"][data-world-motion="paused"] .journey-scroll-cue,
  html[data-journey="cinematic"][data-world-motion="paused"] .journey-scroll-cue svg {
    animation: none;
  }

  /* The document remains in normal flow. Only a chapter transition temporarily
     offsets and fades its real panels; no content clones or nested scrolling. */
  html[data-journey="cinematic"][data-journey-step="moving"] .journey-surface {
    visibility: hidden;
  }
  html[data-journey="cinematic"][data-journey-step="moving"] .journey-surface[data-journey-transition] {
    visibility: visible;
    transition: none;
    will-change: transform, opacity;
  }
  html[data-journey="cinematic"] .journey-surface[data-journey-transition="departing"] {
    pointer-events: none;
  }

  html[data-journey="cinematic"] .overworld-home {
    overflow-x: clip;
    background: var(--world-bg);
  }

  html[data-journey="cinematic"] .home-header {
    background: var(--world-surface);
    box-shadow: 0 5px 24px #0002;
  }

  html[data-journey="cinematic"] .home-header__inner {
    min-height: 80px;
    max-width: none;
    padding-inline: var(--journey-edge);
    gap: clamp(12px, 1.7vw, 28px);
  }

  /* Each room keeps the source composition and pixel aspect ratio. Dark edges
     and the foreground canopy carry the joins between distinct locations. */
  html[data-journey="cinematic"] .living-world {
    display: block;
    position: fixed;
    z-index: 0;
    inset: var(--journey-header) 0 0;
    height: calc(100svh - var(--journey-header));
    overflow: hidden;
    isolation: isolate;
    pointer-events: none;
    background: var(--world-bg);
    contain: layout paint;
  }

  html[data-journey="cinematic"] .living-world__track {
    display: flex;
    height: 100%;
    width: max-content;
    transform: translate3d(0, 0, 0);
    will-change: transform;
  }

  html[data-journey="cinematic"] .living-world__scene {
    flex: 0 0 100vw;
    position: relative;
    width: 100vw;
    height: 100%;
    overflow: hidden;
    isolation: isolate;
    background: var(--world-bg);
  }

  html[data-journey="cinematic"][data-world="overworld"] .living-world__scene > .world-scene {
    position: absolute;
    inset: 0 auto 0 0;
    width: calc((100svh - var(--journey-header)) * 1.5);
    height: 100%;
    min-height: 0;
    max-width: none;
    aspect-ratio: 3 / 2;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-color: transparent;
  }

  html[data-journey="cinematic"][data-world="overworld"] .living-world__scene:first-child > .world-scene {
    left: auto;
    right: 0;
  }

  html[data-journey="cinematic"] .living-world__scene::after {
    content: "";
    position: absolute;
    z-index: 2;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(90deg, var(--world-bg) 0%, transparent 6%, transparent 45%, var(--world-bg) 88%),
      linear-gradient(0deg, var(--world-bg), transparent 21%, transparent 84%, #07141a35);
  }

  html[data-journey="cinematic"] .living-world__scene:first-child::after {
    background:
      linear-gradient(90deg, var(--world-bg) 0%, transparent 59%, transparent 94%, var(--world-bg)),
      linear-gradient(0deg, var(--world-bg), transparent 19%, transparent 87%, #07141a26);
  }

  html[data-journey="cinematic"] .living-world__scene > .world-scene::after {
    box-shadow: none;
  }

  html[data-journey="cinematic"] .journey-location {
    position: absolute;
    z-index: 6;
    left: clamp(128px, 13vw, 210px);
    bottom: 132px;
    width: min(38vw, 550px);
    padding: 17px 22px 18px;
    border-left: 3px solid var(--world-gold);
    background: var(--world-surface);
    box-shadow: 4px 4px 0 #07141a45;
    color: var(--world-text);
  }

  html[data-journey="cinematic"] .journey-location > span {
    display: block;
    margin-bottom: 7px;
    color: var(--world-gold);
    font: 10px/1.8 "JetBrains Mono", monospace;
    letter-spacing: .09em;
  }

  html[data-journey="cinematic"] .journey-location > strong {
    display: block;
    color: var(--world-text);
    font: 500 clamp(28px, 2.6vw, 40px)/1.15 "Exo 2", sans-serif;
    letter-spacing: -.035em;
  }

  html[data-journey="cinematic"] .journey-location > p {
    margin: 9px 0 0;
    color: var(--world-muted);
    font: 14px/1.5 "Exo 2", sans-serif;
  }

  html[data-journey="cinematic"] .living-world__scene:first-child .journey-location {
    display: none;
  }

  /* Ambient life belongs to the place: light catches dust indoors, smoke
     escapes the workshop, and reflected light follows the water outdoors.
     There is no global decorative layer covering the source artwork. */
  html[data-journey="cinematic"] .living-world__foreground,
  html[data-journey="cinematic"] .living-world__fireflies,
  html[data-journey="cinematic"] .living-world__atmosphere {
    display: none;
  }

  html[data-journey="cinematic"] .living-world .world-fx--motes {
    display: block;
    fill: #dccda7;
    opacity: .18;
    animation: journey-local-air 16s steps(20, end) infinite;
  }

  html[data-journey="cinematic"] .living-world [data-world-scene="study"] .world-fx--motes,
  html[data-journey="cinematic"] .living-world [data-world-scene="archive"] .world-fx--motes {
    fill: #ffe6ab;
    opacity: .23;
    animation: journey-window-dust 14s steps(18, end) infinite;
  }

  html[data-journey="cinematic"] .living-world [data-world-scene="archive"] .world-fx--motes {
    animation-duration: 19s;
    animation-delay: -8s;
  }

  html[data-journey="cinematic"] .living-world [data-world-scene="workshop"] .world-fx--motes {
    fill: #edca89;
    animation-duration: 18s;
    animation-delay: -4s;
  }

  html[data-journey="cinematic"] .living-world [data-world-scene="arrival"] .world-fx--motes,
  html[data-journey="cinematic"] .living-world [data-world-scene="riverside"] .world-fx--motes {
    fill: #d3e0c1;
    animation-duration: 20s;
    opacity: .13;
  }

  html[data-journey="cinematic"] .living-world [data-world-scene="study"] .world-fx--embers {
    fill: #ffd187;
    opacity: .32;
    animation: journey-hearth-embers 4.8s steps(12, end) infinite;
  }

  html[data-journey="cinematic"] .living-world [data-world-scene="archive"] .world-fx--windowbeam {
    fill: #ffe3a5;
    opacity: .055;
    animation: journey-window-light 18s ease-in-out infinite;
  }

  html[data-journey="cinematic"][data-theme="light"] .living-world .world-fx--motes {
    fill: #fff1c8;
  }

  html[data-journey="cinematic"][data-theme="light"] .living-world [data-world-scene="archive"] .world-fx--windowbeam {
    fill: #fff5cf;
  }

  /* No text is transformed, gated, or put in a nested scroll container. */
  html[data-journey="cinematic"] #main-content {
    position: relative;
    z-index: 2;
  }

  html[data-journey="cinematic"] .journey-chapter {
    position: relative;
    min-height: 100svh;
    margin-top: 0;
    padding-block: clamp(88px, 13svh, 150px) 65svh;
    background: transparent;
    border: 0;
  }

  html[data-journey="cinematic"] .home-journey,
  html[data-journey="cinematic"] .home-section::before,
  html[data-journey="cinematic"] .home-section > .home-container::before {
    display: none;
  }

  html[data-journey="cinematic"] .home-section > .home-container {
    width: var(--journey-panel-width);
    max-width: 700px;
    margin-left: auto;
    margin-right: var(--journey-edge);
    padding: clamp(28px, 3vw, 46px);
    border: 1px solid var(--world-border);
    border-top: 3px solid var(--world-gold);
    background: var(--world-surface);
    box-shadow: 0 22px 64px #0003, 6px 6px 0 #07141a42;
    font-size: 18px;
    line-height: 1.7;
  }

  html[data-journey="cinematic"] .home-section__heading {
    margin-bottom: 32px;
  }

  html[data-journey="cinematic"] .home-eyebrow {
    font-size: 10px !important;
    line-height: 1.9 !important;
  }

  html[data-journey="cinematic"] .home-section h2 {
    font-size: clamp(30px, 2.9vw, 43px);
  }

  html[data-journey="cinematic"] .home-hero.journey-chapter {
    padding: 0 0 12svh;
    min-height: calc(100svh - var(--journey-header));
    touch-action: pan-y pinch-zoom;
  }

  html[data-journey="cinematic"] .home-hero__inner {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, min(52vw, 680px)) minmax(0, 1fr);
    gap: clamp(24px, 3vw, 48px);
    width: 100%;
    max-width: none;
    min-height: calc(100svh - var(--journey-header) - var(--home-footer-height, 48px) - env(safe-area-inset-bottom, 0px));
    margin: 0;
    padding: clamp(16px, 2.5svh, 28px) var(--journey-edge);
  }

  html[data-journey="cinematic"] .home-hero__panel {
    align-self: center;
    width: 100%;
    max-width: 680px;
    padding: clamp(20px, 3svh, 32px);
    margin: 0;
    border: 1px solid var(--world-border);
    border-top: 3px solid var(--world-gold);
    outline: 0;
    background: var(--world-surface);
    box-shadow: 0 22px 64px #0003, 6px 6px 0 #07141a42;
  }

  html[data-journey="cinematic"][data-journey-snap="on"] .home-hero__inner {
    padding-block: 24px;
  }
  html[data-journey="cinematic"][data-journey-snap="on"] .home-hero__panel {
    align-self: start;
  }

  html[data-journey="cinematic"] .home-hero__panel::before,
  html[data-journey="cinematic"] .home-hero__panel::after {
    display: none;
  }

  html[data-journey="cinematic"] .home-hero__title {
    font-size: clamp(22px, 3.2svh, 28px);
    line-height: 1.3;
    margin-bottom: 16px;
  }

  html[data-journey="cinematic"] .home-hero .home-now { margin-bottom: 12px; }
  html[data-journey="cinematic"] .home-hero .home-actions { margin-top: 20px; }
  html[data-journey="cinematic"] .home-hero__identity { font-size: 18px; line-height: 1.4; margin-bottom: 12px; }

  html[data-journey="cinematic"] .home-hero__identity span {
    display: block;
    padding-left: 0;
  }

  html[data-journey="cinematic"] .home-hero__lede {
    font-size: clamp(16px, 2.1svh, 18px) !important;
    line-height: 1.5 !important;
  }

  html[data-journey="cinematic"] .home-hero__explore {
    align-self: end;
    align-items: flex-end;
    justify-content: end;
    min-height: 0;
    padding: 0;
  }

  html[data-journey="cinematic"] .home-world-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    width: min(100%, 370px);
  }

  html[data-journey="cinematic"] .home-world-links::before { display: none; }
  html[data-journey="cinematic"] .home-world-links a { min-width: 0; padding: 11px 15px; font-size: 10px; border-left: 3px solid var(--world-gold); }
  html[data-journey="cinematic"] .home-world-links a span { font-size: 14px; }
  html[data-journey="cinematic"] .home-world-caption { padding: 6px 12px; font-size: 13px !important; }

  @media (max-height: 760px) {
    html[data-journey="cinematic"] .home-hero__inner { grid-template-columns: minmax(0, min(56vw, 680px)) minmax(0, 1fr); }
    html[data-journey="cinematic"] .home-hero__panel { padding: 20px 24px; }
    html[data-journey="cinematic"] .home-hero__title { font-size: 22px; line-height: 1.25; margin-bottom: 12px; }
    html[data-journey="cinematic"] .home-hero__lede { line-height: 1.45 !important; }
    html[data-journey="cinematic"] .home-hero .home-actions { margin-top: 16px; }
  }

  /* Existing content is reflowed for the narrower journal, never abbreviated. */
  html[data-journey="cinematic"] .home-about__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }

  html[data-journey="cinematic"] .home-character {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    column-gap: 24px;
    padding: 22px;
    text-align: left;
    background: var(--world-raised);
  }

  html[data-journey="cinematic"] .home-character__portrait { width: 110px; height: 110px; grid-row: 1 / span 3; margin: 0; }
  html[data-journey="cinematic"] .home-character h3 { align-self: end; margin: 0; font-size: 23px; }
  html[data-journey="cinematic"] .home-character__role { margin: 2px 0 0; }
  html[data-journey="cinematic"] .home-character__label { margin: 12px 0 0; font-size: 10px !important; }
  html[data-journey="cinematic"] .home-stats { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; margin-top: 14px; }
  html[data-journey="cinematic"] .home-stats > div { display: block; margin-top: 10px; }
  html[data-journey="cinematic"] .home-stats dt { margin-bottom: 8px; font-size: 13px; }
  html[data-journey="cinematic"] .home-stats__track { background: var(--world-surface); }
  html[data-journey="cinematic"] .home-principles { margin-top: 42px; }
  html[data-journey="cinematic"] .home-principle { grid-template-columns: minmax(0, 1fr); row-gap: 14px; padding: 28px 0; }
  html[data-journey="cinematic"] .home-principle__label { margin: 0; font-size: 14px !important; }
  html[data-journey="cinematic"] .home-principle h4 { font-size: 23px; }
  html[data-journey="cinematic"] .home-album { gap: 16px; }
  html[data-journey="cinematic"] .home-album__icon { width: 46px; height: 56px; }
  html[data-journey="cinematic"] .home-album strong { font-size: 21px; }

  html[data-journey="cinematic"] .work-entries { grid-template-columns: minmax(0, 1fr); }
  html[data-journey="cinematic"] .work-entry { padding: 26px 24px; gap: 18px; border-left: 0; border-right: 0; }
  html[data-journey="cinematic"] .work-emblem { width: 46px; height: 50px; }
  html[data-journey="cinematic"] .work-emblem svg { width: 25px; height: 25px; }
  html[data-journey="cinematic"] .work-entry h4 { font-size: 24px; }
  html[data-journey="cinematic"] .work-entry__description { font-size: 17px !important; }
  html[data-journey="cinematic"] #work-list-professional .work-entry:last-child .work-entry__body { display: block; }
  html[data-journey="cinematic"] #work-list-professional .work-entry:last-child .work-entry__tags { margin-top: 18px; }
  html[data-journey="cinematic"] #work-list-professional .work-entry:last-child .work-entry__action { margin-top: 22px; }

  html[data-journey="cinematic"] .home-timeline__entry { grid-template-columns: minmax(0, 1fr); }
  html[data-journey="cinematic"] .home-timeline__date { padding: 27px 0 10px 25px; margin: 0; border-left: 1px solid var(--world-border); }
  html[data-journey="cinematic"] .home-timeline__body { padding: 0 0 30px 25px; border-top: 0; }
  html[data-journey="cinematic"] .home-timeline__body::before { top: 9px; }
  html[data-journey="cinematic"] .home-timeline__body h3 { font-size: 24px; }
  html[data-journey="cinematic"] .home-timeline__roles li { display: block; }
  html[data-journey="cinematic"] .home-timeline__roles span { display: block; margin-top: 3px; }
  html[data-journey="cinematic"] .home-career__summary { flex-wrap: wrap; gap: 10px 22px; padding: 18px; }
  html[data-journey="cinematic"] .home-contact__links { grid-template-columns: minmax(0, 1fr); }
  /* Riverside is the end of the document, not another stretch of travel.
     Center the complete panel in the space between the persistent bars so
     further downward scrolling cannot push its heading out of view. */
  html[data-journey="cinematic"] .home-contact.journey-chapter {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: calc(100svh - var(--journey-header) - var(--home-footer-height, 48px) - env(safe-area-inset-bottom, 0px));
    padding-block: clamp(16px, 2.5svh, 28px);
  }
  html[data-journey="cinematic"][data-journey-snap="on"] .home-contact.journey-chapter {
    justify-content: flex-start;
    padding-block: 24px;
  }
  html[data-journey="cinematic"] .home-section.home-contact > .home-container { width: min(52vw, 700px); padding: clamp(20px, 3svh, 32px); }
  html[data-journey="cinematic"] .home-contact .home-section__heading { margin-bottom: 16px; }
  html[data-journey="cinematic"] .home-contact h2 { font-size: clamp(28px, 4svh, 38px); margin-bottom: 12px; }
  html[data-journey="cinematic"] .home-contact__intro { font-size: 16px !important; line-height: 1.5 !important; }
  html[data-journey="cinematic"] .home-contact__links a { padding-block: clamp(10px, 1.6svh, 16px); line-height: 1.4; }
  html[data-journey="cinematic"] .home-contact__links strong { font-size: 17px; }
  html[data-journey="cinematic"] .home-contact__links a:nth-child(even) { padding-left: 0; border-left: 0; }
  html[data-journey="cinematic"] .home-next { gap: 16px; }
  html[data-journey="cinematic"] .home-next__trail { min-width: 20px; }
  html[data-journey="cinematic"] .home-next strong { font-size: 17px; }
  html[data-journey="cinematic"] .home-next strong > span { display: block; font-size: 14px; }

  /* A small, useful route marker, never a game control scheme to learn. */
  html[data-journey="cinematic"] .journey-hud {
    display: grid;
    position: fixed;
    z-index: 20;
    left: var(--journey-edge);
    bottom: 22px;
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 4px 16px;
    width: min(630px, calc(52vw - var(--journey-edge)));
    min-height: 82px;
    padding: 8px 14px;
    border: 1px solid var(--world-border);
    background: var(--world-surface);
    box-shadow: 4px 4px 0 #07141a55, 0 8px 32px #0002;
  }

  html[data-journey="cinematic"] .journey-hud__place {
    min-width: 0;
    grid-column: 1;
    grid-row: 1;
    color: var(--world-gold);
    font: 500 12px/1.4 "Exo 2", sans-serif;
  }

  html[data-journey="cinematic"] .journey-hud__place small,
  html[data-journey="cinematic"] .journey-hud__place > span {
    display: block;
    color: var(--world-muted);
    font: 10px/1.7 "JetBrains Mono", monospace;
    letter-spacing: .04em;
  }

  html[data-journey="cinematic"] .journey-hud__stops {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    grid-column: 1 / -1;
    grid-row: 2;
    align-items: center;
    gap: 4px;
  }

  html[data-journey="cinematic"] .journey-hud__hint {
    grid-column: 2;
    grid-row: 1;
    color: var(--world-muted);
    font: 11px/1.5 "Exo 2", sans-serif;
    white-space: nowrap;
  }

  html[data-journey="cinematic"] .journey-hud__stops a {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-width: 44px;
    min-height: 44px;
    padding: 5px;
    border: 1px solid transparent;
    color: var(--world-muted);
    font: 12px/1.4 "Exo 2", sans-serif;
    text-decoration: none;
  }

  html[data-journey="cinematic"] .journey-hud__stops a > span:first-child {
    color: var(--world-muted);
    font: 9px/1.4 "JetBrains Mono", monospace;
  }

  html[data-journey="cinematic"] .journey-hud__stops a::after {
    content: "";
    position: absolute;
    bottom: 3px;
    left: calc(50% - 2px);
    width: 4px;
    height: 4px;
    background: var(--world-border);
  }

  html[data-journey="cinematic"] .journey-hud__stops a[aria-current] {
    border-color: var(--world-border);
    color: var(--world-gold);
    background: var(--world-raised);
  }

  html[data-journey="cinematic"] .journey-hud__stops a[aria-current]::after { background: var(--world-gold); }
  html[data-journey="cinematic"] .journey-hud__stops a:hover { color: var(--world-text); border-color: var(--world-accent); }

  html[data-journey="cinematic"] .journey-hud__progress {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1px;
    height: 2px;
    background: var(--world-gold);
    transform: scaleX(var(--journey-progress, 0));
    transform-origin: left center;
  }

  html[data-journey="cinematic"] .home-footer {
    position: relative;
    z-index: 21;
    min-height: 150px;
    padding-block: 36px;
  }
}

@keyframes journey-local-air {
  0%, 100% { opacity: .07; transform: translate(0, 0); }
  35% { opacity: .22; }
  80% { opacity: .12; transform: translate(7px, -4px); }
}

@keyframes journey-cue-appear {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes journey-scroll-nudge {
  0%, 60%, 100% { transform: translateY(-1px); }
  30% { transform: translateY(2px); }
}

@keyframes journey-window-dust {
  0%, 100% { opacity: .08; transform: translate(0, 0); }
  35% { opacity: .34; }
  75% { opacity: .18; transform: translate(-3px, -7px); }
}

@keyframes journey-hearth-embers {
  0%, 100% { opacity: .04; transform: translate(0, 0); }
  25% { opacity: .48; }
  70% { opacity: .2; transform: translate(2px, -9px); }
  90% { opacity: .03; transform: translate(3px, -13px); }
}

@keyframes journey-window-light {
  0%, 100% { opacity: .04; }
  50% { opacity: .075; }
}

@media (min-width: 1100px) and (max-width: 1290px) and (min-height: 650px) {
  html[data-journey="cinematic"] .home-primary-nav { display: none; }
  html[data-journey="cinematic"] .home-section > .home-container { font-size: 17px; padding: 28px; }
  html[data-journey="cinematic"] .home-character { column-gap: 18px; padding: 18px; }
  html[data-journey="cinematic"] .work-entry { padding-inline: 20px; }
  html[data-journey="cinematic"] .journey-hud { gap: 10px; padding-inline: 12px; }
  html[data-journey="cinematic"] .journey-hud__hint { display: none; }
  html[data-journey="cinematic"] .journey-hud__place { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
  .journey-scroll-cue, .journey-scroll-cue svg { animation: none !important; }
  .living-world .world-fx { animation: none !important; }
  .living-world__track { transition: none !important; }
}

@media print {
  .living-world,
  .journey-hud,
  .journey-scroll-cue,
  .journey-view { display: none !important; }
  html[data-journey="cinematic"] .journey-chapter { min-height: 0; padding-block: 20px; }
  html[data-journey="cinematic"] .home-section > .home-container { width: auto; max-width: none; margin-inline: 0; box-shadow: none; }
}
