/* A photographic journey through people's lives. No apartment or doorway scene. */
.life-journey{position:relative;background:var(--paper);--life-progress:0;--stage-height:100svh}
.life-stage{position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}
.life-atmosphere{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 76% 29%,#f6f3ed 0,transparent 47%),linear-gradient(160deg,#e1ded7 15%,#c6beb5 72%,#ad9d8d 130%)}
.life-halo{position:absolute;width:100%;height:130%;left:29%;top:-25%;border-radius:50%;background:radial-gradient(ellipse,#fff9 0,#fff3 42%,transparent 67%);transform:translateX(var(--halo-x,0px));will-change:transform}
.life-horizon{position:absolute;left:-50%;right:-50%;height:55%;bottom:-17%;border-radius:50%;background:linear-gradient(#c6beb500,#c6beb566);box-shadow:0 -1px 50px #fff5;transform:translateX(var(--horizon-x,0px))}
.life-opening{position:relative;z-index:5;min-height:820px;height:100svh;padding:clamp(145px,21vh,240px) var(--gutter) 120px;pointer-events:none}
.life-eyebrow{font-size:9px;letter-spacing:.14em;line-height:1.8;font-weight:600}
.life-opening h1{font-size:clamp(80px,7.7vw,145px);line-height:.88;letter-spacing:-.058em;margin-top:31px}
.life-opening h1 em{display:inline-block;color:#63594f;line-height:1.1}
.life-description{font-size:13px;line-height:1.85;max-width:360px;margin-top:28px}
.life-actions{display:flex;align-items:center;gap:29px;margin-top:30px;pointer-events:auto;width:max-content;max-width:100%}
.life-primary{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:16px 21px;background:var(--ink);color:var(--paper);font-size:11px;transition:background .3s}
.life-primary:hover{background:#51483f}.life-primary>span{font-size:22px;line-height:1}
.life-start{font-size:10px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line);padding:12px 0}
.life-real-portrait{position:absolute;right:3%;top:14vh;width:51%;height:86vh;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(#000 94%,transparent);z-index:2}
.life-actor,.life-path,.life-gallery,.life-orbit-caption,.life-outro{display:none}
.life-stories{position:relative;z-index:6}
.life-story{padding:80px var(--gutter);border-top:1px solid var(--line);background:var(--paper);display:grid;grid-template-columns:1fr 1fr;column-gap:7vw}
.life-static-photo{grid-row:1/7;aspect-ratio:1.3;object-fit:cover;align-self:center}
.life-kicker{font-size:9px;letter-spacing:.12em;font-weight:600;margin-bottom:23px;display:flex;align-items:center;gap:15px}
.life-kicker>span{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:0;line-height:1;border-bottom:1px solid var(--line);padding-bottom:7px}
.life-story h2{font-size:clamp(42px,4.15vw,74px);line-height:.99;letter-spacing:-.045em}
.life-story h2 em{color:#63594f;line-height:1.12}
.life-story-intro{font-size:13px;line-height:1.85;margin-top:22px;max-width:380px}
.life-help{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);max-width:380px}
.life-help>span{font-size:8px;letter-spacing:.14em;font-weight:600}
.life-help>p{font-size:12px;line-height:1.85;margin-top:10px}
.life-steps{display:flex;gap:12px;font-size:9px;align-items:center;margin-top:19px}.life-steps>i{font-style:normal;opacity:.5}
.life-story>.text-link{font-size:10px;font-weight:500;margin-top:19px;gap:18px;justify-self:start}
.life-bottom{position:relative;z-index:9;padding:20px var(--gutter);display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}
.life-scroll-cue{display:none;align-items:center;gap:15px;font-size:8px;letter-spacing:.11em;padding:12px 0}
.life-scroll-line{display:block;width:36px;height:1px;background:var(--ink)}
.life-chapters{display:flex;gap:29px}.life-chapters button{display:flex;align-items:center;gap:9px;padding:10px 0;font-size:10px;position:relative}.life-chapters small{font-size:8px;color:#63594f}
.life-chapters button:after{position:absolute;content:'';height:1px;bottom:0;left:0;right:0;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s}.life-chapters button[aria-current]:after{transform:scaleX(1)}
.life-utilities{display:flex;align-items:center;gap:22px;font-size:9px}.life-model-note{font-size:8px;color:#63594f}.life-motion-toggle{display:none;align-items:center;gap:9px;font-size:9px;padding:10px 0}.life-utilities>a{padding:10px 0}
.life-progress{display:none;position:absolute;left:0;right:0;top:-1px;height:1px;background:#14131112}.life-progress>span{display:block;height:1px;background:var(--ink);transform:scaleX(var(--life-progress));transform-origin:left}
.life-ready .life-motion-toggle{display:flex}
/* Native sticky is the single scroll surface; no locked wheel or automatic camera. */
.is-cinematic{height:calc(var(--stage-height) * 7.4)}
.is-cinematic .life-stage{position:sticky;top:0;height:var(--stage-height);min-height:600px}
.is-cinematic .life-opening{position:absolute;inset:0;height:auto;min-height:0}
.is-cinematic .life-real-portrait,.is-cinematic .life-static-photo{display:none}
.is-cinematic .life-path{display:block;position:absolute;inset:0;z-index:1;width:100%;height:100%;pointer-events:none}
.is-cinematic .life-gallery{display:block;position:absolute;inset:0;z-index:2;pointer-events:none}
.life-picture{position:absolute;top:0;left:0;width:600px;height:400px;margin:0;transform-origin:0 0;backface-visibility:hidden;will-change:transform;box-shadow:0 17px 35px #14131118;background:var(--nude);overflow:hidden}
.life-picture>img{width:100%;height:100%;object-fit:cover}
.life-picture:after{content:'';position:absolute;inset:0;border:1px solid #fff5;pointer-events:none}
.life-picture figcaption{position:absolute;bottom:0;left:0;right:0;padding:45px 24px 18px;display:flex;justify-content:space-between;align-items:end;background:linear-gradient(transparent,#14131177);color:#fff}
.life-picture figcaption>span:first-child{font-size:8px;letter-spacing:.1em}.life-picture figcaption>span:last-child{font-family:var(--serif);font-size:31px}
.is-cinematic .life-actor{display:block;position:absolute;left:0;top:0;z-index:4;pointer-events:none;transform-origin:50% 100%;will-change:transform}
.life-actor>canvas{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(1px 3px 2px #14131108)}
.life-actor-shadow{position:absolute;bottom:-.7%;left:21%;width:58%;height:2.3%;background:#14131144;border-radius:50%;filter:blur(5px);transform:skewX(-24deg)}
.is-cinematic .life-stories{position:absolute;inset:0;pointer-events:none}
.is-cinematic .life-story{position:absolute;top:20%;left:var(--gutter);padding:0;width:31%;max-width:490px;display:block;opacity:0;visibility:hidden;border:0;background:transparent;will-change:transform,opacity}
.is-cinematic .life-story[data-life-story="1"]{left:auto;right:var(--gutter)}
.is-cinematic .life-story .text-link{pointer-events:auto}
.is-cinematic .life-orbit-caption{display:block;position:absolute;top:15%;left:var(--gutter);right:var(--gutter);text-align:center;z-index:5;opacity:0;pointer-events:none}
.life-orbit-caption>span{font-size:8px;letter-spacing:.19em}.life-orbit-caption>p{font-family:var(--serif);font-size:clamp(32px,4vw,65px);letter-spacing:-.035em;line-height:1.1;margin-top:15px}
.is-cinematic .life-outro{display:block;position:absolute;z-index:7;inset:0;opacity:0;visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(#e1ded700,#e1ded7 85%);pointer-events:none;padding:0 var(--gutter)}
.life-outro h2{font-size:clamp(50px,6.3vw,104px);margin:26px 0}.life-outro a{pointer-events:auto}
.is-cinematic .life-bottom{position:absolute;bottom:0;left:var(--gutter);right:var(--gutter);padding:18px 0 22px;flex-wrap:nowrap;border-top:0;min-height:77px}
.is-cinematic .life-scroll-cue,.is-cinematic .life-progress{display:flex}
.is-cinematic .life-chapters{position:absolute;left:0;opacity:0;visibility:hidden}
.life-journey .life-opening,.life-journey .life-story,.life-journey .life-outro{will-change:opacity,transform}
.portrait-intro{background:var(--paper);box-shadow:0 0 0 100vmax var(--paper)}.portrait-arch{background:var(--nude);border-radius:47% 47% 0 0}.portrait-intro .portrait-photo-wrap{mask-image:linear-gradient(#000 95%,transparent)}
@media(min-width:1700px){.life-opening{padding-top:21vh}.life-eyebrow{font-size:11px}.life-description{font-size:16px;max-width:450px}.life-primary{font-size:13px;padding:18px 24px}.life-start{font-size:12px}.life-story-intro{font-size:15px}.life-help>p{font-size:14px}.life-story>.text-link{font-size:12px}.life-help>span,.life-kicker{font-size:10px}}
@media(max-width:1100px) and (min-width:768px){.life-opening h1{font-size:9vw}.life-description{max-width:300px;font-size:12px}.life-actions{gap:17px}.life-primary{font-size:10px;gap:20px}.life-start{font-size:9px}.is-cinematic .life-story{width:35%;top:21%}.life-story h2{font-size:5vw}.life-story-intro{font-size:12px}.life-help>p{font-size:11px}.life-utilities{gap:16px}.life-model-note{display:none}}
@media(max-width:767px){
 .life-opening{min-height:760px;padding-top:145px;padding-bottom:100px;height:100svh}.life-eyebrow{font-size:7px;letter-spacing:.075em;max-width:240px}.life-opening h1{font-size:clamp(61px,15vw,94px);margin-top:25px;line-height:.9;position:relative}.life-description{font-size:11px;max-width:220px;margin-top:23px}.life-description br{display:none}.life-actions{align-items:flex-start;flex-direction:column;gap:10px;margin-top:24px}.life-primary{font-size:10px;padding:14px 17px;gap:25px}.life-start{font-size:9px}.life-real-portrait{width:73%;height:62vh;right:-19%;top:34vh;object-position:center bottom;opacity:.92}
 .life-story{display:block;padding:50px var(--gutter)}.life-static-photo{aspect-ratio:1.4;margin-bottom:28px}.life-story h2{font-size:49px}.life-story-intro{max-width:none;font-size:13px}.life-help{max-width:none}.life-story>.text-link{font-size:11px}.life-bottom{gap:12px}.life-chapters{width:100%;justify-content:space-between;gap:12px}.life-chapters button{font-size:9px;gap:6px}.life-utilities{gap:20px;justify-content:space-between;width:100%}.life-model-note{font-size:7px}.life-utilities>a,.life-motion-toggle{font-size:8px}
 .is-cinematic{height:calc(var(--stage-height) * 7.5)}.is-cinematic .life-opening{padding-top:17vh}.is-cinematic .life-opening h1{font-size:clamp(58px,15vw,90px)}.is-cinematic .life-description{max-width:185px}.is-cinematic .life-primary{font-size:9px;padding:13px 15px;gap:17px}.is-cinematic .life-actions{margin-top:22px}.is-cinematic .life-start{font-size:8px}
 .is-cinematic .life-story,.is-cinematic .life-story[data-life-story="1"]{left:var(--gutter);right:auto;top:48%;width:71%;max-width:360px}.life-kicker{font-size:7px;gap:10px;letter-spacing:.06em;margin-bottom:12px}.life-kicker>span{font-size:18px;padding-bottom:4px}.is-cinematic .life-story h2{font-size:clamp(32px,8.6vw,49px);line-height:1}.is-cinematic .life-story-intro{font-size:11px;line-height:1.65;margin-top:13px;max-width:255px}.is-cinematic .life-help{margin-top:14px;padding-top:12px;max-width:250px}.is-cinematic .life-help>span{font-size:7px;letter-spacing:.1em}.is-cinematic .life-help>p{font-size:10px;line-height:1.65;margin-top:6px}.is-cinematic .life-steps{font-size:8px;gap:8px;margin-top:10px}.is-cinematic .life-story>.text-link{font-size:8px;margin-top:10px;gap:8px}.life-story>.text-link>span{font-size:18px}
 .is-cinematic .life-orbit-caption{top:14%}.life-orbit-caption>span{font-size:7px}.life-orbit-caption>p{font-size:35px;margin-top:12px}.is-cinematic .life-bottom{padding:10px 0 15px;min-height:75px;align-items:flex-end;flex-wrap:wrap}.is-cinematic .life-scroll-cue{font-size:6px;gap:9px;width:100%;padding:8px 0}.life-scroll-line{width:20px}.is-cinematic .life-chapters{top:9px;gap:13px}.is-cinematic .life-utilities{align-self:flex-end;gap:15px;padding-top:33px}.is-cinematic .life-utilities>a{font-size:7px}.is-cinematic .life-model-note{font-size:6px}.is-cinematic .life-motion-toggle{font-size:7px;padding:4px 0}.is-cinematic .life-scroll-cue{position:absolute;top:8px}.life-outro h2{font-size:clamp(43px,10vw,68px);line-height:1.07}.life-outro .life-eyebrow{max-width:260px;font-size:7px;line-height:1.8}
}
@media(max-height:760px) and (min-width:768px){.life-opening{padding-top:135px;min-height:650px}.life-opening h1{font-size:clamp(69px,6.7vw,108px);margin-top:22px}.life-description{margin-top:19px;font-size:12px}.life-actions{margin-top:21px}.is-cinematic .life-story{top:17%}.life-story h2{font-size:clamp(40px,4vw,63px)}.life-story-intro{margin-top:15px}.life-help{padding-top:14px;margin-top:18px}.life-story>.text-link{margin-top:12px}}
@media(max-height:740px) and (max-width:767px){.is-cinematic .life-opening{padding-top:16vh}.is-cinematic .life-opening h1{font-size:clamp(52px,14vw,75px);margin-top:20px}.is-cinematic .life-description{font-size:10px;margin-top:15px;max-width:165px}.is-cinematic .life-actions{margin-top:17px}.is-cinematic .life-story,.is-cinematic .life-story[data-life-story="1"]{top:43%}.is-cinematic .life-story h2{font-size:8.1vw}.is-cinematic .life-story-intro{font-size:10px;margin-top:9px}.is-cinematic .life-help>p{font-size:9px}.is-cinematic .life-help{margin-top:10px;padding-top:9px}.is-cinematic .life-steps{margin-top:8px;font-size:7px}.is-cinematic .life-story>.text-link{margin-top:6px}.is-cinematic .life-kicker{margin-bottom:9px}.is-cinematic .life-bottom{min-height:70px}}
@media(prefers-reduced-motion:reduce){.life-journey .life-opening,.life-journey .life-story,.life-journey .life-outro{will-change:auto}.life-motion-toggle{display:none!important}}
@media(max-height:599px){.life-motion-toggle{display:none!important}}
