:root{--paper:#dcc6b6;--paper-light:#eee1d4;--ink:#730d13;--soft:#704e48;--line:rgba(115,13,19,.25);--black:#0b0b0a;--serif:Didot,"Bodoni 72","Times New Roman",serif;--sans:Arial,Helvetica,sans-serif;--inset:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:20;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='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23n)' opacity='.6' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:7px}img{max-width:100%;display:block;height:auto}figure,p,h1,h2{margin:0}h1,h2{font:400 clamp(50px,6.5vw,108px)/.99 var(--serif);letter-spacing:-.045em}h1 em,h2 em{font-weight:400;letter-spacing:-.05em}.page-width{width:calc(100% - var(--inset)*2);max-width:1600px;margin-left:auto;margin-right:auto}.eyebrow{font-size:10px;line-height:1.6;letter-spacing:.18em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;left:20px;top:-100px;z-index:100;background:var(--paper);padding:12px}.skip-link:focus{top:15px}
.masthead{height:78px;padding:0 var(--inset);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{font:400 33px/1 var(--serif);letter-spacing:-.05em;display:inline-flex;align-items:baseline;gap:7px}.brand small{font:9px var(--sans);letter-spacing:.08em}.masthead nav{display:flex;gap:32px;align-items:center;font-size:11px}.masthead nav a:hover{text-decoration:underline;text-underline-offset:5px}.cover,.cover img{display:block;width:100%;height:auto}.opening-caption{padding:18px var(--inset);border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em}
.story{padding-top:clamp(90px,13vw,210px);padding-bottom:clamp(90px,13vw,210px);display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;max-width:1320px}.story-image{position:relative;width:88%;margin-left:4%;padding-bottom:40px}.story-image figure{background:var(--paper-light);padding:9px 9px 28px;transform:rotate(-4deg);box-shadow:0 12px 28px #412d2014}.story-image figure img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:52% 50%}.story-image figcaption{font:italic 17px/1.2 var(--serif);text-align:center;padding-top:19px}.image-note{font-size:9px;text-transform:uppercase;letter-spacing:.16em;line-height:1.5;position:absolute;right:-24px;bottom:0}.story-copy h2{margin:26px 0 32px;font-size:clamp(54px,6vw,92px)}.story-copy>p:not(.eyebrow){color:var(--soft);font-size:14px;line-height:1.95;margin:0 0 20px}.story-copy .signature{margin-top:28px!important;font:italic 19px/1.6 var(--serif)!important;color:var(--ink)!important}.signature span{font:10px var(--sans);letter-spacing:.09em}
.film{max-width:1450px}.section-topline{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;font-size:10px;letter-spacing:.12em}.film h2{margin:45px 0 42px;font-size:clamp(48px,6vw,88px)}.film-player{aspect-ratio:16/9;position:relative;background:#211d19;overflow:hidden}.film-cover{display:block;border:0;padding:0;width:100%;height:100%;position:relative;background:none}.film-cover>img{width:100%;height:100%;object-fit:cover;filter:brightness(.82);transition:transform 1s ease,filter 1s ease}.film-cover:hover>img{transform:scale(1.025);filter:brightness(.95)}.play-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid #fff9;width:82px;height:82px;border-radius:100%;display:grid;place-items:center;font-size:20px;color:#fff7ed;padding-left:4px}.play-label{position:absolute;bottom:28px;left:0;right:0;color:#fff6e9;font-size:10px;text-transform:uppercase;letter-spacing:.2em}.film-player iframe{width:100%;height:100%;border:0}.film-actions{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:23px;font-size:12px}.film-actions p{color:var(--soft)}.text-link{display:inline-flex;align-items:center;gap:25px;border-bottom:1px solid currentColor;padding-bottom:4px;font-size:11px}.film-fallback{margin-top:14px;font-size:10px;color:var(--soft)}
.still-section{padding-top:clamp(90px,11vw,180px);overflow:hidden}.still-heading{padding-bottom:40px}.still-heading h2{font-size:clamp(48px,5vw,80px);margin-top:16px}.ribbon{overflow:hidden;width:100%;padding:12px 0 25px}.ribbon-track{display:flex;width:max-content;animation:flow var(--ribbon-duration,90s) linear infinite;will-change:transform}.ribbon-group{display:flex;gap:14px;padding-right:14px;align-items:center;flex:none}.ribbon-image{width:clamp(240px,27vw,440px);flex:none}.ribbon-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.ribbon-image:nth-child(3n+2){width:clamp(300px,36vw,600px)}.ribbon-image:nth-child(3n+2) img{aspect-ratio:5/4}.ribbon-image:nth-child(4n) img{object-position:60% 50%}@keyframes flow{to{transform:translateX(-50%)}}
.wall-invitation{position:relative;padding:clamp(100px,13vw,220px) 0;text-align:center}.wall-invitation h2{margin-top:28px;font-size:clamp(64px,9vw,142px)}.circle-link{border:1px solid var(--line);border-radius:50%;width:150px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin:38px auto 0;line-height:1.5;font-size:11px;transition:background .3s,color .3s}.circle-link>span:last-child{font-size:22px}.circle-link:hover{background:var(--ink);color:var(--paper)}
.credits{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-top:1px solid var(--line);padding:48px 0;font-size:12px}.credits .eyebrow{font-size:9px;margin-bottom:20px}.credits p+p{margin-top:8px}.credits a:not(.brand){display:inline-block;border-bottom:1px solid var(--line);margin-top:6px;font-size:11px}.credits .brand{margin:0 0 15px}footer{padding:25px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:9px;text-transform:uppercase;letter-spacing:.1em}
.wall-page{background:var(--black);color:var(--paper-light);--line:rgba(238,225,212,.18)}.wall-page:before{opacity:.015}.wall-intro{padding-top:90px;max-width:1300px}.wall-intro h1{font-size:clamp(90px,12vw,192px);margin-top:35px}.wall-intro-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:28px;font-size:12px;color:#c4b9ac}.wall-intro-bottom>span{font-size:25px}.collage{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(35px,5vw,90px) 16px;padding:100px 0;max-width:1600px}.moment{position:relative;grid-column:var(--col)/span var(--span);margin-top:var(--offset);z-index:1;transform:rotate(var(--tilt));align-self:start}.moment-frame{padding:5px 5px 21px;background:var(--paper-light);box-shadow:0 20px 50px #0008;position:relative;transition:transform .5s}.moment:nth-child(3n) .moment-frame{padding:0;background:transparent}.moment:nth-child(5n) .moment-frame{padding:8px 8px 25px;background:#e2cfc0}.moment:hover .moment-frame{transform:translateY(-5px)}.moment video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#181612}.moment figcaption{font-size:8px;letter-spacing:.13em;text-transform:uppercase;margin-top:12px;opacity:.58;text-align:right}.moment .tape{position:absolute;z-index:2;top:-11px;left:37%;width:27%;height:22px;background:#c7b59a80;transform:rotate(-5deg);clip-path:polygon(2% 0,100% 6%,97% 100%,0 93%);pointer-events:none}.moment:nth-child(3n) .tape{display:none}.wall-word{grid-column:3/span 8;font:italic clamp(32px,4.5vw,70px)/1.1 var(--serif);letter-spacing:-.04em;text-align:center;padding:30px 0 10px;color:#d0c3b2}.wall-ending{display:flex;flex-direction:column;align-items:center;gap:50px;padding:90px 0 150px}.wall-ending img{width:min(580px,85%);height:auto}
@media(max-width:900px){.story{gap:7vw}.story-image{width:95%;margin-left:0}.story-copy>p:not(.eyebrow){font-size:13px}.masthead nav{gap:22px}.wall-intro{padding-top:65px}.collage{padding-top:80px;gap:50px 12px}.moment-frame{padding:4px 4px 17px}.moment .tape{height:17px;top:-8px}.wall-ending{padding:60px 0 100px}}
@media(max-width:700px){:root{--inset:23px}.masthead{height:64px}.brand{font-size:29px}.brand small{font-size:7px}.masthead nav{gap:18px;font-size:9px}.opening-caption{font-size:8px;letter-spacing:.03em;padding-top:17px;padding-bottom:17px;gap:15px}.story{display:flex;flex-direction:column-reverse;align-items:stretch;padding-top:80px;padding-bottom:85px;gap:55px}.story-copy h2{font-size:66px;margin-top:22px;margin-bottom:26px}.story-copy>p:not(.eyebrow){font-size:14px;line-height:1.9}.story-image{width:72%;margin-left:9%;padding-bottom:26px}.story-image figure{padding:6px 6px 25px}.story-image figcaption{font-size:15px;padding-top:17px}.image-note{right:-42px;font-size:8px}.film h2{font-size:49px;margin:31px 0 28px}.section-topline{font-size:9px}.eyebrow{font-size:9px}.film-player{width:calc(100% + 12px);margin-left:-6px}.play-circle{width:58px;height:58px;font-size:15px}.play-label{bottom:17px;font-size:8px}.film-actions{display:block;margin-top:19px;font-size:11px}.film-actions .text-link{margin-top:18px}.film-fallback{margin-top:17px}.still-section{padding-top:85px}.still-heading{padding-bottom:29px}.still-heading h2{font-size:52px;margin-top:13px}.ribbon-group{gap:10px;padding-right:10px}.ribbon-image{width:61vw}.ribbon-image:nth-child(3n+2){width:83vw}.wall-invitation{padding-top:95px;padding-bottom:100px}.wall-invitation h2{font-size:76px}.circle-link{width:132px;height:132px;font-size:10px}.credits{grid-template-columns:1fr 1fr;gap:30px 20px;padding:36px 0}.credits>div:last-child{grid-column:1/-1}.credits .eyebrow{font-size:8px;margin-bottom:13px}.credits p,.credits a:not(.brand){font-size:11px}footer{font-size:7px;gap:12px;padding-top:22px}.wall-intro{padding-top:66px}.wall-intro h1{font-size:76px;margin-top:29px}.wall-intro-bottom{font-size:11px;margin-top:23px}.collage{width:calc(100% - 28px);grid-template-columns:repeat(6,minmax(0,1fr));column-gap:8px;row-gap:42px;padding-top:75px;padding-bottom:45px}.moment{grid-column:var(--mcol)/span var(--mspan);margin-top:var(--moffset);transform:rotate(var(--mtilt))}.moment-frame{padding:3px 3px 15px}.moment:nth-child(5n) .moment-frame{padding:4px 4px 18px}.moment figcaption{font-size:6px;letter-spacing:.11em;margin-top:8px}.moment .tape{height:15px;top:-7px}.wall-word{grid-column:1/span 6;font-size:39px;padding:15px 20px 5px}.wall-ending{padding:80px 0 90px;gap:35px}}
.memory-preview{display:flex;align-items:center;justify-content:center;gap:18px;margin:50px auto 42px;width:min(1050px,100%)}.memory-preview video{display:block;width:31%;height:auto;aspect-ratio:16/9;object-fit:cover;border:6px solid var(--paper-light);box-shadow:0 12px 25px #39201b20;transform:rotate(-4deg)}.memory-preview video:nth-child(2){width:36%;transform:rotate(3deg);z-index:1}.memory-preview video:nth-child(3){transform:rotate(-2deg)}.memory-entry{display:inline-flex;align-items:center;justify-content:center;gap:50px;background:var(--ink);color:var(--paper-light);padding:22px 36px;min-width:370px;font-size:17px;line-height:1.4;border:1px solid var(--ink);transition:background .3s,color .3s}.memory-entry>span:last-child{font-size:27px}.memory-entry:hover{background:transparent;color:var(--ink)}@media(max-width:700px){.memory-preview{width:calc(100% + 24px);margin:38px 0 34px -12px;gap:8px}.memory-preview video{border-width:3px}.memory-preview video:nth-child(2){width:37%}.memory-entry{width:100%;min-width:0;font-size:15px;padding:22px 20px;gap:20px}.memory-entry>span:last-child{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ribbon-track{animation:none;transform:none}.ribbon{overflow-x:auto}.ribbon-track>.ribbon-group[aria-hidden]{display:none}.film-cover>img,.moment-frame,.circle-link{transition:none}}
.film-cover{position:absolute;inset:0}.film-player iframe{position:absolute;inset:0;display:block}.wall-page .masthead{position:sticky;top:0;z-index:30;background:var(--black)}.back-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 18px;background:var(--paper-light);color:var(--black);font-size:11px;letter-spacing:.03em}.back-button:hover{text-decoration:none!important;background:var(--paper)}