@charset "UTF-8";
.river2-root { --r2-dark:#20373a; --r2-gold:#d5b27c; font-size:14px; line-height:1.85; }
.river2-root [hidden] { display:none!important; }
.river2-root h2,.river2-root h3,.river2-root h4 { font-family:var(--serif); font-weight:400; }
.r2-hero { position:relative; height:510px; overflow:hidden; background:#293b3b; color:#f8f3e4; }
.r2-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:50% 58%; }
.r2-hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,#061c22ad 0%,#09212645 43%,transparent 74%),linear-gradient(0deg,#0b242cea,transparent 35%,transparent 80%,#0c202671); }
.r2-hero-top { position:absolute; top:23px; left:30px; right:30px; display:flex; justify-content:space-between; gap:16px; font-size:10px; letter-spacing:1px; color:#e4e6d5; }
.r2-hero-top span:last-child { color:#d2d9ce; }
.r2-hero-copy { position:absolute; left:42px; top:95px; max-width:70%; }
.r2-hero-copy > span { color:#d7c4a1; font-size:11px; letter-spacing:2px; }
.r2-hero-copy h2 { font-size:clamp(30px,3.1vw,45px); line-height:1.55; letter-spacing:2px; margin:17px 0 19px; text-shadow:0 2px 24px #0b202c99; }
.r2-hero-copy p { font-size:13px; line-height:2; color:#e0e1d1; margin:0; }
.r2-hero-fact { position:absolute; right:35px; bottom:88px; display:flex; flex-direction:column; padding:18px 24px; border:1px solid #e0dbc74d; background:#112b32c2; backdrop-filter:blur(6px); min-width:210px; }
.r2-hero-fact > span { font-size:10px; color:#d1dacd; letter-spacing:.7px; }
.r2-hero-fact strong { font:76px/1.3 Georgia,serif; color:#efd4a4; }
.r2-hero-fact small { font:20px var(--serif); margin-left:12px; }
.r2-hero-fact:hover { background:#183d43ed; border-color:#e4c08b; }
.r2-hero-bottom { position:absolute; bottom:0; left:30px; right:30px; display:flex; justify-content:space-between; gap:16px; padding:17px 0; border-top:1px solid #dfe4d333; font-size:11px; color:#d4dfd5; }
.r2-hero-bottom sup { font-size:9px; color:#d6b37c; margin-left:5px; }
.r2-chapters { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; margin:0; list-style:none; border:1px solid var(--line); border-top:0; background:#ececdf; scroll-margin-top:16px; }
.r2-chapters button { display:flex; gap:13px; align-items:center; width:100%; padding:21px; border:0; border-right:1px solid var(--line); background:transparent; font-size:13px; text-align:left; color:#737869; }
.r2-chapters li:last-child button { border-right:0; }
.r2-chapters button span { font:14px Georgia,serif; }
.r2-chapters button i { font-style:normal; margin-left:auto; opacity:.45; }
.r2-chapters button[aria-current] { background:#fcfaf4; box-shadow:inset 0 -3px var(--red); color:var(--ink); }
.r2-chapters button[aria-current] span { color:var(--red); }
.r2-chapters button:disabled { color:#969b8c; }
.r2-chapters button:not(:disabled):hover { background:#f8f6ec; }
.r2-terrain-strip { display:flex; align-items:center; gap:18px; padding:15px 20px; border:1px solid var(--line); border-top:0; background:#e7eadd; }
.r2-terrain-strip > svg { display:block; width:88px; height:65px; flex-shrink:0; border:1px solid #99a788; }
.r2-terrain-strip > div { flex:1; }
.r2-terrain-strip strong { font-size:13px; font-weight:500; color:#385044; }
.r2-terrain-strip p { margin:3px 0 0; color:#677360; font-size:11px; }
.r2-terrain-strip button { flex-shrink:0; font-size:12px; }
.r2-terrain-dialog { padding:0; border:1px solid #bcc7b1; width:min(1140px,94vw); max-width:none; height:920px; max-height:94dvh; background:#f4f4e9; color:#263e36; }
.r2-terrain-dialog[open] { display:flex; flex-direction:column; }
.r2-terrain-dialog::backdrop { background:#0e2224bd; backdrop-filter:blur(4px); }
body:has(.r2-terrain-dialog[open]) { overflow:hidden; }
.r2-terrain-dialog > header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:17px 23px; }
.r2-terrain-dialog header span { font-size:10px; letter-spacing:2px; color:#79866b; }
.r2-terrain-dialog h2 { font-size:24px; margin:3px 0 0; }
.r2-viewer-close { background:transparent; color:#455a49; border:1px solid #b5c0a7; padding:8px 13px; white-space:nowrap; font-size:12px; }
.r2-terrain-tools { display:flex; align-items:center; gap:9px; padding:10px 23px; background:#e4e9dc; border-block:1px solid #c3cbb7; }
.r2-terrain-tools span { flex:1; }
.r2-terrain-tools button { background:#f4f4e9; border:1px solid #b5c0a7; min-width:38px; min-height:34px; padding:5px 14px; color:#355443; font-size:12px; }
.r2-terrain-tools button:disabled { opacity:.35; }
.r2-terrain-canvas { flex:1; min-height:150px; overflow:hidden; background:#d0d8c4; }
.r2-terrain-canvas svg { display:block; width:100%; height:100%; cursor:grab; touch-action:none; user-select:none; }
.r2-terrain-canvas svg.is-dragging { cursor:grabbing; }
.r2-terrain-caption { padding:12px 23px 17px; font-size:11px; line-height:1.75; color:#64725c; }
.r2-terrain-caption p { margin:0 0 5px; }
.r2-terrain-caption strong { color:#345444; }
.r2-terrain-caption a { font-size:11px; color:#45634b; text-decoration:underline; text-underline-offset:3px; margin-right:20px; }
.r2-section-heading { padding:38px 0 24px; }
.r2-section-heading > span,.r2-small-label { font-size:10px; letter-spacing:2px; color:#65725c; }
.r2-section-heading h2 { font-size:29px; line-height:1.5; margin:8px 0; outline:none; }
.r2-section-heading p { font-size:12px; color:var(--muted); margin:0; }
.r2-analysis { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(310px,1fr); background:#fbf9f2; border:1px solid var(--line); }
.r2-diagram-wrap { background:var(--r2-dark); color:#eee4ce; min-width:0; display:flex; flex-direction:column; }
.r2-diagram-head { display:flex; justify-content:space-between; gap:16px; padding:18px 25px; font-size:10px; letter-spacing:1px; border-bottom:1px solid #b3ccbb22; color:#bfd0bf; }
.r2-diagram { flex:1; display:flex; align-items:center; min-height:290px; overflow:hidden; }
.r2-diagram svg { display:block; width:100%; height:auto; font-family:var(--serif); }
.r2-diagram-control { padding:0 24px 20px; }
.r2-demo-button { color:#efdec0; background:#53675245; border:1px solid #a6b49160; padding:9px 15px; font-size:12px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.r2-demo-button:hover { background:#71876652; border-color:#cfba8e; }
.r2-diagram-control p { color:#9fb2a9; font-size:10px; margin:11px 0 0; line-height:1.8; }
.r2-explain { padding:27px; display:flex; flex-direction:column; }
.r2-observe-tabs { display:flex; gap:5px; padding-bottom:25px; }
.r2-observe-tabs button { flex:1; border:1px solid #d7d9cc; background:transparent; padding:10px 3px; font-size:11px; white-space:nowrap; }
.r2-observe-tabs button[aria-pressed="true"] { background:#dfe7d9; border-color:#84977d; color:#354b3a; }
.r2-observe-copy h3 { font-size:24px; line-height:1.65; margin:10px 0 13px; }
.r2-observe-copy p { font-size:13px; color:#687061; margin:0 0 22px; }
.r2-insight { color:#52604a; font-size:13px; padding:13px 15px; border-left:2px solid #93a07a; background:#ebeee2; }
.r2-reference { display:flex; flex-wrap:wrap; gap:8px 14px; font-size:10px; color:#6f7866; line-height:1.8; margin:22px 0 0; }
.r2-explain > .r2-reference { margin-top:auto; padding-top:20px; }
.r2-reference a,.r2-sources a { text-decoration:underline; text-underline-offset:4px; text-decoration-color:#a7af9b; }
.r2-stage-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:22px 0 32px; }
.r2-stage-footer .button { min-height:44px; padding:12px 24px; font-size:12px; }
.r2-stage-footer .text-button:disabled { opacity:.4; }
.r2-drift-path { stroke-dasharray:1; stroke-dashoffset:1; }
.r2-drift-result { opacity:0; }
.r2-riverbed,.r2-bed-rocks { opacity:.05; }
.r2-team-details { opacity:.15; }
.is-demonstrated .r2-team-details { animation:r2-reveal .7s both; }
.is-demonstrated .r2-drift-path { animation:r2-drift-line 2.2s ease both; }
.is-demonstrated .r2-swimmer { animation:r2-drift-person 2.2s ease both; }
.is-demonstrated .r2-drift-result { animation:r2-reveal .3s 2s both; }
.is-demonstrated .r2-riverbed,.is-demonstrated .r2-bed-rocks { animation:r2-reveal .7s both; }
.r2-place-beam { animation:r2-place .9s ease both; }
.r2-time-layout { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.r2-history-time { padding:25px 28px 26px; border:1px solid var(--line); background:#fcfaf5; }
.r2-history-time > h3 { font-size:26px; line-height:1.6; margin:10px 0 24px; }
.r2-timeline { list-style:none; padding:0 0 0 14px; margin:0; border-left:1px solid #b9c1ad; }
.r2-timeline li { display:grid; grid-template-columns:122px 1fr; gap:12px; position:relative; margin-bottom:23px; }
.r2-timeline li:last-child { margin-bottom:0; }
.r2-timeline li::before { content:''; position:absolute; left:-19px; top:8px; width:8px; height:8px; border:1px solid #89957f; background:#f4f0e7; border-radius:50%; }
.r2-timeline li > span { font-size:10px; color:#747a6c; padding-top:3px; }
.r2-timeline strong { font-size:14px; font-weight:400; }
.r2-timeline p { font-size:11px; color:#787e70; margin:4px 0 0; }
.r2-timeline .r2-timeline-key strong { color:var(--red); }
.r2-timeline .r2-timeline-key::before { background:var(--red); border-color:var(--red); }
.r2-clock-panel { padding:26px 29px; background:#253c40; color:#edf0e3; }
.r2-clock-panel .r2-small-label { color:#b7c8b8; }
.r2-clock-panel > h3 { font-size:25px; line-height:1.6; margin:9px 0 26px; }
.r2-time-window { display:flex; gap:12px; align-items:center; font-size:11px; color:#c9d3c7; }
.r2-time-window i { flex:1; border-top:1px dashed #879c8b; }
.r2-time-bars { display:flex; gap:4px; height:25px; margin:12px 0 20px; }
.r2-time-bars i { flex:1; background:#acc4ae; transition:background .2s; }
.r2-time-bars i.lost { background:#b46e51; }
.r2-time-stats { display:grid; grid-template-columns:1fr 1fr; gap:20px; border-bottom:1px solid #849c843f; padding-bottom:22px; }
.r2-time-stats > div { display:flex; flex-direction:column; }
.r2-time-stats strong { font:43px/1.4 Georgia,serif; color:#ebd4ac; }
.r2-time-stats small { font:13px var(--serif); margin-left:9px; }
.r2-time-stats span { color:#abbfad; font-size:10px; }
.r2-delay-label { display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:12px; margin:21px 0 14px; }
.r2-delay-label output { color:#efcd94; white-space:nowrap; }
#river-delay { width:100%; accent-color:#d7b27a; margin:0; display:block; cursor:pointer; }
.r2-range-ends { display:flex; justify-content:space-between; color:#b6c7b9; font-size:10px; margin:8px 0 24px; }
.r2-speed-answer { padding:17px 20px; background:#162e33; border:1px solid #768e7750; }
.r2-speed-answer > span { font-size:11px; color:#bdcdbd; }
.r2-speed-answer > div { display:flex; align-items:baseline; gap:14px; margin:3px 0; }
.r2-speed-answer strong { font:59px/1.2 Georgia,serif; color:#f2d7a7; }
.r2-speed-answer > div > span { font-size:13px; color:#d6ddca; }
.r2-speed-answer p { color:#c0cebe; font-size:11px; margin:9px 0 0; }
.r2-calculation-note { font-size:10px; color:#a5b7aa; line-height:1.8; margin:16px 0 0; }
.r2-conclusion { border:1px solid #c6cdbb; padding:30px; background:#e7ebdf; }
.r2-conclusion > h3 { font-size:28px; margin:10px 0 25px; }
.r2-conclusion-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.r2-conclusion-grid article { border-top:1px solid #bcc4af; padding-top:18px; }
.r2-conclusion-grid article > span { font-size:11px; color:var(--red); }
.r2-conclusion-grid h4 { font-size:22px; margin:8px 0 12px; }
.r2-conclusion-grid p { font-size:12px; color:#64705b; margin:0; }
.r2-final-actions { display:flex; align-items:center; justify-content:space-between; gap:24px; border-top:1px solid #c6cdbb; margin-top:30px; padding-top:22px; }
.r2-final-actions p { font-size:12px; color:#65715c; max-width:46em; }
.r2-final-actions .button { flex-shrink:0; }
.r2-sources { border:1px solid var(--line); background:#fbf9f2; }
.r2-sources summary { padding:17px 23px; font-size:12px; color:var(--green); cursor:pointer; }
.r2-sources summary span { float:right; font-size:10px; color:var(--muted); }
.r2-sources[open] summary { border-bottom:1px solid var(--line); }
.r2-sources-inner { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:28px; }
.r2-sources-inner article > span { color:var(--red); font-size:11px; }
.r2-sources-inner h3 { font-size:19px; line-height:1.6; margin:9px 0 12px; }
.r2-sources-inner p { font-size:12px; color:#6b7363; margin:0 0 12px; }
.r2-sources-inner a { display:inline-block; font-size:11px; color:var(--green); margin:0 12px 5px 0; overflow-wrap:anywhere; }
.river-page > .page-heading p { font-size:13px; }
@keyframes r2-drift-line { from{stroke-dashoffset:1}to{stroke-dashoffset:0} }
@keyframes r2-drift-person { from{transform:translate(176px,310px)}to{transform:translate(476px,103px)} }
@keyframes r2-reveal { from{opacity:0}to{opacity:1} }
@keyframes r2-place { from{transform:translate(-93px,-74px)}to{transform:translate(0,0)} }
@media(max-width:1080px){
  .r2-hero{height:460px}.r2-hero-copy{left:30px;top:80px}.r2-hero-copy h2{font-size:36px}.r2-hero-fact{right:24px;min-width:180px;padding:15px 20px}.r2-hero-fact strong{font-size:65px}
  .r2-chapters button{padding:18px 12px;font-size:12px;gap:9px}.r2-analysis{grid-template-columns:minmax(0,1.2fr) minmax(290px,1fr)}.r2-explain{padding:23px}.r2-observe-copy h3{font-size:22px}.r2-time-layout{gap:20px}.r2-timeline li{grid-template-columns:1fr;gap:3px}.r2-clock-panel,.r2-history-time{padding:24px}.r2-conclusion-grid{gap:20px}
}
@media(max-width:800px){
  .r2-hero{height:470px}.r2-hero-copy{max-width:90%}.r2-hero-copy h2{font-size:32px}.r2-hero-fact{bottom:70px;padding:10px 14px;min-width:150px}.r2-hero-fact strong{font-size:49px}.r2-hero-fact small{font-size:16px}.r2-hero-fact>span{font-size:9px}
  .r2-hero-copy p{font-size:12px}.r2-hero-bottom{font-size:10px;left:22px;right:22px}.r2-hero-bottom>span:first-child{display:none}.r2-hero-top{left:22px;right:22px;font-size:9px}
  .r2-analysis,.r2-time-layout{grid-template-columns:1fr}.r2-diagram{min-height:0}.r2-diagram-control{display:flex;justify-content:space-between;align-items:center;gap:20px}.r2-diagram-control p{margin:0;max-width:50%;font-size:10px}.r2-demo-button{flex-shrink:0}.r2-explain{padding:25px}.r2-observe-tabs{padding-bottom:20px}.r2-observe-tabs button{padding:10px;font-size:12px}.r2-time-layout{gap:18px}.r2-timeline li{grid-template-columns:125px 1fr;gap:14px}.r2-sources-inner{grid-template-columns:1fr}.r2-conclusion-grid{grid-template-columns:1fr;gap:22px}.r2-final-actions{flex-direction:column;align-items:stretch;gap:12px}.r2-final-actions p{margin:0}
}
@media(max-width:520px){
  .r2-terrain-strip{padding:12px;gap:10px;flex-wrap:wrap}.r2-terrain-strip>svg{width:61px;height:51px}.r2-terrain-strip>div{min-width:170px}.r2-terrain-strip strong{font-size:12px}.r2-terrain-strip p{font-size:10px}.r2-terrain-strip button{margin-left:auto;padding:2px 0}.r2-terrain-dialog{width:96vw;max-height:96dvh}.r2-terrain-dialog>header{padding:12px;gap:10px}.r2-terrain-dialog h2{font-size:18px}.r2-viewer-close{padding:6px 8px;font-size:11px}.r2-terrain-tools{padding:9px 12px;gap:6px}.r2-terrain-tools button{padding:5px 10px;font-size:11px}.r2-terrain-caption{padding:10px 12px;font-size:10px}
  .river-page > .page-heading{align-items:flex-start;gap:12px}.river-page > .page-heading h1{font-size:30px}.river-page > .page-heading p{font-size:12px;max-width:18em}.river-page .progress-block{width:64px;padding-top:12px}
  .r2-hero{height:440px}.r2-hero-image{object-position:54% 55%}.r2-hero-shade{background:linear-gradient(90deg,#071e258a,#09262d13),linear-gradient(0deg,#08242e,transparent 75%,#0c2026a8)}.r2-hero-top{left:18px;right:18px;top:15px;gap:7px;flex-wrap:wrap;font-size:8px}.r2-hero-copy{top:62px;left:20px;right:15px;max-width:none}.r2-hero-copy>span{font-size:9px;letter-spacing:1px}.r2-hero-copy h2{font-size:28px;letter-spacing:1px;line-height:1.5;margin:12px 0 16px}.r2-hero-copy p{font-size:11px}.r2-hero-fact{bottom:56px;right:18px;background:#112b32bf}.r2-hero-bottom{padding:12px 0;left:18px;right:18px;font-size:10px}
  .r2-chapters button{flex-direction:column;gap:6px;padding:12px 2px;font-size:10px;white-space:nowrap}.r2-chapters button span{font-size:12px}.r2-chapters button i{display:none}.r2-section-heading{padding:27px 0 20px}.r2-section-heading h2{font-size:25px}.r2-section-heading p{font-size:11px}.r2-diagram-head{padding:15px 17px;font-size:9px}.r2-diagram-control{display:block;padding:5px 17px 18px}.r2-diagram-control p{max-width:none;margin-top:10px}.r2-demo-button{font-size:11px;width:100%;justify-content:space-between}.r2-explain{padding:21px}.r2-observe-tabs{gap:5px}.r2-observe-tabs button{font-size:11px;padding:10px 3px}.r2-observe-copy h3{font-size:23px}.r2-observe-copy p{font-size:12px}.r2-insight{font-size:12px}.r2-reference{font-size:10px}.r2-stage-footer .button{font-size:11px;padding:12px 17px}.r2-stage-footer{padding:19px 0 26px}
  .r2-history-time,.r2-clock-panel{padding:22px}.r2-history-time>h3,.r2-clock-panel>h3{font-size:24px}.r2-timeline li{grid-template-columns:1fr;gap:5px}.r2-time-stats strong{font-size:37px}.r2-delay-label{font-size:11px;gap:8px}.r2-speed-answer strong{font-size:52px}.r2-calculation-note{font-size:10px}.r2-conclusion{padding:24px}.r2-conclusion>h3{font-size:25px}.r2-conclusion-grid h4{font-size:22px}.r2-sources summary{padding:15px;font-size:11px}.r2-sources summary span{display:none}.r2-sources-inner{padding:21px;gap:25px}
}
@media(prefers-reduced-motion:reduce){
  .river2-root *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.is-demonstrated .r2-drift-path{stroke-dashoffset:0}.is-demonstrated .r2-swimmer{transform:translate(476px,103px)}.is-demonstrated .r2-drift-result,.is-demonstrated .r2-riverbed,.is-demonstrated .r2-bed-rocks,.is-demonstrated .r2-team-details{opacity:1}
}

/* A single forward path; the chapter row is progress, not a second navigation. */
.r2-chapters{grid-template-columns:repeat(4,minmax(0,1fr))}
.r2-chapters>li{display:flex;align-items:center;gap:11px;padding:16px 20px;border-right:1px solid var(--line);color:#828675;font-size:12px}
.r2-chapters>li:last-child{border-right:0}
.r2-chapters>li>span{font:12px Georgia,serif;color:#9a9e8b}
.r2-chapters>li[aria-current]{background:#faf8f0;color:#344a3b;box-shadow:inset 0 -2px var(--red)}
.r2-chapters>li[aria-current]>span{color:var(--red)}
.r2-chapters>li.is-complete{color:#526c52}
.r2-build-position{font-size:11px;letter-spacing:1px;color:#788069;margin:0 0 18px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.r2-path-note{font-size:11px;color:var(--muted)}
.r2-stage-footer>.text-button{font-size:11px;color:var(--muted);border:0;background:transparent;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.r2-stage-footer>.button{margin-left:auto;min-width:210px}
.r2-terrain-strip{margin:4px 0 18px;border-top:1px solid var(--line);background:#eeeee3}
@media(max-width:800px){.r2-chapters>li{padding:13px 11px;font-size:11px;gap:7px}}
@media(max-width:520px){.r2-chapters>li{flex-direction:column;align-items:center;gap:3px;padding:10px 2px;font-size:10px}.r2-chapters>li>span{font-size:11px}.r2-stage-footer{flex-wrap:wrap;gap:9px}.r2-stage-footer>.button{min-width:0;padding:12px 15px}.r2-path-note{font-size:10px}}
