/* A growing source trail. Every phase keeps its place and remains after discovery. */
.memory-river .research-journey{position:absolute;inset:50% 5% auto;width:90%;height:min(100%,490px);transform:translateY(-50%);color:#34573e;visibility:hidden;opacity:0;pointer-events:none}
.memory-river .research-journey.is-active{visibility:visible;opacity:1;pointer-events:auto}
.research-flow{height:100%;display:grid;grid-template-columns:1fr 1.12fr;grid-template-rows:100px 125px minmax(0,1fr);column-gap:9%;position:relative;max-width:980px;margin:auto}
.research-phase{position:relative;min-width:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}
.research-phase.is-reached{opacity:1;visibility:visible;pointer-events:auto}
.research-phase-0{grid-column:1;grid-row:1}
.research-phase-1{grid-column:1;grid-row:2}
.research-phase-2{grid-column:1;grid-row:3}
.research-phase-3{grid-column:2;grid-row:1/4;align-self:center}
.research-phase h3,.research-phase p{margin:0}
.research-person{text-align:center;display:flex;flex-direction:column;gap:8px}
.research-person>span{font:10px/1.4 var(--sans);color:#79846d}
.research-person>strong{font:35px/1.1 var(--serif);font-weight:400;letter-spacing:-.025em}
.research-person>p{font:12px/1.5 var(--sans);color:#7a846e}
.research-search{position:relative;padding-top:25px;text-align:center}
.research-search:before{content:'';position:absolute;width:1px;height:19px;top:0;left:50%;background:#adbda0}
.research-thread-label{display:block;font:9px/1.4 var(--sans);color:#7c876e;margin-bottom:20px}
.research-archives{display:grid;grid-template-columns:1fr 1fr;gap:24px;position:relative}
.research-archives:before{content:'';position:absolute;left:24%;right:24%;height:12px;top:-13px;border-top:1px solid #bcc6af;border-inline:1px solid #bcc6af}
.research-archive h3{font:20px/1.15 var(--serif);font-weight:400}
.research-archive p{font:10px/1.4 var(--sans);color:#7a846e;margin-top:5px}
.research-record{position:relative;padding:29px 0 0 23px;margin-left:8px;border-left:1px solid #b6c4a9}
.research-record:before{content:'';position:absolute;left:-4px;top:34px;width:7px;height:7px;border-radius:50%;background:#9a855b}
.research-record>a{font:19px/1.25 var(--serif)}
.research-record-origin{display:block;font:9px/1.5 var(--sans);color:#7a846e;margin-top:5px}
.research-record blockquote{font:17px/1.4 var(--serif);margin:15px 0;color:#56674c;font-style:italic}
.research-record p{font:11px/1.55 var(--sans);color:#566d4e}
.research-record p span{display:block;color:#89927b;font-size:9px}
.research-article{position:relative;background:#fbf8ee;padding:30px 32px;box-shadow:0 12px 40px #3848290c;border-top:2px solid #b5bf9f}
.research-article:before{content:'';position:absolute;top:50%;right:100%;width:calc(8vw - 10px);border-top:1px solid #b8c5a8}
.research-article header{display:flex;justify-content:space-between;gap:12px;font:9px/1.5 var(--sans);color:#7a846e}
.research-article h3{font:44px/1.03 var(--serif);font-weight:400;letter-spacing:-.035em;margin:24px 0 20px}
.research-article>p{font:15px/1.65 var(--serif);color:#68755b}
.research-article footer{display:flex;flex-direction:column;gap:7px;border-top:1px solid #d9ddcc;margin-top:25px;padding-top:14px;font:9px/1.5 var(--sans);color:#8b927c}
.research-phase a{color:#4e6947;text-decoration-color:#b5c1a9;text-underline-offset:3px}
.research-phase a:focus-visible,.research-step-controls button:focus-visible{outline:2px solid #8e7750;outline-offset:4px}
.research-step-controls{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:15px;align-items:center;font:11px var(--sans);color:#6a795f}
.research-step-controls button{width:36px;height:32px;background:transparent;border:1px solid #b9c6ab;border-radius:50%;color:#34573e;cursor:pointer}
.research-step-controls button:disabled{opacity:.3;cursor:default}
.research-still .research-flow{height:calc(100% - 43px)}
.research-still .research-phase{transition:none}
@media(max-width:760px){
 .memory-river .research-journey{inset:50% 4% auto;width:92%;height:min(100%,540px)}
 .research-flow{grid-template-columns:1fr;grid-template-rows:79px 93px 130px minmax(0,1fr);gap:0}
 .research-phase-0,.research-phase-1,.research-phase-2,.research-phase-3{grid-column:1;align-self:stretch}
 .research-phase-0{grid-row:1}.research-phase-1{grid-row:2}.research-phase-2{grid-row:3}.research-phase-3{grid-row:4}
 .research-person{gap:5px}.research-person>span{font-size:8px}.research-person>strong{font-size:27px}.research-person>p{font-size:10px}
 .research-search{padding-top:15px}.research-search:before{height:10px}.research-thread-label{font-size:8px;margin-bottom:14px}
 .research-archives{gap:18px}.research-archives:before{height:8px;top:-9px}.research-archive h3{font-size:18px}.research-archive p{font-size:8px;margin-top:4px}
 .research-record{padding:15px 0 8px 17px;margin-left:11px}.research-record:before{top:21px}.research-record>a{font-size:16px}.research-record-origin{font-size:8px;margin-top:3px}.research-record blockquote{font-size:13px;margin:8px 0}.research-record p{font-size:10px;line-height:1.4}.research-record p span{font-size:8px;display:inline;margin-right:7px}
 .research-article{padding:17px 20px;height:100%;box-sizing:border-box}.research-article:before{width:1px;height:15px;top:-16px;left:11px;border-top:0;border-left:1px solid #b8c5a8}
 .research-article header{font-size:7px;gap:6px}.research-article h3{font-size:28px;margin:10px 0}.research-article>p{font-size:12px;line-height:1.5}.research-article footer{font-size:7px;margin-top:12px;padding-top:8px;gap:4px}
}
@media(max-width:760px) and (max-height:739px){
 .research-flow{grid-template-rows:58px 67px 96px minmax(0,1fr)}
 .research-person{gap:3px}.research-person>span{font-size:7px}.research-person>strong{font-size:22px}.research-person>p{font-size:8px}
 .research-search{padding-top:9px}.research-search:before{height:5px}.research-thread-label{font-size:7px;margin-bottom:10px}.research-archive h3{font-size:15px}.research-archive p{font-size:7px;margin-top:2px}
 .research-record{padding:9px 0 4px 14px;margin-left:8px}.research-record:before{top:14px;width:5px;height:5px;left:-3px}.research-record>a{font-size:14px}.research-record-origin{font-size:7px;margin-top:2px}.research-record blockquote{font-size:11px;line-height:1.3;margin:5px 0}.research-record p{font-size:8px}.research-record p span{font-size:7px}
 .research-article{padding:11px 15px}.research-article header{font-size:6px}.research-article h3{font-size:23px;margin:7px 0}.research-article>p{font-size:10px;line-height:1.4}.research-article footer{font-size:6px;margin-top:7px;padding-top:5px;gap:2px}
}
@media(min-width:600px) and (max-height:540px){
 .research-flow{grid-template-columns:1fr 1.12fr;grid-template-rows:55px 65px minmax(0,1fr);gap:0 6%}
 .research-phase-0{grid-column:1;grid-row:1}.research-phase-1{grid-column:1;grid-row:2}.research-phase-2{grid-column:1;grid-row:3}.research-phase-3{grid-column:2;grid-row:1/4;align-self:center}
 .research-person{gap:3px}.research-person>span{font-size:7px}.research-person>strong{font-size:22px}.research-person>p{font-size:8px}.research-search{padding-top:7px}.research-search:before{height:4px}.research-thread-label{font-size:7px;margin-bottom:10px}.research-archive h3{font-size:15px}.research-archive p{font-size:7px}
 .research-record{padding:8px 0 0 13px}.research-record:before{top:12px}.research-record>a{font-size:13px}.research-record-origin{font-size:7px}.research-record blockquote{font-size:11px;margin:5px 0}.research-record p{font-size:8px}.research-record p span{font-size:7px}
 .research-article{padding:15px 18px}.research-article header{font-size:7px}.research-article h3{font-size:29px;margin:12px 0}.research-article>p{font-size:11px;line-height:1.45}.research-article footer{font-size:7px;margin-top:10px;padding-top:7px;gap:3px}
}
@media(prefers-reduced-motion:reduce){.research-phase{transition:none}}

@media(max-width:760px) and (max-height:639px){
 .research-flow{grid-template-rows:40px 55px 75px minmax(0,1fr)}
 .research-person>p{display:none}
 .research-search{padding-top:6px}.research-thread-label{margin-bottom:8px}.research-archive h3{font-size:14px}
 .research-record{padding-top:5px;padding-bottom:2px}.research-record:before{top:10px}.research-record blockquote{font-size:10px;line-height:1.25;margin:3px 0}.research-record p{font-size:7px}.research-record p span{font-size:6px}
 .research-article{padding:9px 13px}.research-article h3{font-size:22px;margin:6px 0}.research-article footer{margin-top:6px;padding-top:4px}
}
