/* Each scroll advances the story 15% less: stretch the sticky travel range by 1 / .85.
   Keep the visible stage height unchanged, including short desktop viewports. */
.journey{height:calc(max(100svh,580px) + (1075.36svh - max(100svh,580px)) / .85)}
.profile-memory{position:absolute;inset:0;z-index:30;background:radial-gradient(ellipse at 72% 75%,#2a586c65,transparent 55%),#010d1f;opacity:0;pointer-events:none;overflow:hidden;color:#dee8f9}
.profile-memory:before{content:'';position:absolute;left:42%;top:4%;width:70vw;height:70vw;border:1px solid #92a8ae12;border-radius:50%;box-shadow:0 0 0 8vw #92a8ae03,0 0 0 16vw #92a8ae02}
.profile-device{position:absolute;transform-origin:0 0;filter:drop-shadow(0 28px 40px #0007);will-change:transform;isolation:isolate}
.profile-device>img{display:block;width:100%;height:100%;clip-path:inset(1.5% 2.2% 1.3% 2.2% round 19% / 9.5%)}
.profile-camping-target{position:absolute;left:11.2%;top:66.1%;width:37%;height:18.1%;border:2px solid #ff5270;border-radius:11%;background:none;box-shadow:0 0 0 calc(3px + var(--landing,0)*8px) #ff527024,0 0 calc(20px + var(--landing,0)*40px) #ff52704d;color:#fff;z-index:2;cursor:pointer;transition:box-shadow .12s}
.profile-camping-target:focus-visible{outline:3px solid #dee8f9;outline-offset:7px}
.profile-moment-badge{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);padding:5px 9px;border-radius:20px;white-space:nowrap;background:#010d1feb;border:1px solid #ff5270b0;font-size:clamp(8px,.7vw,11px);display:flex;align-items:center;gap:6px;box-shadow:0 3px 12px #0008}
.profile-moment-badge:before{content:'+';color:#ff5270;font-size:14px;font-weight:800}
.memories-saved .profile-moment-badge:before{content:'✓'}
.profile-save-copy{position:absolute;left:7%;top:30%;width:43%;opacity:0}
.profile-save-copy>.eyebrow{font-size:12px;color:#92a8ae}
.profile-save-copy h2{font-size:clamp(42px,6.2vw,106px);font-weight:900;line-height:.95;letter-spacing:-.06em;margin:25px 0 30px}
.profile-save-copy h2 em{display:inline-block;font:400 .8em/1.18 'Permanent Marker';color:#ff5270;letter-spacing:-.055em;transform:rotate(-4deg)}
.profile-save-copy p{font-size:clamp(18px,1.65vw,27px);line-height:1.45;color:#b2c2ca;max-width:23ch}
.profile-reopen{display:inline-flex;align-items:center;gap:30px;padding:15px 0;margin-top:22px;border-bottom:1px solid #ff5270;background:none;color:#dee8f9;font:700 13px Urbanist,sans-serif;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .3s,transform .3s,visibility .3s}
.profile-reopen span{font-size:20px;color:#ff5270}.memories-saved .profile-reopen{opacity:1;visibility:visible;transform:none}
.memory-flights{position:absolute;inset:0;z-index:32;pointer-events:none;opacity:0;overflow:hidden}
.memory-flight{position:absolute;padding:4px;background:#f9fbff;box-shadow:0 15px 28px #0003;overflow:hidden;will-change:transform,left,top,width,height,opacity}
.memory-flight img{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}
.memory-flight>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:30px;height:30px;display:grid;place-items:center;background:#ff5270;color:#010d1f;border-radius:50%;font-size:12px}
.stage:has(.profile-memory[aria-hidden=false]) .scene-footer{z-index:35;color:#dee8f9}
.stage:has(.profile-memory[aria-hidden=false]) .scene-footer button,.stage:has(.profile-memory[aria-hidden=false]) .chapter{color:#92a8ae}
@media(max-width:600px){.journey{height:calc(100svh + 944.64svh / .85)}.profile-save-copy{left:8%;top:13%;width:84%}.profile-save-copy>.eyebrow{font-size:9px}.profile-save-copy h2{font-size:10vw;margin:12px 0}.profile-save-copy h2 br{display:none}.profile-save-copy h2 em{font-size:.9em}.profile-save-copy p{font-size:15px;max-width:28ch}.profile-reopen{position:fixed;left:8%;bottom:13%;max-width:24%;display:flex;gap:8px;text-align:left;font-size:11px;line-height:1.3;padding:9px 0;margin:0}.profile-reopen span{font-size:16px}.profile-moment-badge{font-size:8px;padding:4px 6px;gap:3px}.profile-moment-badge:before{font-size:11px}.profile-camping-target{border-width:1.5px}}
@media(max-width:600px) and (max-height:740px){.profile-save-copy{top:14%}.profile-save-copy h2{font-size:9vw;margin:9px 0}.profile-save-copy p{font-size:13px}}
.motion-reduced .profile-memory,.motion-reduced .memory-flights{display:none}

.profile-reopen-mobile{display:none}
@media(max-width:600px){.profile-save-copy .profile-reopen{display:none}.profile-reopen-mobile{position:absolute;display:block;left:5%;bottom:19%;width:55px;max-width:none;font-size:11px;line-height:1.4;padding:10px 0}.profile-reopen-mobile span{display:block;margin-top:6px}}
