:root{--paper:#eee8de;--paper2:#e4dbcf;--ink:#11100e;--muted:#81786e;--dark:#0b0b0a;--dark2:#151411;--white:#f2ede4;--line:rgba(17,16,14,.17);--serif:'Instrument Serif',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--mono:'DM Mono',monospace;--pad:clamp(20px,5vw,76px)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--dark)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}.mono{font-family:var(--mono)}.grain{position:fixed;inset:-40%;z-index:100;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain .25s steps(2) infinite}.loader{position:fixed;inset:0;z-index:200;background:#0b0b0a;color:#eee8de;display:grid;place-items:center;font:9px var(--mono);letter-spacing:.05em;transition:.8s}.loader i{position:absolute;bottom:18vh;width:110px;height:1px;background:#ffffff22;overflow:hidden}.loader i:after{content:'';display:block;width:0;height:100%;background:#fff;animation:load 1.2s ease forwards}.loader.done{opacity:0;visibility:hidden}.topbar{position:fixed;z-index:80;top:0;left:0;right:0;padding:16px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;font:9px var(--mono);color:#fff;mix-blend-mode:difference;letter-spacing:.03em}.topbar a{color:inherit;text-decoration:none}.top-center{text-align:center}.page{text-align:right}.side-index{position:fixed;z-index:70;right:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;font:7px var(--mono);color:#fff;mix-blend-mode:difference;opacity:.7}.side-index span{transition:.35s}.side-index .active{font-weight:500;transform:translateX(-5px)}.progress{position:fixed;z-index:90;bottom:0;left:0;width:100%;height:2px;background:#ffffff20}.progress span{display:block;width:0;height:100%;background:#fff}.scene{position:relative;min-height:100svh;overflow:hidden}.eyebrow{font-size:9px;letter-spacing:.04em}.reveal{opacity:0;transform:translateY(24px);transition:opacity 1s ease,transform 1s cubic-bezier(.2,.8,.2,1)}.is-visible .reveal{opacity:1;transform:none}.hero{background:#0b0b0a;color:#f4efe7}.hero-image,.hero-overlay{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.78)}.hero-overlay{background:linear-gradient(90deg,#0000009e 0%,#00000025 55%,#00000012 100%),linear-gradient(0deg,#0000009a 0%,transparent 55%)}.hero-copy{position:absolute;left:var(--pad);bottom:16vh}.hero-copy h1{font:400 clamp(100px,20vw,280px)/.78 var(--serif);letter-spacing:-.065em;margin:22px 0 35px}.hero-copy h1 span{font-size:.7em}.hero-copy p{font-size:17px;line-height:1.35}.hero-bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:22px;display:flex;justify-content:space-between;font:8px var(--mono);opacity:.75}.name{padding:13vh var(--pad);background:var(--paper)}.name-top,.her-top,.archive-head,.things-head{display:flex;justify-content:space-between;align-items:flex-start}.name-top>span:last-child,.her-top>span:last-child{color:var(--muted);font-size:8px}.name-layout{min-height:75svh;display:grid;grid-template-columns:minmax(250px,35vw) 1fr;gap:10vw;align-items:center;padding:8vh 8vw 4vh}.polaroid{background:#e7dfd4;padding:14px 14px 25px;box-shadow:0 18px 45px #00000010;transform:rotate(-2deg)}.polaroid>span{display:block;color:#8b8177;font-size:7px;margin-bottom:9px}.polaroid img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center}.polaroid small{display:block;font:italic 18px var(--serif);margin-top:13px}.name-copy{max-width:600px}.name-copy .tiny{color:var(--muted);font-size:8px}.name-copy h2{font:400 clamp(70px,9vw,135px)/.76 var(--serif);letter-spacing:-.055em;margin:28px 0 40px}.name-copy p{max-width:390px;font-size:14px;line-height:1.65;color:#625b53}.her{padding:13vh var(--pad);background:var(--dark);color:var(--white)}.her-top>span:last-child{color:#77736c;font-size:8px}.her-layout{display:grid;grid-template-columns:1fr minmax(300px,42vw);gap:9vw;align-items:center;min-height:77svh;padding:7vh 5vw}.her-copy h2{font:400 clamp(90px,10vw,155px)/.72 var(--serif);letter-spacing:-.06em;margin:0 0 55px}.trait-row{display:flex;flex-wrap:wrap;gap:9px;color:#77736c;font:8px var(--mono)}.trait-row span{border:1px solid #ffffff25;border-radius:999px;padding:8px 10px}.portrait-card{margin:0;position:relative}.portrait-card img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 40%}.portrait-card>span{position:absolute;z-index:2;top:13px;left:13px;color:#fff;mix-blend-mode:difference;font-size:8px}.portrait-card figcaption{display:flex;justify-content:space-between;padding-top:11px;color:#77736c;font:8px var(--mono)}.things{background:var(--paper);padding:14vh var(--pad) 12vh}.things-head{align-items:end;margin-bottom:9vh}.things-head h2{font:400 clamp(80px,9vw,140px)/.74 var(--serif);letter-spacing:-.06em;margin:25px 0 0}.things-head p{width:220px;color:var(--muted);font-size:12px;line-height:1.5}.things-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.things-grid article{min-height:180px;padding:28px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:40px 1fr 120px;gap:18px;align-items:start}.things-grid article:nth-child(odd){padding-right:5vw;border-right:1px solid var(--line)}.things-grid article:nth-child(even){padding-left:5vw}.things-grid b{font:8px var(--mono);color:var(--muted)}.things-grid h3{font:400 27px/1 var(--serif);margin:0 0 10px}.things-grid p{font-size:11px;color:var(--muted);line-height:1.45;margin:0}.things-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;opacity:.86}.archive{background:#11100f;color:#eee8df;padding:14vh 0 7vh}.archive-head{padding:0 var(--pad);align-items:end}.archive-head h2{font:400 clamp(75px,9vw,135px)/.74 var(--serif);letter-spacing:-.06em;margin:25px 0 0}.archive-head .hint{font-size:8px;color:#77736c}.archive-rail{display:flex;gap:4vw;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:10vh var(--pad) 10vh;scrollbar-width:none}.archive-rail::-webkit-scrollbar{display:none}.archive-rail figure{position:relative;flex:0 0 25vw;margin:0;scroll-snap-align:start}.archive-rail figure.wide{flex-basis:39vw}.archive-rail figure.low{margin-top:9vh}.archive-rail img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}.archive-rail .wide img{aspect-ratio:3/2}.archive-rail figure>span{position:absolute;z-index:2;top:12px;left:12px;font-size:7px;color:#fff;mix-blend-mode:difference}.archive-rail figcaption{font:8px var(--mono);color:#77736c;margin-top:10px}.archive-foot{padding:0 var(--pad);display:flex;gap:15px;align-items:center;color:#65615d;font-size:7px}.archive-foot .line{height:1px;background:#33312f;flex:1}.beginning{background:#0b0b0a;color:#eee8de;position:relative}.beginning-backdrop{position:absolute;inset:0;pointer-events:none}.beginning-image{position:absolute;inset:0 0 0 48%;overflow:hidden}.beginning-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%;filter:saturate(.75)}.beginning-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0af5 0%,#0b0b0ad6 35%,#0b0b0a00 68%),linear-gradient(0deg,#0b0b0a95 0%,transparent 45%)}.beginning-copy{position:relative;z-index:2;width:55%;padding:16vh var(--pad)}.beginning-copy>small{display:block;color:#77736c;font-size:8px;margin-top:15vh}.beginning-copy h2{font:400 clamp(82px,9vw,140px)/.74 var(--serif);letter-spacing:-.06em;margin:28px 0 9vh}.beginning-mobile-photo{display:none}.story{width:min(410px,100%);border-top:1px solid #ffffff25}.story p{font-size:12px;line-height:1.65;color:#aaa39a;border-bottom:1px solid #ffffff17;padding:18px 0;margin:0}.story blockquote{font:italic 400 clamp(44px,5vw,70px)/.82 var(--serif);margin:34px 0 12px;color:#eee8de}.story em{font:italic 15px var(--serif);color:#77736c}.date{background:#11100f;color:#eee8de;display:grid;grid-template-columns:1.05fr .95fr}.date-image{height:100svh;overflow:hidden}.date-image img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.75)}.date-panel{padding:15vh var(--pad);display:flex;flex-direction:column;justify-content:center}.date-stamp{color:#77736c;font-size:9px;margin-top:5vh}.date-panel h2{font:400 clamp(95px,10vw,160px)/.72 var(--serif);letter-spacing:-.065em;margin:25px 0 45px}.simple-date{display:flex;flex-direction:column;gap:3px;font-size:15px}.date-panel>p{font:italic 18px var(--serif);color:#77736c;margin-top:35px}.letter{background:#090908;color:#eee8de}.letter-bg{position:absolute;inset:0;overflow:hidden}.letter-bg img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.65);opacity:.38;transform:scale(1.03)}.letter-mask{position:absolute;inset:0;background:linear-gradient(90deg,#050505f5 0%,#0505058a 52%,#050505c0 100%),linear-gradient(0deg,#050505e8 0%,transparent 60%)}.letter-head{position:absolute;z-index:3;top:13vh;left:var(--pad);right:var(--pad);display:flex;justify-content:space-between}.letter-head>span:last-child{color:#77736c;font-size:8px}.letter-stage{position:relative;z-index:2;min-height:100svh;display:grid;place-items:center;padding:20vh var(--pad) 14vh}.letter-prompt h2{font:400 clamp(75px,8vw,130px)/.74 var(--serif);letter-spacing:-.06em;margin:0 0 42px}.letter-prompt button{background:transparent;color:#eee8de;border:1px solid #ffffff35;border-radius:999px;padding:15px 18px;font:9px var(--mono);transition:.35s}.letter-prompt button span{margin-left:20px}.letter-prompt button:hover{background:#eee8de;color:#111}.note{display:none;width:min(680px,100%);background:#e9e1d5;color:#161411;padding:clamp(30px,6vw,75px);box-shadow:0 40px 100px #0009;position:relative}.letter.open .letter-prompt{display:none}.letter.open .note{display:block;animation:note .75s cubic-bezier(.2,.8,.2,1) forwards}.note header{display:flex;justify-content:space-between;border-bottom:1px solid #aaa096;padding-bottom:15px;margin-bottom:35px;font:8px var(--mono);color:#827970}.note p{font:400 clamp(18px,2.1vw,25px)/1.42 var(--serif);margin:0 0 17px}.note .note-last{margin-top:35px}.note .signature{display:block;font:italic 24px var(--serif);margin-top:30px}.close-note{margin-top:35px;background:transparent;border:0;padding:0;font:8px var(--mono);color:#827970}.song{position:absolute;z-index:4;right:var(--pad);bottom:5vh;text-align:right;color:#77736c;font-size:8px}.song span,.song strong,.song small{display:block}.song strong{color:#eee8de;font:500 11px var(--sans);margin:6px 0}.song small{font-size:7px}.ending{display:grid;grid-template-columns:1.05fr .95fr;background:var(--paper)}.ending-image{height:100svh;overflow:hidden}.ending-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.ending-copy{padding:14vh var(--pad) 4vh;display:flex;flex-direction:column}.ending h2{font:400 clamp(75px,8vw,130px)/.74 var(--serif);letter-spacing:-.06em;margin:14vh 0 7vh}.ending-copy>p{font:400 22px/1.2 var(--serif);color:#77736c}.ending-copy>p strong{color:var(--ink);font-weight:400}.ending-copy .quiet{font:italic 18px var(--serif);margin-top:28px}.ending-rule{height:1px;background:var(--line);margin-top:auto;margin-bottom:20px}.ending footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:7px;color:#81786e}.ending footer span:nth-child(2){color:#5d574f}@keyframes load{to{width:100%}}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(2%,-2%)}50%{transform:translate(-2%,2%)}75%{transform:translate(2%,2%)}100%{transform:translate(-2%,-1%)}}@keyframes note{from{opacity:0;transform:translateY(25px) scale(.985)}to{opacity:1;transform:none}}@media(pointer:fine){button,a{cursor:pointer}}@media(max-width:768px){:root{--pad:20px}.topbar{padding-top:14px;grid-template-columns:1fr auto}.top-center,.side-index{display:none}.topbar{font-size:8px}.scene{min-height:100svh}.hero-image img{object-position:center 44%}.hero-copy{left:var(--pad);right:var(--pad);bottom:15vh}.hero-copy h1{font-size:31vw;margin:24px 0 34px}.hero-copy p{font-size:15px}.hero-bottom{bottom:16px}.name{padding:13vh var(--pad) 10vh;min-height:110svh}.name-top>span:last-child{display:none}.name-layout{display:flex;flex-direction:column-reverse;gap:9vh;align-items:stretch;padding:10vh 9vw 0}.polaroid{padding:10px 10px 20px}.polaroid small{font-size:16px}.name-copy h2{font-size:21vw;margin:20px 0 28px}.name-copy p{font-size:12px;line-height:1.6}.her{padding:13vh var(--pad) 8vh}.her-top>span:last-child{display:none}.her-layout{display:flex;flex-direction:column;gap:8vh;padding:9vh 5vw 0;align-items:stretch}.her-copy h2{font-size:21vw;margin-bottom:35px}.portrait-card img{aspect-ratio:3/4}.trait-row{gap:7px}.trait-row span{padding:7px 8px}.things{padding:13vh var(--pad) 10vh}.things-head{display:block;margin-bottom:7vh}.things-head h2{font-size:21vw}.things-head p{width:180px;margin-top:25px;font-size:11px}.things-grid{display:block}.things-grid article,.things-grid article:nth-child(odd),.things-grid article:nth-child(even){min-height:0;padding:20px 0;display:grid;grid-template-columns:28px 1fr 74px;gap:10px;border-right:0}.things-grid h3{font-size:22px}.things-grid p{font-size:10px}.things-grid img{aspect-ratio:1/1}.archive{padding:13vh 0 7vh}.archive-head{display:block;padding:0 var(--pad)}.archive-head h2{font-size:21vw}.archive-head .hint{display:block;margin-top:25px}.archive-rail{gap:18px;padding:9vh var(--pad) 9vh}.archive-rail figure,.archive-rail figure.wide{flex-basis:76vw}.archive-rail figure.low{margin-top:7vh}.archive-rail figure.wide img{aspect-ratio:4/3}.archive-foot{padding:0 var(--pad)}.beginning{display:block;min-height:auto;padding:12vh var(--pad) 10vh;background:#0b0b0a;position:relative}.beginning-backdrop,.beginning-image,.beginning-shade{display:none!important}.beginning-copy{display:block;width:100%;padding:0;position:static}.beginning-copy .eyebrow{display:block;font-size:9px;letter-spacing:.04em;color:#8b8177;margin-bottom:8px}.beginning-copy>small{display:block;color:#77736c;font-size:8px;margin-top:0;margin-bottom:28px}.beginning-copy h2{font-family:var(--serif);font-weight:400;font-size:clamp(38px,11.5vw,56px);line-height:.9;letter-spacing:-.045em;margin:0 0 32px;color:#eee8de}.beginning-mobile-photo{display:block;width:100%;aspect-ratio:4/5;overflow:hidden;margin:0 0 36px;background:#141312}.beginning-mobile-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%;filter:saturate(.85)}.story{width:100%;border-top:1px solid rgba(255,255,255,.16)}.story p{font-size:15px;line-height:1.62;color:#ded7cc;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12);margin:0}.story blockquote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(32px,9vw,44px);line-height:1.06;letter-spacing:-.03em;color:#f4efe7;margin:32px 0 14px;padding:0}.story em{font-family:var(--serif);font-style:italic;font-size:16px;color:#8b8177;display:block;margin:0 0 10px}.date{display:flex;flex-direction:column;min-height:110svh}.date-image{height:58svh;flex:none}.date-panel{padding:8vh var(--pad) 9vh;display:block}.date-stamp{display:block;margin-top:18px}.date-panel h2{font-size:21vw;margin:24px 0 35px}.date-panel>p{margin-top:25px}.letter{min-height:100svh}.letter-head{top:13vh}.letter-head>span:last-child{display:none}.letter-stage{padding:22vh var(--pad) 12vh;align-items:start}.letter-prompt h2{font-size:21vw;margin-bottom:35px}.letter-bg img{object-position:center 35%}.song{left:var(--pad);right:auto;text-align:left;bottom:4vh}.note{padding:28px 24px}.note header{font-size:7px}.note p{font-size:19px}.ending{display:flex;flex-direction:column;min-height:115svh}.ending-image{height:58svh;flex:none}.ending-image img{object-position:center 45%}.ending-copy{padding:8vh var(--pad) 4vh;min-height:57svh}.ending h2{font-size:20vw;margin:8vh 0 6vh}.ending-copy>p{font-size:18px}.ending footer{font-size:6.5px}.ending footer span:nth-child(1){display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
