@font-face{font-family:Editorial;src:local('Georgia')}*{box-sizing:border-box} :root{--ink:#231b17;--paper:#f5efdf;--mist:#d8c5a4;--muted:#b2a393;--gold:#e0c391;--line:#ffffff26}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--ink);color:var(--paper);font-family:Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button:disabled{opacity:.25;cursor:default}header{position:fixed;z-index:20;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:27px 4vw;pointer-events:none}header>*{pointer-events:auto}#brand{font-size:11px;letter-spacing:3px;line-height:1.7}#brand span{display:block;font:italic 15px Georgia;letter-spacing:2px;color:var(--mist)}.top-actions{display:flex;gap:30px;align-items:center}.top-actions button{font-size:9px;letter-spacing:1.5px;padding:10px 0}.top-actions button span{font-size:15px;margin-left:8px}main{height:100%}.scene{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .75s,visibility .75s;overflow:hidden;background:var(--ink)}.scene.active{opacity:1;visibility:visible;pointer-events:auto}.eyebrow{font-size:9px;font-weight:400;letter-spacing:2.6px;line-height:1.6;color:var(--gold);margin:0 0 24px}h1,h2,h3{font-family:Editorial,Georgia,serif;font-weight:400;margin:0;letter-spacing:-.055em;line-height:1.02}em{font-weight:400;color:var(--mist)}h1{font-size:clamp(65px,8.4vw,135px)}h2{font-size:clamp(50px,6.7vw,106px)}.opening-copy{position:absolute;top:24%;left:8vw;z-index:2;pointer-events:none}.opening-copy button{pointer-events:auto}.lead{font-size:15px;line-height:1.8;color:#cdbfae;margin:30px 0}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;border:1px solid #e0c39177;padding:19px 24px;font-size:9px;letter-spacing:1.8px;transition:background .25s,color .25s}.primary:hover{background:var(--paper);color:var(--ink)}.primary span{font-size:19px;line-height:1}.quiet{display:block;font-size:9px;letter-spacing:1.4px;padding:18px 0;color:var(--muted)}.orbital{position:absolute;width:75vw;height:89vh;right:-4vw;top:2vh}#globe{width:100%;height:100%;cursor:grab;touch-action:none}#globe:active{cursor:grabbing}.globe-tools{position:absolute;bottom:6%;left:30%;right:8%;display:flex;align-items:center;justify-content:space-between;gap:15px;color:#bca993}.globe-tools>span{font-size:7px;letter-spacing:1.4px}.globe-tools button{font-size:9px;letter-spacing:1px}.globe-tools button:first-child{font-size:24px}.opening-note{position:absolute;bottom:16vh;left:8vw;display:flex;align-items:center;gap:14px;font-size:8px;letter-spacing:1.7px}.opening-note small{display:block;color:var(--muted);letter-spacing:.3px;font-size:11px;margin-top:8px}.pin{width:7px;height:7px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 5px #e0c39118}.vertical-note{position:absolute;right:26px;top:44%;writing-mode:vertical-rl;font-size:7px;letter-spacing:2px;color:#a18b75}.editorial{display:flex;align-items:center;justify-content:space-between;padding:105px 9vw 120px;gap:7vw}.chapter-copy{position:relative;z-index:3;flex:1}.chapter-copy h2{margin-bottom:25px}.chapter-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;color:#d1c0ae}.text-link{border-bottom:1px solid #c3a78655;font-size:9px;letter-spacing:1.5px;padding:17px 0;margin-top:10px}.image-frame{position:relative;padding:0;display:block;background:#1b1411;box-shadow:0 35px 70px #0005;overflow:hidden;transform:translateY(35px);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.active .image-frame{transform:none}.image-frame img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .9s}.image-frame:hover img{transform:scale(1.025)}.journey-photo{width:34vw;max-height:68vh;aspect-ratio:3/4}.photo-label{position:absolute;bottom:0;left:0;right:0;padding:35px 18px 15px;background:linear-gradient(transparent,#0009);font-size:8px;letter-spacing:1.5px;text-align:left;display:flex;justify-content:space-between;align-items:center}.photo-label b{font-weight:400;font-size:18px}.chapter-number{position:absolute;left:5vw;bottom:5vh;font:300px Georgia;opacity:.025;pointer-events:none}.arrival>.chapter-copy,.outdoors>.chapter-copy{position:absolute;left:8vw;top:27%;width:48%;text-shadow:0 2px 30px #0008}.backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.arrival .backdrop{object-position:center 45%;animation:none}.active.arrival .backdrop{animation:drift 20s ease-out both}@keyframes drift{from{transform:scale(1)}to{transform:scale(1.06)}}.scrim{position:absolute;inset:0;background:linear-gradient(90deg,#21160fed 0%,#21160fa0 38%,#21160f15 75%),linear-gradient(0deg,#231b17 0%,transparent 35%,#231b1760 100%)}.inset-clip{position:absolute;right:8vw;bottom:16vh;width:18vw;max-width:250px;aspect-ratio:9/14;padding:0;border:1px solid #fff5;box-shadow:0 20px 80px #0007;overflow:hidden;transition:transform .4s}.inset-clip:hover{transform:translateY(-6px)}.inset-clip video{width:100%;height:100%;object-fit:cover}.inset-clip>span{position:absolute;left:0;right:0;bottom:0;padding:35px 15px 15px;font-size:7px;letter-spacing:1.3px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(transparent,#000b)}.inset-clip b{font-size:18px;font-weight:400}.table{background:#30241d}.table .chapter-copy{flex:none;width:40%}.table-pictures{position:relative;width:53%;height:68vh}.table-wide{position:absolute;left:0;top:0;width:65%;aspect-ratio:3/4}.table-detail{position:absolute;right:-3vw;bottom:0;width:53%;aspect-ratio:3/4;border:7px solid #30241d}.birthday{gap:9vw;background:#2b1b16}.birthday-halo{position:absolute;inset:0;background:radial-gradient(ellipse at 30% 45%,#634b333a,transparent 65%)}.birthday-photo{height:69vh;max-width:40vw;aspect-ratio:3/4;flex:none}.birthday h2 em{color:#e0c391}.birthday .chapter-copy{max-width:42%}.finale{display:flex;justify-content:center;align-items:center;padding:100px 24px 115px;text-align:center;background:radial-gradient(ellipse at 50% 35%,#4b3628,#231b17 75%)}.finale h2{font-size:clamp(52px,5.4vw,85px);margin-bottom:22px}.family{font:19px/1.7 Georgia;color:var(--paper)}.family span{color:#7d8992;margin:0 8px}.family em{font-size:15px}.stats{display:flex;justify-content:center;gap:65px;margin:28px 0}.stats strong{font:44px Georgia}.stats small{font-size:21px}.stats div>span{display:block;font-size:7px;letter-spacing:1.8px;color:var(--muted);margin-top:9px}.film-actions{display:flex;justify-content:center;align-items:center;gap:28px}.download-links{display:flex;gap:28px;justify-content:center;font-size:8px;letter-spacing:1.2px;margin:22px 0}.download-links a:hover{text-decoration:underline}.about-link{font-size:10px;color:#ae9985;padding:8px}.timeline{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;align-items:center;gap:25px;padding:23px 4vw 26px;background:linear-gradient(transparent,#231b17dd 60%)}.timeline>button{font-size:23px;line-height:1;padding:10px 4px}#play{font-size:17px}#chapters{display:flex;gap:14px;flex:1}#chapters button{flex:1;position:relative;border-top:1px solid #ae947850;padding:13px 0 0;text-align:left;font-size:7px;letter-spacing:1.2px;color:#b19c87;transition:color .3s,border-color .3s}#chapters button span{color:#8f7965;margin-right:8px}#chapters button[aria-current=true]{border-color:var(--gold);color:var(--paper)}#chapters button[aria-current=true] span{color:var(--gold)}#progress{position:fixed;bottom:0;height:2px;left:0;width:100%;z-index:30;background:#ffffff04}#progress span{display:block;height:100%;width:0;background:var(--gold)}.announce{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}dialog{border:1px solid #6c798044;background:#241b16;color:var(--paper);padding:0;width:min(1300px,96vw);max-width:96vw;max-height:94dvh;box-shadow:0 40px 120px #000a}dialog::backdrop{background:#100a07e8;backdrop-filter:blur(12px)}.dialog-bar{display:flex;justify-content:space-between;align-items:center;padding:22px 28px;font-size:8px;letter-spacing:1.8px;color:var(--muted)}.close{font-size:9px;letter-spacing:1.4px;padding:8px;color:var(--paper)}.gallery-stage{display:flex;align-items:center;height:56dvh;padding:0 16px;gap:12px}.gallery-stage>button{font-size:28px;padding:18px}.gallery-stage>div{flex:1;height:100%;min-width:0}.gallery-stage img,.gallery-stage video{width:100%;height:100%;object-fit:contain}.gallery-caption{text-align:center;margin:20px auto;max-width:700px;padding:0 20px}.gallery-caption .eyebrow{margin-bottom:8px;font-size:8px}.gallery-caption h3{font-size:30px}.gallery-caption>p:last-child{font-size:12px;color:var(--muted);line-height:1.5}#thumbs{display:flex;justify-content:center;gap:8px;padding:0 20px 24px}#thumbs button{width:55px;height:48px;padding:0;opacity:.4;border:1px solid transparent}#thumbs img{width:100%;height:100%;object-fit:cover}#thumbs button[aria-current=true]{opacity:1;border-color:var(--gold)}#memoryIndex{padding:0 30px 35px}#memoryIndex .dialog-bar{padding-left:0;padding-right:0}#memoryIndex h2{font-size:50px;margin:12px 0}.index-intro{color:var(--muted);font-size:13px}#memoryGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:30px}#memoryGrid button{text-align:left;padding:0}#memoryGrid img{width:100%;height:190px;object-fit:cover;transition:filter .3s}#memoryGrid button:hover img{filter:brightness(1.15)}#memoryGrid span{display:block;margin-top:9px;font:18px Georgia}#memoryGrid small{display:block;margin-top:6px;font-size:8px;letter-spacing:1.4px;color:var(--muted)}#filmDialog{width:min(1280px,96vw)}#filmPlayer{display:block;width:100%;max-height:80dvh}#about{max-width:590px;padding:65px 45px 40px}#about .close{position:absolute;top:15px;right:15px}#about h2{font-size:54px;margin-bottom:24px}#about p:not(.eyebrow){font-size:13px;line-height:1.8;color:#c8b7a4}
@media(min-width:1400px){.opening-copy{top:25%}.orbital{right:0;width:68vw}.editorial{padding-left:12vw;padding-right:12vw}}@media(max-width:760px){header{padding:20px}#brand{font-size:8px;letter-spacing:2px}#brand span{font-size:12px}.top-actions{gap:18px}.top-actions button{font-size:7px;letter-spacing:.7px}.top-actions button span{font-size:12px}.opening-copy{left:25px;top:19%;right:20px}h1{font-size:clamp(54px,12.5vw,83px)}.lead{font-size:13px;margin:22px 0}.primary{font-size:8px;padding:16px 19px;gap:25px}.quiet{font-size:8px;padding:16px 0}.orbital{width:135vw;height:61vh;right:-38vw;top:27vh;opacity:.75}.globe-tools{bottom:3%;left:20%;right:20%}.globe-tools>span{display:none}.globe-tools button{font-size:8px}.opening-note{left:25px;bottom:14vh;font-size:7px}.opening-note small{font-size:9px}.vertical-note{display:none}.eyebrow{font-size:8px;letter-spacing:1.7px;margin-bottom:15px}.editorial{display:block;padding:105px 25px 105px}.chapter-copy{width:100%!important;max-width:none!important}.chapter-copy h2{font-size:48px;margin-bottom:16px}.chapter-copy>p:not(.eyebrow){font-size:12px;line-height:1.7}.text-link{font-size:8px;padding:10px 0;margin:0}.journey-photo{height:41vh;max-height:420px;width:auto;max-width:85%;margin:22px 0 0 auto}.photo-label{font-size:7px;padding:25px 12px 12px}.chapter-number{display:none}.table-pictures{height:40vh;width:100%;margin-top:22px}.table-wide{width:59%;top:0}.table-detail{width:48%;right:-4px;bottom:0;border-width:5px}.birthday{display:flex;flex-direction:column-reverse;align-items:stretch;justify-content:flex-end;gap:20px}.birthday-photo{height:43vh;max-width:90%;margin-left:auto}.birthday .chapter-copy>p:not(.eyebrow){display:none}.birthday .text-link{margin:0}.birthday .chapter-copy h2{margin-bottom:8px}.arrival>.chapter-copy,.outdoors>.chapter-copy{left:25px;top:16%;width:80%!important}.arrival .backdrop{object-position:40% center}.inset-clip{right:25px;bottom:14vh;width:36vw;height:33vh;max-width:230px;aspect-ratio:auto}.inset-clip>span{font-size:6px;letter-spacing:.7px;padding:25px 9px 12px}.scrim{background:linear-gradient(90deg,#21160fd9,#21160f70 70%),linear-gradient(0deg,#231b17,transparent 45%)}.finale{padding:95px 22px 110px}.finale h2{font-size:54px}.finale .eyebrow{font-size:7px}.family{font-size:16px}.family span{margin:0 3px}.family em{font-size:13px}.stats{gap:35px;margin:25px 0}.stats strong{font-size:35px}.stats div>span{font-size:6px;letter-spacing:1px}.film-actions{display:block}.film-actions .quiet{margin:auto}.download-links{font-size:7px;gap:20px;margin:12px 0}.timeline{gap:10px;padding:16px 17px 20px}.timeline>button{font-size:21px;padding:8px 0}#chapters{gap:6px}#chapters button{font-size:0;padding-top:11px;min-height:25px}#chapters button span{font-size:8px;display:block;margin:0;text-align:center}#play{font-size:15px}#memoryIndex{padding:0 20px 25px}#memoryIndex h2{font-size:38px}#memoryGrid{grid-template-columns:repeat(2,1fr);gap:20px 12px}#memoryGrid img{height:170px}#memoryGrid span{font-size:17px}.dialog-bar{padding:16px;font-size:7px}.gallery-stage{padding:0 5px;gap:2px;height:49dvh}.gallery-stage>button{font-size:22px;padding:10px 5px}.gallery-caption h3{font-size:26px}.gallery-caption{margin:16px auto}.gallery-caption>p:last-child{font-size:11px}#thumbs{gap:5px;padding:0 10px 18px}#thumbs button{width:36px;height:38px}#about{padding:60px 27px 30px}#about h2{font-size:45px}}
@media(max-height:720px){.opening-copy{top:20%}.lead{margin:16px 0}.opening-note{display:none}.finale{overflow-y:auto;align-items:flex-start}.finale h2{font-size:44px}.finale .eyebrow{margin-bottom:12px}.family{margin:12px 0}.stats{margin:14px 0}.stats strong{font-size:30px}.chapter-copy h2{font-size:clamp(40px,5vw,65px)}.birthday-photo{height:60vh}.journey-photo{max-height:60vh}.gallery-stage{height:45dvh}}@media(max-width:760px) and (max-height:720px){.editorial{padding-top:85px}.chapter-copy h2{font-size:38px}.journey-photo{height:33vh;margin-top:15px}.birthday-photo{height:35vh}.birthday{gap:12px}.table-pictures{height:32vh}.table-wide{width:52%}.table-detail{width:40%;right:10px}.orbital{top:25vh}.opening-copy{top:17%}.lead{font-size:12px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.birthday-clip{display:flex;align-items:center;gap:15px;text-align:left;padding:0;margin-top:22px}.birthday-clip img{width:105px;height:65px;object-fit:cover}.birthday-clip span{font-size:8px;letter-spacing:1.3px;line-height:2}.birthday-clip small{font-size:7px;color:var(--muted)}@media(max-width:760px){.birthday-clip{position:absolute;right:0;bottom:5px;gap:8px;margin:0}.birthday-clip img{width:65px;height:45px}.birthday-clip span{font-size:6px;max-width:72px}.birthday-clip small{font-size:6px}.birthday .chapter-copy{padding-bottom:48px}.birthday-photo{height:38vh}}
/* A continuous approach to Nottingham Road before the first memory. */
.orbital{transition:width 2.4s cubic-bezier(.2,.7,.2,1),height 2.4s,top 2.4s,right 2.4s,opacity 1s}.opening-copy,.opening-note,.vertical-note,.globe-tools{transition:opacity .65s,transform .9s}.flight-destination{position:absolute;z-index:5;inset:45% 15px auto;text-align:center;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity 1.3s,transform 1.3s;text-shadow:0 3px 30px #000}.flight-destination h2{font-size:clamp(36px,5vw,78px);letter-spacing:.015em}.flight-destination .eyebrow{margin:22px 0 12px}.flight-destination>p:last-child{font:italic 17px Georgia;color:#e0d5c5}.destination-cross{font-size:34px;color:var(--gold);font-weight:200}.skip-flight{display:none;position:absolute;z-index:8;right:5vw;bottom:9vh;font-size:9px;letter-spacing:2px;border-bottom:1px solid #d9cdb077;padding:12px}.flying .opening-copy,.flying .opening-note,.flying .vertical-note,.flying .globe-tools{opacity:0;pointer-events:none;transform:translateY(-15px)}.flying .orbital{width:100vw;height:100vh;top:0;right:0;opacity:1;pointer-events:none}.flying header,.flying .timeline{opacity:0;pointer-events:none}.flying header *,.flying .timeline *{pointer-events:none}.flying .skip-flight{display:block}.arriving .flight-destination{opacity:1;transform:none}.flying .opening:after{content:'';position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(#110b0780,transparent 25%,#110b0730 65%,#110b07a8);box-shadow:inset 0 7vh #120d0b,inset 0 -7vh #120d0b}.arriving .orbital{filter:brightness(.6)}@media(prefers-reduced-motion:reduce){.flying .orbital{transition:none}.flight-destination{transition:none}}
.flight-destination{visibility:hidden}.arriving .flight-destination{visibility:visible}
