/* Real photographs on a quiet, persistent tabletop. Device depth is separate. */
.journey-ready .keeping-section{display:none}
.journey-ready .masthead{height:88px}.journey-ready .masthead .button.small{background:transparent;color:var(--pine);border:1px solid #c4c9b7}.journey-ready .masthead .brand img{width:33px;height:33px}
.memory-river{position:relative;background:#eeeadd;color:#244735;isolation:isolate;scroll-margin-top:0}
.memory-river.river-pinned{height:1120svh}
.river-stage{position:sticky;top:0;height:100svh;min-height:660px;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(ellipse at 30% 20%,#faf7ed99,transparent 65%),#eeeadd;transition:background-color 1s}
.river-stage:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.river-chapter-3 .river-stage{background-color:#fbfaf5}.river-chapter-5 .river-stage{background-color:#e7e9dc}.river-chapter-8 .river-stage{background-color:#e1e6d8}
.river-copy{position:relative;z-index:5;text-align:center;padding:44px 25px 16px;flex-shrink:0;min-height:180px}
.river-copy h1,.river-copy h2{font-size:clamp(31px,3.7vw,52px);font-weight:500;letter-spacing:-.05em;line-height:1.08;margin:0 auto;max-width:900px;text-wrap:balance}
.river-copy h1{font-size:clamp(35px,4.6vw,66px);max-width:940px;letter-spacing:-.055em}
.river-copy p{font:15px/1.7 var(--sans);color:#596c55;max-width:625px;margin:18px auto 0;text-wrap:pretty}
.river-copy h1:focus,.river-copy h2:focus{outline:none}
.river-chapter-0 .river-copy{padding-top:118px;min-height:235px}
.river-world{position:relative;flex:1;min-height:360px;width:min(1040px,86vw);max-height:640px;margin:auto auto 52px;isolation:isolate}
.river-world:after{content:none!important}
.river-chapter-0 .river-world{margin-top:12px;margin-bottom:auto}
.memory-object{position:absolute;transform-origin:center;will-change:auto}
.memory-box,.memory-tape{z-index:2;pointer-events:none}.memory-box img,.memory-tape img{display:block;width:100%;height:auto}
.memory-lead{z-index:5}.river-chapter-0 .memory-lead{z-index:5}.memory-tape{z-index:4}
.family-print{margin:0;background:#fffdf5;padding:7px;box-shadow:0 9px 22px #493f2920,0 1px 3px #493f2924}
.family-image{position:relative;overflow:hidden}.family-image>img{width:100%;height:auto;display:block}
.family-print figcaption{font:11px/1.4 var(--serif);padding:10px 5px 6px;color:#536049;text-wrap:balance}
.collection-prints{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .18s,visibility .18s}
.river-chapter-0 .collection-prints{opacity:1;visibility:visible}
.collection-print{position:absolute;width:20%;padding:5px}
.collection-print .family-image{max-height:190px}
.collection-print img{height:100%;object-fit:cover}
.collection-print.print-0{left:7%;top:18%;width:24%;transform:rotate(-9deg)}
.collection-print.print-1{left:28%;top:21%;width:18%;transform:rotate(-15deg)}
.collection-print.print-2{left:42%;top:18%;width:17%;transform:rotate(6deg)}
.collection-print.print-3{left:53%;top:26%;width:17%;transform:rotate(11deg)}
.collection-print.print-4{left:62%;top:20%;width:17%;transform:rotate(15deg)}
.collection-print.print-5{left:72%;top:32%;width:20%;transform:rotate(5deg)}
.collection-print.print-6{left:10%;top:66%;width:24%;transform:rotate(-5deg)}
.collection-print.print-7{left:34%;top:49%;width:19%;transform:rotate(8deg)}
.chapter-panel{position:absolute;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s}
.river-chapter-1 .photo-context,.river-chapter-2 .photo-placement-note,.river-chapter-3 .film-composition,.river-chapter-4 .film-timeline-proof,.river-chapter-5 .family-context,.river-chapter-6 .growth-composition,.river-chapter-7 .remembering-composition,.river-chapter-8 .keepsake-composition{opacity:1;visibility:visible;pointer-events:auto;transition-delay:.15s}
.photo-face-markers{position:absolute;inset:0;opacity:0;transition:opacity .3s}.markers-visible{opacity:1}
.face-marker{position:absolute;border:1.5px solid #fff3c8;border-radius:18%;box-shadow:0 0 0 1px #28493340}
/* Existing labeled bounding boxes, expressed against this photograph's dimensions. */
.face-a{left:34.1%;top:50.3%;width:6.8%;height:13.3%}.face-b{left:56.7%;top:58.5%;width:6.9%;height:13.7%}.face-c{left:70.8%;top:33.3%;width:6.6%;height:12.4%}.face-d{left:82.8%;top:23.1%;width:8.3%;height:17.1%}
.photo-context{left:65%;top:10%;width:30%}
.family-identities{display:grid;grid-template-columns:1fr 1fr;gap:24px 18px}
.family-identities figure{margin:0;text-align:center}.family-identities img{width:clamp(48px,7vw,82px);height:clamp(48px,7vw,82px);object-fit:cover;border-radius:50%;border:3px solid #fffdf4;box-shadow:0 5px 14px #38462b16}
.family-identities figcaption{font:12px var(--sans);margin-top:8px;color:#435b42}
.photo-date-context{border-top:1px solid #b9c1a680;margin-top:32px;padding-top:23px}.photo-date-context>span{font:36px var(--serif);color:#355840}.photo-date-context p{font:13px/1.7 var(--sans);color:#62725a;margin:11px 0 0;max-width:235px}
.photo-placement-note{left:8%;top:62%;width:35%}.quiet-year{font:34px var(--serif);color:#3c5c40}.photo-placement-note p{font:19px/1.55 var(--serif);color:#607255;margin-top:14px}.memory-thread{position:absolute;left:110%;top:14px;width:35%;border-top:1px solid #a7b295}
.film-composition{left:28%;top:2%;width:67%}.film-view{background:#23382d;box-shadow:0 15px 35px #23382d1f;border:6px solid #23382d}.film-view video{display:block;width:100%;aspect-ratio:4/3;object-fit:contain;background:#142219}
.film-caption{padding:14px 12px 12px;color:#f4f1e5;min-height:69px}.film-caption strong{display:block;font:19px/1.25 var(--serif)}.film-caption span{display:block;font:10px/1.6 var(--sans);color:#c6d2bf;margin-top:7px}
.film-scene-ribbon{display:flex;gap:8px;margin-top:12px}.film-scene-ribbon button{border:0;border-bottom:2px solid transparent;background:none;padding:0 0 7px;flex:1;min-width:0;color:#69785d;cursor:pointer;text-align:left}.film-scene-ribbon button[aria-pressed=true]{border-color:#86996e;color:#2b4b35}.film-scene-ribbon img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.film-scene-ribbon span{display:block;font:10px var(--sans);padding-top:8px}.film-duration{font:11px var(--sans);color:#69795f;text-align:right;margin-top:13px}
.film-timeline-proof{left:3%;top:2%;width:42%;display:flex;flex-wrap:wrap;gap:15px}.film-timeline-proof figure{margin:0;flex:1;min-width:0;background:#fffdf5;padding:5px;box-shadow:0 6px 15px #493f2918}.film-timeline-proof img{width:100%;display:block;aspect-ratio:4/3;object-fit:cover}.film-timeline-proof figcaption{font:11px var(--serif);padding:10px 2px 6px;color:#496143}.film-timeline-proof>p{flex-basis:100%;font:15px var(--serif);color:#617558;margin:7px 0 0}
.family-context{left:3%;top:52%;width:45%}.family-context .family-identities{grid-template-columns:repeat(5,1fr);gap:10px}.family-context .family-identities img{width:58px;height:58px;max-width:100%}.family-context .family-identities figcaption{font-size:10px}.family-context p{font:21px/1.6 var(--serif);color:#496343;margin:30px 0 0}
.growth-composition{left:0;top:20%;width:49%}.growth-portraits{display:flex;gap:14px;align-items:center}.growth-portraits figure{flex:1;min-width:0;margin:0}.growth-portraits img{width:100%;aspect-ratio:1;object-fit:cover;display:block;border:5px solid #fffdf3;box-shadow:0 8px 17px #493f291b}.growth-portraits figure:nth-child(2){transform:translateY(-14px)}.growth-portraits figcaption{font:12px var(--serif);color:#657456;text-align:center;margin-top:15px}.growth-name{font:30px var(--serif);color:#38573c;text-align:center;margin:36px 0}.growth-thread{display:block;width:65%;border-top:1px solid #adb99e;margin:auto}
.remembering-composition{left:3%;top:0;width:42%;height:95%}.remembering-photo{position:absolute;left:42%;top:1%;width:44%;transform:rotate(-2deg);transition:transform .8s ease}.remembering-photo .family-image{aspect-ratio:1;overflow:hidden}.remembering-photo img{height:100%;object-fit:cover}.remembering-swipe .remembering-photo{transform:translateX(-35px) rotate(-5deg)}.remembering-prompt{position:absolute;left:11%;top:17%;font:17px var(--serif);color:#6a8058}.remembering-gesture{position:absolute;left:68%;top:26%;width:18px;height:18px;border-radius:50%;border:1px solid #fff8db;background:#4c704a45;opacity:0;transition:transform .8s,opacity .2s}.remembering-swipe .remembering-gesture{opacity:1;transform:translateX(-35px)}.remembering-composition>p{position:absolute;bottom:0;left:10%;font:20px/1.55 var(--serif);color:#48633f;margin:0}
.keepsake-composition{left:3%;top:0;width:42%}.record-fragment{background:#f8f4e7;border:1px solid #c8cbb6;padding:27px;box-shadow:0 9px 25px #3b4a2512;transform:rotate(-1deg)}.record-fragment>span{font:10px var(--sans);color:#728164}.record-fragment h3{font:34px/1.2 var(--serif);margin:23px 0 20px;color:#2d503b}.record-fragment blockquote{font:16px/1.7 var(--serif);margin:0;color:#52664a}.record-fragment>p{font:11px var(--sans);color:#7c7658;border-top:1px solid #ccd0bc;padding-top:17px;margin:22px 0 0}.record-story{padding:24px 8px 0}.record-story h3{font:23px/1.35 var(--serif);margin:0 0 13px;color:#3d5d3c}.record-story p{font:13px/1.75 var(--sans);margin:0;color:#647459}
.archive-phone{position:absolute;left:61%;top:1%;width:min(28%,260px,calc((100svh - 255px)*.45));z-index:4;opacity:0;pointer-events:none}.archive-phone.phone-visible{opacity:1;pointer-events:auto}.phone-shell{position:relative;padding:5px;background:#1d2d23;border-radius:35px}.phone-screen{position:relative;width:100%;aspect-ratio:390/844;overflow:hidden;border-radius:30px;background:#fcfcf8}
.river-controls{position:absolute;bottom:16px;right:18px;left:18px;display:flex;justify-content:flex-end;align-items:center;gap:16px;z-index:8}.river-scroll-cue{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;font:11px var(--sans);color:#526a53}.river-motion{width:44px;height:44px;border:1px solid #acb89a80;border-radius:50%;background:#f7f5edb3;font-size:13px;color:#647854;cursor:pointer}.river-motion:disabled{opacity:.45;cursor:default}.river-manual-nav{display:flex;gap:30px;margin:auto}.river-manual-nav button{background:none;border:0;min-height:44px;padding:10px;color:#49613f;font:13px var(--sans);cursor:pointer}.river-manual-nav button:disabled{opacity:.35;cursor:default}.river-skip{position:absolute;left:0;top:0;padding:12px;background:#f8f6ed;color:#355339;transform:translateY(150px);pointer-events:none}.river-skip:focus-visible{transform:none;pointer-events:auto}.river-controls button:focus-visible,.film-scene-ribbon button:focus-visible,.river-feature-grid button:focus-visible{outline:2px solid #536f46;outline-offset:4px}
.river-manual .river-stage{position:relative;height:auto;min-height:680px}.river-manual .river-world{flex:none;height:520px;min-height:520px;margin-bottom:76px}.river-manual .archive-phone{width:min(28%,250px)}
.private-preview-unavailable{position:absolute;top:80%;width:100%;font:13px var(--sans);text-align:center;color:#526849}
.river-features{padding-top:75px;padding-bottom:65px}.river-features>h2{font-size:clamp(32px,4vw,52px);font-weight:500;letter-spacing:-.04em;line-height:1.12;color:#31513b}.river-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 35px;margin-top:55px}.river-feature-grid>button{position:relative;text-align:left;border:0;border-top:1px solid #c8d0bc;padding:24px 12px 0 0;background:none;cursor:pointer;color:#385c3e}.river-feature-grid h3{font:21px var(--serif);margin:0 0 12px}.river-feature-grid p{font:14px/1.7 var(--sans);color:#61745a;margin:0;max-width:230px}.river-feature-grid>button>span{display:block;font-size:18px;margin-top:14px;color:#91a17a}.river-feature-grid>button:hover h3{color:#69804e}.journey-ready .join-section{padding-top:65px}.hero h2{font-size:clamp(38px,4.5vw,66px);line-height:1.1;max-width:560px;letter-spacing:-.05em}.journey-ready .hero{min-height:530px;padding-top:70px;padding-bottom:30px}
.static-core-features{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:35px}.static-core-features h3{font:23px var(--serif)}.static-core-features p{font:14px/1.8 var(--sans);color:#61745a;margin-top:14px}#archive-title{font-size:clamp(36px,5vw,64px);letter-spacing:-.045em;line-height:1.1}
@media(min-width:761px) and (max-height:820px){.river-copy{min-height:165px;padding-top:26px}.river-copy p{font-size:13px;margin-top:14px}.river-chapter-0 .river-copy{padding-top:100px;min-height:205px}.river-world{width:min(900px,84vw);max-height:505px}.film-composition{width:59%;left:31%}.film-caption{min-height:55px;padding:9px}.film-caption strong{font-size:17px}.film-caption span{font-size:9px}.film-scene-ribbon{margin-top:9px}.film-scene-ribbon img{aspect-ratio:2.3}.film-duration{margin-top:7px;font-size:10px}.record-fragment{padding:20px}.record-fragment h3{font-size:29px;margin:17px 0}.record-fragment blockquote{font-size:14px}.record-story{padding-top:18px}.record-story h3{font-size:21px}.record-story p{font-size:12px}.family-context p{margin-top:20px;font-size:19px}.photo-context{top:4%}.family-identities img{width:66px;height:66px}.photo-date-context{margin-top:22px;padding-top:16px}.photo-date-context>span{font-size:30px}.photo-date-context p{font-size:12px}}
@media(max-width:760px){
 .journey-ready .masthead{height:75px}.journey-ready .masthead .brand{font-size:18px}
 .river-copy{min-height:182px;padding:34px 20px 16px}.river-copy h1{font-size:38px;max-width:390px}.river-copy h2{font-size:30px;max-width:360px}.river-copy p{font-size:12px;max-width:335px;line-height:1.65;margin-top:15px}.river-chapter-0 .river-copy{padding-top:103px;min-height:236px}
 .river-world{width:94vw;min-height:455px;max-height:530px;margin-top:14px}.river-chapter-0 .river-world{min-height:365px;max-height:460px;margin-top:15px}.river-stage{min-height:710px}
 .family-print{padding:4px}.family-print figcaption{font-size:8px;padding:8px 2px 4px}.collection-print{padding:3px}.collection-print .family-image{max-height:90px}.collection-print.print-6{top:51%}
 .photo-context{left:63%;top:6%;width:34%}.family-identities{gap:17px 9px}.family-identities img{width:47px;height:47px;border-width:2px}.family-identities figcaption{font-size:9px;margin-top:5px}.photo-date-context{margin-top:24px;padding-top:14px}.photo-date-context>span{font-size:28px}.photo-date-context p{font-size:10px;line-height:1.6;margin-top:8px}

 .photo-placement-note{left:5%;top:48%;width:35%}.quiet-year{font-size:28px}.photo-placement-note p{font-size:16px;line-height:1.5}.memory-thread{display:none}
 .archive-phone,.river-manual .archive-phone{left:52%;width:min(44%,235px);top:4%}
 .film-composition{left:6%;top:0;width:88%}.film-caption{padding:10px 9px;min-height:64px}.film-caption strong{font-size:17px}.film-caption span{font-size:9px}.film-scene-ribbon{gap:5px;margin-top:10px}.film-scene-ribbon img{aspect-ratio:1.5}.film-scene-ribbon span{font-size:8px;padding-top:6px}.film-duration{font-size:10px;margin-top:8px}

 .film-timeline-proof{left:2%;top:4%;width:43%;display:block}.film-timeline-proof figure{width:82%;margin-bottom:15px}.film-timeline-proof figure:nth-child(2){margin-left:14%}.film-timeline-proof figcaption{font-size:9px;padding:7px 1px 4px}.film-timeline-proof>p{font-size:12px;line-height:1.5}
 .family-context{left:2%;top:43%;width:44%}.family-context .family-identities{grid-template-columns:repeat(3,1fr);gap:16px 7px}.family-context .family-identities img{width:42px;height:42px}.family-context .family-identities figcaption{font-size:8px}.family-context p{font-size:15px;line-height:1.5;margin-top:22px}
 .growth-composition{left:2%;top:7%;width:42%}.growth-portraits{display:grid;grid-template-columns:1fr 1fr;gap:17px 13px}.growth-portraits figure:nth-child(2){transform:translateY(42px)}.growth-portraits img{border-width:3px}.growth-portraits figcaption{font-size:10px;margin-top:9px}.growth-name{font-size:24px;text-align:left;margin:32px 0 20px}.growth-thread{margin-left:0}
 .remembering-composition{left:0;top:7%;width:47%;height:88%}.remembering-photo{left:26%;width:65%}.remembering-prompt{left:6%;top:34%;font-size:15px}.remembering-gesture{top:19%;left:70%;width:13px;height:13px}.remembering-swipe .remembering-photo,.remembering-swipe .remembering-gesture{transform:translateX(-15px) rotate(-3deg)}.remembering-composition>p{font-size:15px;bottom:4%;left:7%}
 .keepsake-composition{left:1%;top:2%;width:45%}.record-fragment{padding:15px 12px}.record-fragment>span{font-size:8px;line-height:1.5;display:block}.record-fragment h3{font-size:24px;margin:17px 0 14px}.record-fragment blockquote{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.record-fragment>p{font-size:9px;line-height:1.4;padding-top:13px;margin-top:15px}.record-story{padding:20px 2px 0}.record-story h3{font-size:18px;margin-bottom:10px}.record-story p{font-size:10px;line-height:1.7}
 .river-controls{bottom:12px;left:12px;right:12px}.river-scroll-cue{font-size:10px}.river-manual .river-stage{min-height:0}.river-manual .river-copy{padding-top:105px;min-height:240px}.river-manual .river-world{height:500px;min-height:500px;margin-bottom:72px}.river-manual-nav{gap:18px}.river-manual-nav button{font-size:11px}
 .river-features{padding-top:65px;padding-bottom:40px}.river-feature-grid{grid-template-columns:1fr 1fr;gap:28px 23px;margin-top:35px}.river-feature-grid h3{font-size:19px}.river-feature-grid p{font-size:12px;line-height:1.7}.static-core-features{grid-template-columns:1fr}
}
@media(max-width:370px){.river-copy h1{font-size:33px}.river-copy h2{font-size:27px}.river-copy p{font-size:11px}.river-manual .river-world{height:470px;min-height:470px}.record-fragment{padding:13px 9px}.record-fragment h3{font-size:21px}.record-fragment blockquote{font-size:10px}.record-story h3{font-size:16px}.record-story p{font-size:9px}.family-context .family-identities img{width:35px;height:35px}.photo-date-context p{font-size:9px}}
@media(prefers-reduced-motion:reduce){.memory-river *{transition:none!important}.remembering-swipe .remembering-photo,.remembering-swipe .remembering-gesture{transform:none}}
.motion-paused .memory-river *{transition:none!important}
/* A whole family photograph leads into the actual tree; portraits remain supporting details. */
.family-context{top:2%}.family-together{width:88%;margin-bottom:25px}.family-context p{font-size:18px;margin-top:19px}.growth-portraits img{aspect-ratio:auto;max-height:260px;object-fit:contain;border:0;box-shadow:0 8px 17px #493f291b}.growth-portraits figure:first-child{transform:rotate(-2deg)}.growth-portraits figure:last-child{transform:rotate(2deg)}
@media(max-width:760px){.family-together{width:100%;margin-bottom:24px}.family-context p{font-size:13px;margin-top:18px}.growth-portraits img{max-height:150px}.growth-portraits figure:last-child{margin-top:9px}}
/* Preserve the existing photographed box and tape while letting the paper show through their white matte. */
.memory-box,.memory-tape{mix-blend-mode:multiply}
/* Let the existing asset's white matte blend with the stage, not an isolated transparent layer. */
.river-world{isolation:auto}
/* The film, captions and scene selector must fit together within the resting stage. */
.film-composition{left:auto;right:4%;width:min(64%,calc((100svh - 330px)*.92))}
.river-chapter-0 .river-controls{bottom:100px}
@media(max-width:760px){.film-composition{left:6%;right:auto;width:88%}.river-chapter-0 .river-controls{bottom:88px}}
.river-manual.river-chapter-0 .river-controls{bottom:16px}

/* A persistent table of contents gives the collection a visible structure. */
.journey-ready body>.masthead{display:none}
.river-masthead{position:relative;z-index:10;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:30px;width:calc(100% - 88px);max-width:1320px;margin:0 auto;height:76px;border-bottom:1px solid #526a3e25}
.river-wordmark{display:flex;align-items:center;gap:10px;font:23px var(--serif);letter-spacing:-.04em;color:#244735}
.river-wordmark img{display:block;width:24px;height:27px}
.river-chapters{display:flex;gap:26px;height:100%;align-items:stretch}
.river-chapters button{position:relative;border:0;background:none;padding:0 1px;font:12px var(--sans);color:#77806c;white-space:nowrap;min-height:44px;transition:color .3s}
.river-chapters button:hover,.river-chapters button.is-current{color:#284934}
.chapter-underline{position:absolute;bottom:-1px;height:2px;left:0;right:0;background:#657a51;transform:scaleX(0);transform-origin:left;transition:transform .5s ease}
.is-current .chapter-underline{transform:scaleX(1)}
.river-enter{font:11px var(--sans);color:#53674c;white-space:nowrap}.river-enter span{margin-left:9px}
.river-chapters button:focus-visible,.river-wordmark:focus-visible,.river-enter:focus-visible{outline:2px solid #657a51;outline-offset:5px}
.river-copy{min-height:166px;padding:30px 0 25px;width:min(1080px,86vw);margin:0 auto;text-align:left}
.story-copy-arrival{display:grid;grid-template-columns:1.15fr 1fr;gap:68px;align-items:center}
.river-copy h1,.river-copy h2{font-family:var(--serif);font-size:clamp(30px,3.1vw,44px);font-weight:400;letter-spacing:-.045em;line-height:1.12;margin:0;max-width:570px;text-wrap:pretty}
.river-copy p{font-size:14px;line-height:1.8;margin:0;max-width:430px;color:#68735e}
.river-chapter-0 .river-copy{min-height:172px;padding-top:30px;padding-bottom:20px}
.river-copy .story-copy-opening h1{font-size:clamp(38px,3.8vw,54px);max-width:620px}
.river-world{margin-bottom:56px;max-height:600px;width:min(1040px,86vw)}
.river-chapter-0 .river-world{margin-top:0;margin-bottom:68px;max-height:600px}
.river-chapter-0 .river-controls{bottom:18px}
.river-scroll-cue{font:12px var(--serif);letter-spacing:.01em}
.river-stage{background:radial-gradient(ellipse at 48% 42%,#fffdf680,transparent 72%),#eeeadd}
@media(min-width:761px) and (max-height:820px){.river-masthead{height:62px}.river-copy,.river-chapter-0 .river-copy{min-height:144px;padding-block:23px}.river-copy h2{font-size:34px}.river-copy p{font-size:12px}.river-world{max-height:480px}.river-chapter-0 .river-world{max-height:480px}.film-composition{width:min(60%,calc((100svh - 390px)*.92))}}
@media(max-width:1000px) and (min-width:761px){.river-masthead{width:92%;gap:20px}.river-chapters{gap:16px}.river-chapters button{font-size:11px}.story-copy-arrival{gap:40px}.river-enter{display:none}}
@media(max-width:760px){
 .river-masthead{width:calc(100% - 36px);height:96px;display:grid;grid-template-columns:1fr auto;gap:0;align-content:center;border-bottom:0}
 .river-wordmark{font-size:20px;gap:7px}.river-wordmark img{width:21px;height:24px}.river-enter{font-size:10px}
 .river-chapters{grid-column:1/-1;grid-row:2;height:42px;justify-content:space-between;gap:10px;border-bottom:1px solid #526a3e25;margin-top:8px}
 .river-chapters button{font-size:9px;min-height:42px}.chapter-underline{height:1px}
 .river-copy,.river-chapter-0 .river-copy,.river-manual .river-copy{padding:22px 0 18px;width:calc(100% - 40px);min-height:174px;text-align:left}
 .story-copy-arrival{display:block}.river-copy h1,.river-copy h2{font-size:30px;max-width:370px;line-height:1.12}.river-copy .story-copy-opening h1{font-size:34px}
 .river-copy p{font-size:11px;line-height:1.7;margin-top:13px;max-width:345px}
 .river-world{width:94vw;min-height:400px;max-height:510px;margin-top:0;margin-bottom:58px}
 .river-chapter-0 .river-world{min-height:340px;max-height:460px;margin-top:0;margin-bottom:58px}
 .river-chapter-0 .river-controls{bottom:16px}.river-scroll-cue{font-size:11px}
 .river-manual .river-world{height:500px;min-height:500px}
 .river-manual .river-stage{min-height:0}
}
@media(max-width:760px){
 .river-chapter-5 .family-context{left:3%;top:0;width:94%}
 .river-chapter-5 .family-together{width:54%;margin:0 auto}
 .river-chapter-5 .family-context .family-identities{display:none}
 .memory-river.river-chapter-5 .archive-phone.is-detail{left:12%;top:34%;width:76%}
}

/* Opening objects leave together under scroll control, without chapter-boundary hiding. */
.river-pinned .collection-prints{visibility:visible;transition:none}

/* Crop the tape's white matte without blending its label through the photographs. */
.memory-tape{mix-blend-mode:normal;filter:drop-shadow(0 5px 6px #302b252b)}
.memory-tape img{clip-path:inset(14.8% 6.15% 15.2% 6.15% round 2%)}

/* The archive is packed into the photographed box, with a real front lip occluding it. */
.memory-box{mix-blend-mode:normal}
.box-backdrop{clip-path:polygon(2.9% 56.5%,11.2% 14.7%,12.1% 14.5%,18% 20.9%,18.7% 8.4%,20% 6.9%,23% 6.4%,78.3% 5.7%,79.6% 6.5%,79.8% 19.9%,89.7% 14.2%,90.5% 14.5%,97.1% 55.6%,97% 58.4%,89% 67.3%,85.6% 91%,83.7% 94%,16.2% 94%,14.7% 92.4%,11.6% 70.1%,10.6% 66.5%,3% 59%)}
.box-body{filter:drop-shadow(0 16px 15px #302b2524)}
.memory-box.box-front{z-index:6;pointer-events:none}
.box-front img{clip-path:polygon(12% 70.3%,44% 72%,66% 70.5%,88.9% 67.7%,86% 88%,83.7% 93.7%,16.2% 93.7%,14.7% 92%)}
.box-body .collection-prints{position:absolute;inset:0;opacity:1;visibility:visible;transition:none;z-index:3}
.box-body .collection-print{padding:4px;box-shadow:0 2px 4px #322a2433}
.box-body .collection-print .family-image{max-height:none;aspect-ratio:1.2}
.box-body .collection-print img{width:100%;height:100%;object-fit:cover}
.box-body .print-0{left:21%;top:26%;width:26%;transform:rotate(-10deg)}
.box-body .print-1{left:32%;top:18%;width:21%;transform:rotate(-12deg)}
.box-body .print-2{left:45%;top:20%;width:22%;transform:rotate(4deg)}
.box-body .print-3{left:55%;top:28%;width:24%;transform:rotate(7deg)}
.box-body .print-4{left:63%;top:43%;width:20%;transform:rotate(9deg)}
.box-body .print-5{left:17%;top:44%;width:22%;transform:rotate(-5deg)}
.box-body .print-6{left:30%;top:49%;width:23%;transform:rotate(-5deg)}
.box-body .print-7{left:46%;top:50%;width:21%;transform:rotate(7deg)}
.memory-lead{transform-origin:50% 90%}
@media(max-width:760px){.box-body .collection-print{padding:2px}}

/* Safari's browser chrome must not turn the scroll story into a slideshow. */
.river-pinned .river-stage{min-height:0}
@media(max-width:760px) and (max-height:739px){
 .river-pinned .river-masthead{height:80px}
 .river-pinned .river-copy,.river-pinned.river-chapter-0 .river-copy{min-height:0;padding:17px 0 15px}
 .river-pinned .river-copy h1,.river-pinned .river-copy h2{font-size:27px;line-height:1.1}
 .river-pinned .river-copy p{font-size:10px;line-height:1.6;margin-top:10px}
 .river-pinned .river-world,.river-pinned.river-chapter-0 .river-world{flex:1;min-height:0;max-height:none;margin-top:0;margin-bottom:50px}
 .river-pinned .archive-phone{width:min(44%,calc((100svh - 240px)*.41));top:2%}
 .river-pinned .archive-phone.is-detail{width:48%;top:12%}
 .river-pinned.river-chapter-5 .archive-phone.is-detail{left:17%;top:35%;width:min(66%,calc((100svh - 345px)*1.02))}
 .river-pinned.river-chapter-5 .family-together{width:43%}
 .river-pinned .film-composition{left:auto;right:6%;width:min(88%,calc((100svh - 340px)*.88))}
 .river-pinned .film-caption{min-height:0;padding:8px}
 .river-pinned .film-caption strong{font-size:15px}.river-pinned .film-caption span{font-size:8px;margin-top:4px}
 .river-pinned .film-scene-ribbon{margin-top:7px}.river-pinned .film-duration{margin-top:5px;font-size:9px}
 .river-pinned .photo-context{top:3%}.river-pinned .family-identities{gap:10px 8px}.river-pinned .family-identities img{width:39px;height:39px}
 .river-pinned .photo-date-context{margin-top:12px;padding-top:10px}.river-pinned .photo-date-context>span{font-size:24px}
 .river-pinned .photo-placement-note{top:49%}.river-pinned .photo-placement-note p{font-size:14px;margin-top:8px}.river-pinned .quiet-year{font-size:25px}
 .river-pinned .film-timeline-proof figure{width:70%;margin-bottom:9px}.river-pinned .film-timeline-proof>p{font-size:10px}
 .river-pinned .growth-portraits{gap:12px}.river-pinned .growth-portraits img{max-height:90px}.river-pinned .growth-name{font-size:22px;margin-top:18px}
 .river-pinned .record-fragment{padding:12px 10px}.river-pinned .record-fragment h3{font-size:21px;margin:12px 0 10px}.river-pinned .record-fragment blockquote{font-size:10px}
 .river-pinned .record-fragment>p{padding-top:9px;margin-top:10px}.river-pinned .record-story{padding-top:12px}.river-pinned .record-story h3{font-size:16px;margin-bottom:6px}.river-pinned .record-story p{font-size:9px;line-height:1.5}
}
@media(min-width:600px) and (max-height:540px){
 .river-pinned .river-stage{display:grid;grid-template-columns:30% 70%;grid-template-rows:54px minmax(0,1fr);padding:0 24px 40px;gap:0}
 .river-pinned .river-masthead{grid-column:1/-1;width:100%;height:54px;display:flex}.river-pinned .river-chapters{gap:14px;margin:0}.river-pinned .river-enter{display:none}
 .river-pinned .river-copy,.river-pinned.river-chapter-0 .river-copy{width:100%;min-height:0;padding:22px 20px 0 0;margin:0}.river-pinned .story-copy-arrival{display:block}
 .river-pinned .river-copy h1,.river-pinned .river-copy h2{font-size:26px}.river-pinned .river-copy p{font-size:10px;line-height:1.6;margin-top:15px}
 .river-pinned .river-world,.river-pinned.river-chapter-0 .river-world{width:95%;height:100%;min-height:0;max-height:none;margin:0 auto}
 .river-pinned .archive-phone{width:min(28%,calc((100svh - 110px)*.41));top:3%}
 .river-pinned .archive-phone.is-detail{left:53%;top:14%;width:44%}
 .river-pinned .film-composition{width:min(65%,calc((100svh - 190px)*.95));left:auto;right:5%;top:0}
 .river-pinned .film-caption{min-height:0;padding:5px}.river-pinned .film-caption strong{font-size:12px}.river-pinned .film-caption span{font-size:8px;margin-top:3px}
 .river-pinned .film-scene-ribbon{margin-top:5px;gap:4px}.river-pinned .film-scene-ribbon span{font-size:8px;padding-top:3px}.river-pinned .film-duration{font-size:8px;margin-top:3px}
 .river-pinned .family-identities{gap:10px}.river-pinned .family-identities img{width:32px;height:32px}.river-pinned .family-identities figcaption{font-size:8px;margin-top:4px}
 .river-pinned .family-together{margin-bottom:14px}.river-pinned .photo-date-context{margin-top:10px;padding-top:8px}.river-pinned .photo-date-context>span,.river-pinned .quiet-year{font-size:23px}.river-pinned .photo-date-context p{font-size:9px;line-height:1.5}
 .river-pinned .photo-placement-note p{font-size:13px;line-height:1.5;margin-top:8px}
 .river-pinned .film-timeline-proof{gap:8px}.river-pinned .film-timeline-proof figcaption{font-size:8px;padding:5px 0}.river-pinned .film-timeline-proof>p{font-size:11px}
 .river-pinned .growth-portraits{gap:8px}.river-pinned .growth-portraits img{max-height:110px}.river-pinned .growth-name{font-size:22px;margin:17px 0}.river-pinned .growth-portraits figcaption{font-size:9px}
 .river-pinned .remembering-composition>p{display:none}.river-pinned .remembering-prompt{font-size:12px}
 .river-pinned .record-fragment{padding:12px}.river-pinned .record-fragment>span{font-size:8px}.river-pinned .record-fragment h3{font-size:22px;margin:10px 0}.river-pinned .record-fragment blockquote{font-size:10px;line-height:1.5}.river-pinned .record-fragment>p{font-size:8px;margin-top:10px;padding-top:8px}
 .river-pinned .record-story{padding:10px 0 0}.river-pinned .record-story h3{font-size:15px;margin-bottom:6px}.river-pinned .record-story p{font-size:9px;line-height:1.5}
}

/* Show the evidence and the effect, rather than repeating a vague caption. */
.date-evidence-label{display:block;font:10px var(--sans);color:#728064;margin-bottom:7px}
.photo-placement-note p{font-size:19px;line-height:1.5;margin-top:8px}
.photo-placement-note small{font:11px/1.6 var(--sans);color:#748169}
.placement-years{display:flex;justify-content:space-between;position:relative;margin-top:23px;padding-top:13px;border-top:1px solid #aeb99e;font:12px var(--serif);color:#87917c;max-width:240px}
.placement-years>*{position:relative}.placement-years>*:before{content:'';position:absolute;top:-17px;left:50%;width:5px;height:5px;background:#acb69d;border-radius:50%}.placement-years strong{font-weight:400;color:#294f38}.placement-years strong:before{background:#426b45;width:7px;height:7px;top:-18px}
.remembering-composition{left:3%;top:2%;width:42%;height:94%}
.order-question{position:absolute;left:8%;top:0;font:17px var(--serif);color:#526c48;transition:opacity .5s}
.order-card{position:absolute;width:62%;transition:left .8s ease,top .8s ease,transform .8s ease}
.order-earlier{left:8%;top:9%;transform:rotate(-4deg)}.order-later{left:30%;top:47%;transform:rotate(4deg)}
.order-card .family-image{aspect-ratio:1.4}.order-card img{width:100%;height:100%;object-fit:cover}.order-card>span{position:absolute;left:-53px;top:45%;font:12px var(--serif);color:#54704b;opacity:0;transition:opacity .5s .2s}
.order-track{position:absolute;left:13%;top:17%;height:59%;border-left:1px solid #a5b393;opacity:0;transition:opacity .5s}
.remembering-ordered .order-earlier{left:26%;top:7%;transform:rotate(0)}.remembering-ordered .order-later{left:26%;top:48%;transform:rotate(0)}
.remembering-ordered .order-card>span,.remembering-ordered .order-track{opacity:1}.remembering-ordered .order-question{opacity:0}
.remembering-composition>.order-explanation{position:absolute;left:8%;bottom:0;font:16px/1.5 var(--serif);margin:0;color:#55714c}
@media(max-width:760px){
 .photo-placement-note p{font-size:15px}.photo-placement-note small{font-size:9px}.date-evidence-label{font-size:9px}.placement-years{font-size:10px;margin-top:19px;padding-top:11px}
 .remembering-composition{left:1%;width:46%;top:3%;height:91%}.order-question{font-size:13px;left:4%}.order-card{width:68%}.order-card .family-image{aspect-ratio:1.15}.order-card>span{font-size:10px;left:-36px}
 .order-earlier{left:5%;top:11%}.order-later{left:22%;top:45%}.remembering-ordered .order-earlier,.remembering-ordered .order-later{left:26%}
 .remembering-composition>.order-explanation{font-size:13px;left:3%;bottom:3%}
}
@media(max-width:760px) and (max-height:739px){
 .river-pinned .date-evidence-label{font-size:8px}.river-pinned .photo-placement-note p{font-size:13px}.river-pinned .photo-placement-note small{font-size:8px}.river-pinned .placement-years{font-size:9px;margin-top:15px}
 .river-pinned .order-question{font-size:12px}.river-pinned .remembering-composition>.order-explanation{font-size:11px;bottom:1%}
}
@media(min-width:600px) and (max-height:540px){
 .river-pinned .date-evidence-label{font-size:8px}.river-pinned .photo-placement-note small{font-size:8px}.river-pinned .placement-years{font-size:9px;margin-top:12px}
 .river-pinned .order-card{width:57%}.river-pinned .order-card>span{font-size:9px;left:-37px}.river-pinned .order-question{font-size:12px}
 .river-pinned .remembering-composition>.order-explanation{display:none}
}

.photo-observations .observation-label{font:10px var(--sans);color:#728064;display:block}
.photo-observations h3{font:25px/1.25 var(--serif);color:#355840;margin:12px 0 0}
.photo-observations p{font-size:13px;margin-top:10px;line-height:1.7}
@media(max-width:760px){.photo-observations .observation-label{font-size:9px}.photo-observations h3{font-size:19px;margin-top:9px}.photo-observations p{font-size:10px}}
@media(max-width:760px) and (max-height:739px){.river-pinned .photo-observations .observation-label{font-size:8px}.river-pinned .photo-observations h3{font-size:17px}.river-pinned .photo-observations p{font-size:9px;margin-top:7px}}
@media(min-width:600px) and (max-height:540px){.river-pinned .photo-observations .observation-label{font-size:8px}.river-pinned .photo-observations h3{font-size:18px;margin-top:7px}.river-pinned .photo-observations p{font-size:9px}}

.film-timeline-proof figcaption strong{display:block;font:14px/1.35 var(--serif);color:#35563e}.film-timeline-proof figcaption span{display:block;margin-top:6px;font:10px/1.4 var(--sans);color:#7b866d}
@media(max-width:760px){.film-timeline-proof figcaption strong{font-size:11px}.film-timeline-proof figcaption span{font-size:8px;margin-top:4px}}
@media(min-width:600px) and (max-height:540px){.river-pinned .film-timeline-proof figcaption strong{font-size:10px}.river-pinned .film-timeline-proof figcaption span{font-size:8px}}

@media(min-width:761px) and (min-height:541px){.river-chapter-8 .archive-phone.is-detail{width:min(40%,calc((100svh - 380px)*.796));top:8%}}
@media(max-width:760px) and (max-height:739px){.river-pinned .film-duration{display:none}}

/* Chapter text shares a measured track. Content changes never move the stage. */
.memory-river .river-copy{display:grid;min-height:166px;padding:30px 0 25px}
.story-copy-arrival{grid-area:1 / 1;align-self:start;visibility:hidden;pointer-events:none}
.story-copy-arrival.is-active{visibility:visible;pointer-events:auto}
.story-copy-arrival:not(.is-active)>*{animation:none}
.memory-river .river-world{margin-top:0;margin-bottom:56px;min-height:360px;max-height:600px}
@media(min-width:761px) and (max-height:820px){
 .memory-river .river-copy{min-height:144px;padding-block:23px}
 .memory-river .river-world{max-height:480px}
}
@media(max-width:760px){
 .memory-river .river-copy{min-height:174px;padding:22px 0 18px}
 .memory-river .river-world{min-height:400px;max-height:510px;margin-top:0;margin-bottom:58px}
 .memory-river.river-manual .river-world{height:500px;min-height:500px}
}
@media(max-width:760px) and (max-height:739px){
 .memory-river.river-pinned .river-copy{min-height:0;padding:17px 0 15px}
 .memory-river.river-pinned .river-world{flex:1;min-height:0;max-height:none;margin-top:0;margin-bottom:50px}
}
@media(min-width:600px) and (max-height:540px){
 .memory-river.river-pinned .river-copy{min-height:0;padding:22px 20px 0 0;margin:0}
 .memory-river.river-pinned .river-world{height:100%;min-height:0;max-height:none;margin:0 auto}
}

/* A second human contribution connects the same family photographs by person. */
.connection-question{position:absolute;left:8%;top:0;font:17px var(--serif);color:#526c48;opacity:0;transition:opacity .5s}
.remembering-connected .connection-question{opacity:1}
.remembering-connected .order-track,.remembering-connected .order-card>span{opacity:0}
.contribution-copy{position:absolute;left:8%;bottom:0;display:grid;font:16px/1.5 var(--serif);color:#55714c}
.contribution-copy p{grid-area:1/1;margin:0;visibility:hidden;opacity:0;transition:opacity .4s}
.contribution-copy p.is-current{visibility:visible;opacity:1}
@media(max-width:760px){.connection-question{font-size:12px;left:4%}.contribution-copy{font-size:12px;left:5%}}
@media(max-width:760px) and (max-height:739px){.contribution-copy{font-size:11px;max-width:155px}}
@media(min-width:600px) and (max-height:540px){.contribution-copy{display:none}.connection-question{font-size:12px}}
/* The complete three-generation app screen sits beside the family photograph. */
@media(max-width:760px){
 .memory-river.river-chapter-5 .family-context{left:3%;top:12%;width:40%}
 .memory-river.river-chapter-5 .family-together{width:100%;margin:0}
}

/* A home film becomes meaningful moments, with its saved titles in the foreground. */
.memory-river .film-discovery{inset:2% 4% auto;width:92%;height:92%;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:24px 30px}
.film-window{position:relative;min-height:0;align-self:stretch}
.film-excerpt{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s,visibility .6s}
.film-excerpt.is-current{opacity:1;visibility:visible}
.film-excerpt video{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 14px 16px #27392b22)}
.film-understanding{display:grid;align-content:center;min-width:0}
.film-moment-copy{grid-area:1/1;visibility:hidden;opacity:0;transition:opacity .5s}
.film-moment-copy.is-current{visibility:visible;opacity:1}
.film-generated-label{display:block;font:10px/1.5 var(--sans);color:#718066}
.film-moment-copy h3,.film-archive-summary h3{font:30px/1.12 var(--serif);color:#2b503a;letter-spacing:-.025em;margin:13px 0}
.film-moment-copy p,.film-archive-summary>p{font:13px/1.65 var(--sans);color:#66755d;margin:0 0 15px}
.film-moment-date{font:12px var(--sans);color:#5b704f}
.film-people{display:flex;gap:14px;margin-top:20px}
.film-people>span{display:flex;flex-direction:column;align-items:center;gap:6px;font:10px var(--sans);color:#4c6647}
.film-people img{width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #fffdf6}
.film-chapter-track{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #acb69c;gap:24px}
.film-chapter-track button{position:relative;border:0;background:none;text-align:left;padding:12px 0 0;color:#85907b;font:15px var(--serif);cursor:pointer}
.film-chapter-track button:before{content:'';position:absolute;top:-2px;left:0;height:3px;width:100%;background:#466449;transform:scaleX(0);transform-origin:left;transition:transform .55s}
.film-chapter-track button[aria-pressed=true]{color:#2e503b}.film-chapter-track button[aria-pressed=true]:before{transform:scaleX(1)}
.film-chapter-track button>span{display:block;font:10px var(--sans);margin-bottom:5px}
.memory-river .film-archive-summary{display:block;top:10%;left:4%;width:41%}
.film-found-moments{display:flex;gap:12px;margin-top:25px}
.film-found-moments figure{flex:1;min-width:0;margin:0;background:none;padding:0;box-shadow:none}
.film-found-moments figcaption{font:13px/1.3 var(--serif);padding:9px 0;color:#4c6748}
/* A discovery leads; the real source remains available alongside it. */
.memory-river .research-discovery{left:3%;top:3%;width:43%}
.research-clue{display:flex;flex-direction:column;gap:6px;padding-left:20px;border-left:2px solid #809276}
.research-clue>span{font:10px var(--sans);color:#718064}.research-clue>strong{font:23px var(--serif);color:#35563e}
.research-thread{height:26px;border-left:1px dashed #98a389;margin-left:21px}
.discovery-story{background:#faf7eb;padding:26px;box-shadow:0 12px 28px #39442a16}
.discovery-year{font:15px var(--serif);color:#9a8153}
.discovery-story h3{font:32px/1.15 var(--serif);letter-spacing:-.025em;color:#34573e;margin:14px 0}
.discovery-story p{font:13px/1.7 var(--sans);color:#64735b;margin:0}
.discovery-story footer{display:flex;flex-direction:column;gap:6px;font:9px/1.5 var(--sans);color:#7b846b;margin-top:24px;border-top:1px solid #d3d6c5;padding-top:15px}
@media(max-width:760px){
 .memory-river .film-discovery{inset:0 5% auto;width:90%;height:96%;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto auto;gap:14px}
 .film-understanding{display:grid;align-content:start}.film-moment-copy{position:relative;padding-right:0}
 .film-moment-copy h3{font-size:24px;margin:5px 0 7px}.film-moment-copy p{font-size:11px;line-height:1.5;margin:0 0 6px;max-width:88%}
 .film-generated-label{font-size:8px}.film-moment-date{font-size:9px}
 .film-people{position:absolute;right:0;bottom:0;gap:6px;margin:0}.film-people img{width:24px;height:24px}.film-people>span{font-size:8px;gap:3px}
 .film-chapter-track{gap:16px}.film-chapter-track button{font-size:13px;padding-top:8px}.film-chapter-track button>span{font-size:8px;margin-bottom:3px}
 .memory-river .film-archive-summary{top:8%;left:3%;width:41%}.film-archive-summary h3{font-size:23px;margin:10px 0}.film-archive-summary>p{font-size:10px;line-height:1.6;margin:0}
 .film-found-moments{display:block;margin-top:18px}.film-found-moments figure{width:90%;margin:0 0 13px}.film-found-moments figcaption{font-size:11px;padding:6px 0}
 .memory-river .research-discovery{left:1%;top:4%;width:45%}.research-clue{padding-left:10px;gap:5px}.research-clue>span{font-size:8px}.research-clue>strong{font-size:18px}.research-thread{height:20px;margin-left:11px}
 .discovery-story{padding:16px 13px}.discovery-year{font-size:13px}.discovery-story h3{font-size:23px;margin:10px 0}.discovery-story p{font-size:10px;line-height:1.6}.discovery-story footer{font-size:8px;margin-top:16px;padding-top:10px}
}
@media(max-width:760px) and (max-height:739px){
 .memory-river .film-discovery{gap:10px}.film-moment-copy h3{font-size:20px}.film-moment-copy p{font-size:10px;max-width:100%;margin-bottom:6px}.film-people{display:none}
 .film-archive-summary h3{font-size:19px}.film-archive-summary>p{font-size:9px}.film-found-moments{display:flex;gap:7px;margin-top:14px}.film-found-moments figcaption{font-size:9px}
 .memory-river .research-discovery{top:1%}.research-clue>strong{font-size:16px}.research-thread{height:14px}.discovery-story{padding:13px 11px}.discovery-story h3{font-size:20px}.discovery-story p{font-size:9px}.discovery-story footer{font-size:7px;margin-top:11px;padding-top:8px}
}
@media(min-width:600px) and (max-height:540px){
 .memory-river .film-discovery{inset:3% 3% auto;width:94%;height:90%;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:12px 18px}
 .film-moment-copy h3{font-size:22px}.film-moment-copy p{font-size:10px}.film-moment-date{font-size:9px}.film-people{display:none}
 .film-archive-summary h3{font-size:21px}.film-archive-summary>p{font-size:10px}.film-found-moments{margin-top:12px}
 .discovery-story{padding:14px}.discovery-story h3{font-size:23px}.discovery-story p{font-size:10px}.discovery-story footer{font-size:8px;margin-top:12px;padding-top:8px}.research-thread{height:16px}.research-clue>strong{font-size:19px}
}
@media(prefers-reduced-motion:reduce){.film-excerpt,.film-moment-copy,.film-chapter-track button:before{transition:none}}

/* Compositions share the center of their canvas, independent of chapter copy. */
.memory-river .photo-context{top:50%;transform:translateY(-50%)}
.memory-river .photo-placement-note{top:calc(50% + 20px)}
.memory-river .archive-phone{top:50%;transform:translateY(-50%)}
.memory-river .film-archive-summary{top:50%;transform:translateY(-50%)}
.memory-river .family-context{top:50%;transform:translateY(-50%)}
.memory-river .growth-composition{top:50%;transform:translateY(-50%)}
@media(max-width:760px){
 .memory-river .river-copy{text-align:center}
 .memory-river .river-copy h1,.memory-river .river-copy h2,.memory-river .river-copy p{margin-left:auto;margin-right:auto}
 .memory-river .river-copy .story-copy-opening h1{font-size:30px}
 .memory-river .river-world{max-height:none;min-height:0;flex:1}
 .memory-river .photo-context{left:64%;width:31%}
 .memory-river .photo-placement-note{left:6%;width:35%}
 .memory-river .archive-phone{left:54%}
 .memory-river.river-chapter-5 .family-context{top:50%;left:3%;width:40%}
 .memory-river.river-chapter-5 .family-together{width:100%}
 .memory-river .archive-phone.is-detail{left:51%;width:46%}
}
@media(max-width:760px) and (max-height:739px){
 .memory-river .river-copy .story-copy-opening h1{font-size:27px}
}
@media(min-width:600px) and (max-height:540px){
 .memory-river .river-copy{text-align:left}
 .memory-river .river-copy h1,.memory-river .river-copy h2,.memory-river .river-copy p{margin-left:0}
}
/* Reveal AI-written words without changing wrapping or announcing every letter. */
.ai-written{position:relative}
.written-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.ai-written>span[aria-hidden]>span{opacity:0}
.ai-written.is-writing>span[aria-hidden]>span{animation:ink-arrives 1ms linear var(--letter-delay) both}
@keyframes ink-arrives{from{opacity:0}to{opacity:1}}
.ai-written.writing-still>span[aria-hidden]>span{opacity:1;animation:none}
.motion-paused .ai-written>span[aria-hidden]>span{opacity:1;animation:none}
@media(prefers-reduced-motion:reduce){.ai-written>span[aria-hidden]>span{opacity:1;animation:none}}

/* One unbroken measure of the whole journey replaces the section tab strip. */
.memory-river .river-masthead{display:flex;height:72px;justify-content:space-between;border-bottom:0}
.river-scroll-progress{position:absolute;z-index:8;left:28px;right:88px;bottom:37px;height:2px;background:#8f9f7c35;pointer-events:none}
.river-scroll-progress>span{display:block;width:100%;height:100%;background:#526c46;transform:scaleX(0);transform-origin:left;will-change:transform}
.memory-river .river-scroll-cue{bottom:48px}
.river-manual .river-scroll-progress{bottom:8px;right:28px}
/* The same person's photographs read left to right, beside the actual age view. */
.memory-river .growth-composition{left:3%;width:44%}
.memory-river .growth-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end}
.memory-river .growth-portraits figure{transform:none;margin:0}
.memory-river .growth-portraits img{width:100%;height:170px;max-height:none;object-fit:contain;object-position:center bottom;box-shadow:none}
.memory-river .growth-portraits figcaption{margin-top:12px;white-space:nowrap}
.memory-river .growth-name{text-align:center;margin:24px 0 0}
.memory-river .growth-thread{display:none}
@media(max-width:760px){
 .memory-river .river-masthead{height:60px}
 .river-scroll-progress{left:22px;right:76px;bottom:34px}
 .memory-river.river-chapter-6 .growth-composition{top:29%;left:9%;width:82%}
 .memory-river .growth-portraits{gap:15px}
 .memory-river .growth-portraits img{height:110px}
 .memory-river .growth-portraits figcaption{font-size:10px;margin-top:9px}
 .memory-river .growth-name{font-size:23px;margin:15px 0 0}
 .memory-river.river-chapter-6 .archive-phone.is-detail{left:15%;width:70%;top:74%}
}
@media(max-width:760px) and (max-height:739px){
 .memory-river .river-masthead{height:54px}
 .memory-river .growth-portraits img{height:76px}
 .memory-river .growth-name{font-size:20px;margin-top:10px}
 .memory-river.river-chapter-6 .archive-phone.is-detail{left:20%;width:60%;top:74%}
}
@media(min-width:600px) and (max-height:540px){
 .memory-river .river-masthead{height:54px}
 .memory-river .growth-portraits img{height:110px}
 .memory-river.river-chapter-6 .growth-composition{left:3%;width:44%;top:50%}
 .memory-river.river-chapter-6 .archive-phone.is-detail{left:53%;width:44%;top:50%}
}
@media(max-width:760px) and (max-height:739px){
 .memory-river.river-chapter-6 .growth-composition{top:24%}
}

/* Reading transitions are scrubbed by the same timeline as the photographs.
   No time-based entrance or visibility delay competes with the user's scroll. */
.river-pinned .story-copy-arrival>*{animation:none!important}
.river-pinned .chapter-panel,.river-pinned .research-phase{transition:none!important}

/* Headline and explanation belong to one reading column above the example. */
@media(min-width:761px) and (min-height:541px){
 .memory-river .river-copy{width:min(1040px,86vw);text-align:center;padding:24px 0 20px;min-height:0}
 .memory-river .story-copy-arrival{display:block}
 .memory-river .river-copy h1,.memory-river .river-copy h2{max-width:800px;margin:0 auto;font-size:42px;line-height:1.12;text-wrap:balance}
 .memory-river .river-copy .story-copy-opening h1{font-size:48px;max-width:850px}
 .memory-river .river-copy p{max-width:650px;margin:14px auto 0;font-size:15px;line-height:1.65;color:#5b6b53;text-wrap:pretty}
 .memory-river .river-world{width:min(1040px,86vw)}
}
@media(min-width:761px) and (min-height:541px) and (max-height:820px){
 .memory-river .river-copy{padding:18px 0 16px}
 .memory-river .river-copy h1,.memory-river .river-copy h2{font-size:33px;max-width:760px}
 .memory-river .river-copy .story-copy-opening h1{font-size:38px}
 .memory-river .river-copy p{font-size:12px;line-height:1.6;margin-top:10px;max-width:580px}
}
.memory-river .photo-placement-note small{display:block;max-width:240px;margin-top:5px;line-height:1.5}
@media(min-width:761px) and (min-height:541px){
 .memory-river .archive-phone:not(.is-detail){width:min(28%,245px,calc((100svh - 285px)*.4))}
 .memory-river .photo-placement-note{width:34%}
 .memory-river .photo-placement-note .placement-years{max-width:none}
}
.memory-river .memory-thread{display:none}

/* Explain the evidence, instead of repeating an arbitrary three-date chart. */
.memory-river .date-clues{left:6%;top:44%;width:42%;transform:none}
.date-clues dl{margin:0;display:grid;gap:9px}
.date-clues dl>div{padding-left:12px;border-left:1px solid #aebba0}
.date-clues dt{font:12px/1.35 var(--sans);color:#35553e}
.date-clues dd{font:11px/1.4 var(--sans);margin:3px 0 0;color:#728066}
.memory-river .date-clue-result{margin:15px 0 0;padding-top:12px;border-top:1px solid #b8c3aa;font:18px/1.35 var(--serif);color:#365840}
.date-clue-result span{display:block;font:9px/1.4 var(--sans);color:#748069;margin-bottom:4px}.date-clue-result strong{font-weight:400}
/* A continuous source above the named chapters makes the transformation explicit. */
.film-source-duration{grid-column:1/-1;display:flex;align-items:center;gap:12px;font:10px var(--sans);color:#748268}
.film-source-duration strong{font-weight:400;white-space:nowrap;color:#4d6947}
.film-source-duration i{height:1px;background:#9eac8c66;flex:1}
.memory-river .film-discovery{grid-template-rows:minmax(0,1fr) auto auto;row-gap:18px}
/* A named-person collection and its real age view share a single layout. */
.memory-river.river-chapter-6 .profile-composition,.memory-river .profile-composition{left:5%;top:50%;width:90%;transform:translateY(-50%);display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.profile-photographs header{display:flex;align-items:center;gap:13px;margin-bottom:24px}
.profile-photographs header>img{width:52px;height:52px;object-fit:cover;border-radius:50%}
.profile-photographs h3{font:29px/1.2 var(--serif);color:#34543d;margin:0}.profile-photographs header p{font:11px var(--sans);color:#758268;margin:7px 0 0}
.memory-river .profile-composition .growth-portraits{gap:14px;align-items:end}
.memory-river .profile-composition .growth-portraits img{height:180px;max-height:180px}
.profile-age-view{margin:0;min-width:0}.profile-age-view>img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 18px 32px #30492e17}
.profile-age-view figcaption{font:14px var(--serif);color:#6c7d5e;text-align:center;margin-top:18px}
@media(max-width:760px){
 .memory-river .date-clues{left:5%;top:30%;width:43%}.date-clues dl{gap:7px}.date-clues dl>div{padding-left:8px}.date-clues dt{font-size:10px}.date-clues dd{font-size:9px;line-height:1.35;margin-top:2px}
 .memory-river .date-clue-result{font-size:14px;margin-top:10px;padding-top:9px}.date-clue-result span{font-size:7px}
 .memory-river .film-discovery{grid-template-rows:minmax(0,1fr) auto auto auto;row-gap:10px}.film-source-duration{font-size:8px;gap:8px}
 .memory-river.river-chapter-6 .profile-composition,.memory-river .profile-composition{left:8%;width:84%;grid-template-columns:1fr;gap:26px}
 .profile-photographs header{justify-content:center;margin-bottom:18px;gap:10px}.profile-photographs header>img{width:36px;height:36px}.profile-photographs h3{font-size:23px}.profile-photographs header p{font-size:9px;margin-top:4px}
 .memory-river .profile-composition .growth-portraits img{height:105px}.memory-river .profile-composition .growth-portraits figcaption{font-size:9px}
 .profile-age-view{width:76%;margin:0 auto}.profile-age-view figcaption{font-size:12px;margin-top:10px}
}
@media(max-width:760px) and (max-height:739px){
 .date-clues dl{gap:4px}.date-clues dt{font-size:9px}.date-clues dd{font-size:8px}.memory-river .date-clue-result{font-size:12px;margin-top:8px;padding-top:7px}
 .memory-river .film-discovery{row-gap:8px}
 .memory-river.river-chapter-6 .profile-composition,.memory-river .profile-composition{gap:15px}
 .profile-photographs header{margin-bottom:10px}.profile-photographs h3{font-size:20px}.profile-photographs header>img{width:30px;height:30px}
 .memory-river .profile-composition .growth-portraits img{height:66px}.profile-age-view{width:63%}.profile-age-view figcaption{margin-top:7px;font-size:10px}
}
@media(min-width:761px) and (max-height:820px){
 .date-clues dl{gap:6px}.date-clues dt{font-size:11px}.date-clues dd{font-size:10px}.memory-river .date-clue-result{margin-top:11px;padding-top:9px}
 .memory-river .profile-composition .growth-portraits img{height:135px}.profile-photographs h3{font-size:25px}
}
@media(min-width:600px) and (max-height:540px){
 .memory-river .date-clues{top:41%}.date-clues dl{gap:3px}.date-clues dt{font-size:9px}.date-clues dd{font-size:8px}.memory-river .date-clue-result{font-size:13px;margin-top:7px;padding-top:6px}
 .memory-river.river-chapter-6 .profile-composition,.memory-river .profile-composition{grid-template-columns:1.15fr 1fr;gap:22px;width:90%;left:5%}.profile-photographs header{justify-content:start;margin-bottom:13px}.profile-photographs h3{font-size:20px}.profile-photographs header>img{width:30px;height:30px}.memory-river .profile-composition .growth-portraits img{height:105px}.profile-age-view{width:100%}
}
/* Read the source first, then the scenes Everla finds inside it. */
.memory-river .film-discovery{grid-template-rows:auto minmax(0,1fr) auto}
.film-source-duration{grid-row:1}.film-window{grid-row:2;grid-column:1}.film-understanding{grid-row:2;grid-column:2}.film-chapter-track{grid-row:3}
@media(max-width:760px){
 .memory-river .film-discovery{grid-template-rows:auto minmax(0,1fr) auto auto}
 .film-understanding{grid-row:3;grid-column:1}.film-chapter-track{grid-row:4}
}
@media(min-width:600px) and (max-height:540px){
 .memory-river .film-discovery{grid-template-rows:auto minmax(0,1fr) auto}
 .film-understanding{grid-row:2;grid-column:2}.film-chapter-track{grid-row:3}
}
/* Consistent photo windows keep a person's collection from looking scattered. */
.memory-river .profile-composition .growth-portraits img{object-fit:cover;object-position:center;border-radius:2px}
/* Keep film proof compact at the tablet/mobile breakpoint too. */
.memory-river .film-found-moments{display:flex;gap:12px;align-items:start}
.memory-river .film-found-moments figure{flex:1;min-width:0;width:auto;margin:0}
@media(min-width:600px) and (max-width:760px) and (min-height:541px){
 .memory-river .date-clues{top:36%}
}

@media(min-width:600px) and (max-height:540px){
 .date-clues dt{line-height:1.15}.date-clues dd{line-height:1.15;margin-top:1px}
}


/* Keep navigation and the reading column anchored; the opening box responds
   to the first swipe inside this stable stage. */
.memory-river.river-pinned .river-stage{top:0}
.memory-river .river-scroll-progress{
 left:auto;right:max(16px,env(safe-area-inset-right));top:50%;bottom:auto;
 width:2px;height:clamp(80px,13svh,112px);transform:translateY(-50%);
 border-radius:2px;
}
.memory-river .river-scroll-progress>span{transform:scaleY(0);transform-origin:top;transition:none}
.memory-river .river-scroll-progress:after{
 content:'';position:absolute;left:-2px;bottom:-8px;width:6px;height:6px;
 border-right:1px solid #526c46;border-bottom:1px solid #526c46;transform:rotate(45deg);
}
.memory-river .river-scroll-cue{bottom:48px;text-align:center;font:12px/1.5 var(--serif)}
.memory-river .river-scroll-cue>span{display:block;font-size:24px;line-height:1.25;margin-top:5px}
.memory-river .river-controls{bottom:max(16px,env(safe-area-inset-bottom))}
.memory-river .river-masthead{padding-top:env(safe-area-inset-top)}
@media(max-width:760px){
 .memory-river .river-scroll-progress{right:max(10px,env(safe-area-inset-right));height:88px}
 .memory-river .river-scroll-cue{font-size:12px}
}
/* A chapter meter remains useful when the reader chooses manual progression. */
.memory-river.river-manual .river-stage{top:0}
@media(prefers-reduced-motion:reduce){.memory-river .river-stage{top:0}}



/* Mobile reading sizes: the shared grid still reserves the tallest chapter,
   so changing chapters never shifts the box, photographs or phone. */
@media(max-width:760px){
 .memory-river .river-masthead{height:64px;flex-shrink:0;box-sizing:content-box}
 .memory-river .river-enter{font-size:14px}
 .memory-river .river-copy{width:calc(100% - 48px);padding:16px 0 20px;text-align:center}
 .memory-river .river-copy h1,.memory-river .river-copy h2,.memory-river .river-copy .story-copy-opening h1{font-size:32px;line-height:1.14;margin-inline:auto;text-wrap:balance}
 .memory-river .river-copy p{font-size:16px;line-height:1.5;margin:12px auto 0;max-width:360px;text-wrap:pretty}
 .memory-river .river-scroll-cue{font-size:14px}
 .river-feature-grid p,.static-core-features p{font-size:16px;line-height:1.6}
}
@media(max-width:380px){
 .memory-river .river-copy{width:calc(100% - 40px)}
 .memory-river .river-copy h1,.memory-river .river-copy h2,.memory-river .river-copy .story-copy-opening h1{font-size:29px}
}
@media(max-height:540px){
 .memory-river .river-masthead{height:48px}
 .memory-river .river-copy{padding:10px 0 12px}
 .memory-river .river-copy h1,.memory-river .river-copy h2,.memory-river .river-copy .story-copy-opening h1{font-size:25px;line-height:1.12}
 .memory-river .river-copy p{font-size:14px;line-height:1.4;margin-top:8px}
}

/* The scroll hint belongs with the controls, clear of the box and its contents. */
.memory-river .river-scroll-cue{top:50%;bottom:auto;transform:translate(-50%,-50%);font-size:14px}
.memory-river .river-scroll-cue>span{display:inline;font-size:18px;line-height:1;margin:0 0 0 6px}
@media(max-width:760px) and (max-height:700px){
 .memory-river .river-copy p{font-size:14px;line-height:1.5}
 .memory-river .river-copy h1,.memory-river .river-copy h2,.memory-river .river-copy .story-copy-opening h1{font-size:29px}
 .memory-river .film-moment-copy p,.memory-river .film-people{display:none}
 .memory-river .film-generated-label{font-size:10px}
 .memory-river .film-moment-date{font-size:11px}
 .memory-river .film-moment-copy h3{font-size:20px;margin:5px 0}
}

/* A quiet invitation after the scroll story, with one clear next step. */
.hero.hero-summary,.journey-ready .hero.hero-summary{display:block;min-height:0;padding-block:88px 64px}
.hero-summary .hero-copy{max-width:680px;margin-inline:auto;text-align:center}
.hero-summary h2{margin-inline:auto}
.hero.hero-summary .lede{max-width:600px;margin:24px auto 28px;font-size:17px;line-height:1.65}
.hero.hero-summary .quiet{margin:18px auto 0;font-size:14px;line-height:1.5}
@media(max-width:760px){
 .hero.hero-summary,.journey-ready .hero.hero-summary{padding-block:56px 40px}
 .hero.hero-summary h2{font-size:36px;line-height:1.15}
 .hero.hero-summary .lede{font-size:16px;margin-block:20px 24px}
 .hero.hero-summary .quiet{max-width:280px}
}
