:root{--green-950:#061813;--green-900:#0a241c;--green-800:#11362a;--cream:#f4ead8;--paper:#eee0c8;--gold:#d2ad62;--rose:#b96758;--ink:#17251f;--serif:Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--cream);font-family:var(--sans);background:var(--green-950);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:auto;background:var(--green-950)}html.intro-open{overflow:hidden}body{background:var(--green-950);min-width:320px;margin:0;overflow-x:hidden}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}.skip-link{z-index:1000;color:var(--green-950);background:var(--cream);border-radius:999px;padding:10px 16px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:none}.paper-noise{z-index:900;pointer-events:none;opacity:.055;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='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");position:fixed;inset:0}.intro{z-index:800;padding:32px 22px calc(32px + env(safe-area-inset-bottom));text-align:center;background:radial-gradient(circle at 50% 42%, #244a39 0, var(--green-900) 30%, var(--green-950) 72%);align-content:center;justify-items:center;transition:opacity .36s,visibility 0s linear .36s;display:grid;position:fixed;inset:0}.intro:before,.intro:after{content:"";aspect-ratio:1;border:1px solid #d2ad6221;border-radius:50%;width:min(58vw,720px);position:absolute}.intro:after{width:min(42vw,520px)}.intro.is-closed{opacity:0;visibility:hidden;pointer-events:none}.intro__ornament{width:min(260px,62vw);color:var(--gold);align-items:center;gap:12px;display:flex}.intro__ornament span{background:linear-gradient(90deg,#0000,currentColor);flex:1;height:1px}.intro__ornament span:last-child{background:linear-gradient(90deg,currentColor,#0000)}.intro__ornament i{border:1px solid;width:7px;height:7px;transform:rotate(45deg)}.intro__eyebrow,.finale__eyebrow,.section-heading>p{color:var(--gold);letter-spacing:.2em;text-transform:uppercase;margin:24px 0 8px;font-size:.72rem;font-weight:600}.intro h1{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(3.8rem,10vw,7.8rem);font-weight:500;line-height:.88;position:relative}.intro h1 em{color:var(--gold);font-weight:500}.intro__subtitle{color:#f4ead8bf;font-family:var(--serif);margin:34px 0 24px;font-size:clamp(1.1rem,2.6vw,1.45rem);line-height:1.45}.intro__start{z-index:1;color:var(--green-950);background:var(--gold);cursor:pointer;border:1px solid #d2ad6266;border-radius:999px;align-items:center;gap:11px;margin-top:8px;padding:15px 24px;font-size:.9rem;font-weight:600;transition:transform .25s,box-shadow .25s;display:flex;position:relative;box-shadow:0 18px 44px #00000042}.intro__start:hover{transform:translateY(-2px);box-shadow:0 22px 50px #00000057}.intro__start-icon{width:27px;height:27px;color:var(--gold);background:var(--green-950);border-radius:50%;place-items:center;display:grid}.intro__quiet{z-index:1;color:#f4ead8b8;cursor:pointer;text-underline-offset:4px;background:0 0;border:0;margin-top:14px;text-decoration:underline;position:relative}.intro__note{color:#f4ead86b;margin-top:14px;font-size:.72rem}.site-header{z-index:310;padding:calc(15px + env(safe-area-inset-top)) clamp(18px,4vw,54px) 15px;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.site-header p{color:#f4ead8ad;letter-spacing:.16em;margin:0;font-size:.7rem}.site-mark{color:var(--cream);pointer-events:auto;font-family:var(--serif);align-items:center;gap:5px;font-size:1.05rem;text-decoration:none;display:flex}.site-mark i{color:var(--rose);font-size:.6rem}.audio-controls{left:clamp(14px,3vw,40px);bottom:calc(14px + env(safe-area-inset-bottom));z-index:410;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#051611b8;border:1px solid #f4ead829;border-radius:999px;align-items:center;gap:4px;padding:6px;display:flex;position:fixed;box-shadow:0 12px 36px #00000040}.audio-controls button{width:38px;height:38px;color:var(--cream);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.audio-controls button:hover{background:#f4ead81a}.audio-controls__title{opacity:0;color:#f4ead8b8;white-space:nowrap;max-width:0;font-size:.7rem;transition:max-width .4s,opacity .4s,padding .4s;overflow:hidden}.audio-controls:hover .audio-controls__title,.audio-controls:focus-within .audio-controls__title{opacity:1;max-width:180px;padding:0 10px 0 5px}.world{min-height:100vh;color:var(--cream);background:var(--green-950);position:relative}.world-stage{z-index:10;pointer-events:none;background:radial-gradient(circle at 72% 30%, #315843 0, var(--green-900) 38%, var(--green-950) 78%);position:fixed;inset:0;overflow:hidden}.world-scene{--scene-reveal:1;--scrim-opacity:0;--connector-peak:0;--connector-scale:1;--connector-blur:0px;contain:layout paint style;opacity:0;position:absolute;inset:0}.world-scene__camera{--camera-focus-x:50%;--camera-focus-y:50%;--camera-scale:1;transform:scale(var(--camera-scale));transform-origin:var(--camera-focus-x) var(--camera-focus-y);position:absolute;inset:0}.world-scene__poster,.world-scene__video{object-fit:cover;object-position:center;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.world-scene__poster{filter:saturate(.82)contrast(1.04)brightness(.72)}.world-scene__video{opacity:0}.world-scene.has-video .world-scene__video{opacity:var(--scene-reveal)}.world-scene.has-video .world-scene__poster{opacity:0}.world-copies{z-index:40;pointer-events:none;position:fixed;inset:0}.world-copy{--copy-offset:0px;opacity:0;width:min(500px,42vw);transform:translateY(calc(-50% + var(--copy-offset)));position:absolute;top:50%;left:clamp(20px,6vw,86px)}.world-copy__count{color:#f4ead87a;letter-spacing:.16em;font-size:.68rem}.world-copy__eyebrow{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin:24px 0 9px;font-size:.72rem;font-weight:600}.world-copy h2{font-family:var(--serif);letter-spacing:-.035em;text-wrap:balance;margin:0;font-size:clamp(2.8rem,6vw,5.6rem);font-weight:500;line-height:.95}.world-copy>p:last-of-type{color:#f4ead8c7;max-width:48ch;margin:22px 0 0;font-size:clamp(.96rem,1.3vw,1.12rem);line-height:1.7}.world-copy ul{flex-wrap:wrap;gap:8px;margin:24px 0 0;padding:0;list-style:none;display:flex}.world-copy li{border:1px solid color-mix(in srgb, var(--accent) 44%, transparent);color:color-mix(in srgb, var(--accent) 82%, white);background:#06181375;border-radius:999px;padding:7px 12px;font-size:.72rem}.world-scroll-hint{opacity:0;color:#f4ead8ad;letter-spacing:.08em;pointer-events:none;align-items:center;gap:9px;width:max-content;max-width:100%;font-size:.7rem;transition:opacity .26s,transform .26s;display:flex;position:absolute;top:calc(100% + 20px);left:0;transform:translateY(6px)}.world-scroll-hint[hidden]{display:none}.world-scroll-hint.is-visible{opacity:1;transform:translateY(0)}.world-scroll-hint i{width:22px;height:22px;color:var(--gold);border:1px solid #d2ad6280;border-radius:50%;place-items:center;font-style:normal;animation:1.8s ease-in-out infinite scroll-hint-nudge;display:inline-grid}@keyframes scroll-hint-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.world-route{z-index:70;gap:18px;display:grid;position:fixed;top:50%;right:clamp(12px,2.4vw,34px);transform:translateY(-50%)}.world-route:before{content:"";background:#f4ead838;width:1px;position:absolute;top:10px;bottom:10px;left:50%}.world-route button{width:28px;height:28px;color:var(--cream);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.world-route i{background:#f4ead861;border-radius:50%;width:7px;height:7px;transition:transform .3s,background .3s;position:relative}.world-route button.is-active i{background:var(--gold);transform:scale(1.65);box-shadow:0 0 0 4px #d2ad622e}.world-route span{opacity:0;color:var(--cream);white-space:nowrap;background:#061813cc;border-radius:999px;padding:5px 10px;font-size:.7rem;transition:opacity .25s,transform .25s;position:absolute;right:32px;transform:translate(6px)}.world-route button:hover span,.world-route button:focus-visible span{opacity:1;transform:none}.world-track{z-index:1;pointer-events:none;position:relative}.world-progress{z-index:320;background:#f4ead814;height:3px;position:fixed;top:0;left:0;right:0}.world-progress span{transform-origin:0;background:var(--gold);width:100%;height:100%;display:block;transform:scaleX(0)}.world__fallback-note{z-index:100;max-width:260px;color:var(--green-950);background:var(--cream);border-radius:10px;padding:10px 14px;font-size:.72rem;position:fixed;bottom:18px;right:18px}.memories{z-index:180;color:var(--ink);background:var(--paper);padding:clamp(90px,12vw,180px) clamp(18px,5vw,78px);position:relative}.memories:before{content:"";opacity:.28;pointer-events:none;background-image:radial-gradient(circle at 20% 10%,#d2ad6266,#0000 28%),radial-gradient(circle at 80% 64%,#b967582e,#0000 24%);position:absolute;inset:0}.section-heading{text-align:center;max-width:820px;margin:0 auto clamp(60px,9vw,120px);position:relative}.section-heading>p{color:#81632d}.section-heading h2{font-family:var(--serif);letter-spacing:-.04em;margin:12px 0 22px;font-size:clamp(3rem,7vw,6.4rem);font-weight:500;line-height:.92}.section-heading h2 em{color:#8d493e;font-weight:500}.section-heading span{background:#9a7d45;width:90px;height:1px;margin:0 auto;display:block}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(34px,7vw,110px) clamp(22px,6vw,90px);max-width:1180px;margin:0 auto;display:grid;position:relative}.memory-card{align-self:start}.memory-card--offset{margin-top:clamp(40px,9vw,130px)}.memory-card figure{margin:0}.memory-card picture{transform:rotate(var(--rotation,-1deg));background:#fffaf0;padding:clamp(9px,1vw,14px);display:block;position:relative;box-shadow:0 24px 55px #3527192b,0 2px 4px #3527191f}.memory-card:nth-child(2n) picture{--rotation:1.2deg}.memory-card:nth-child(3n) picture{--rotation:-.5deg}.memory-card img{object-fit:cover;filter:saturate(.92)contrast(1.02);width:100%;max-height:72vh;display:block}.memory-card figcaption{padding:25px clamp(4px,1vw,12px) 0}.memory-card time{color:#8c6a31;letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:600}.memory-card h3{font-family:var(--serif);margin:7px 0 8px;font-size:clamp(1.85rem,3.2vw,3rem);font-weight:600;line-height:1}.memory-card p{color:#17251fb3;margin:0;line-height:1.7}.extra-memories{border-top:1px solid #17251f3d;border-bottom:1px solid #17251f3d;max-width:1180px;margin:clamp(80px,12vw,170px) auto 0;position:relative}.extra-memories summary{cursor:pointer;font-family:var(--serif);justify-content:space-between;align-items:center;padding:24px 2px;font-size:clamp(1.4rem,2.6vw,2rem);list-style:none;display:flex}.extra-memories summary::-webkit-details-marker{display:none}.extra-memories[open] summary span{transform:rotate(45deg)}.extra-memories summary span{transition:transform .3s}.memory-grid--extras{padding:34px 0 70px}.finale{z-index:190;text-align:center;background:linear-gradient(#071b16,#0d2a21);justify-items:center;min-height:100svh;padding:clamp(100px,14vw,190px) 22px;display:grid;position:relative;overflow:hidden}.finale__sun{aspect-ratio:1;opacity:.6;background:radial-gradient(circle,#d2ad6266,#d2ad6214 42%,#0000 68%);border-radius:50%;width:min(70vw,760px);position:absolute;top:8%}.finale>:not(.finale__sun){position:relative}.finale h2{font-family:var(--serif);letter-spacing:-.045em;margin:10px 0 24px;font-size:clamp(4rem,10vw,9rem);font-weight:500;line-height:.9}.finale blockquote{color:#f4ead8bd;max-width:760px;font-family:var(--serif);margin:0;font-size:clamp(1.2rem,2.5vw,1.8rem);line-height:1.65}.letter-button{border:1px solid var(--gold);color:var(--green-950);background:var(--gold);cursor:pointer;border-radius:999px;margin-top:48px;padding:15px 26px;font-weight:600}.letter-button span{color:#8d332c}.letter{box-sizing:border-box;width:min(760px,100%);max-width:760px;scroll-margin-top:calc(74px + env(safe-area-inset-top));color:var(--ink);text-align:left;background:#f5e7ce;margin-top:50px;padding:clamp(28px,6vw,68px);transform:rotate(-.4deg);box-shadow:0 28px 80px #00000057}.letter p{margin:0 0 1.25em;font-size:clamp(.98rem,1.5vw,1.08rem);line-height:1.8}.letter__date{color:#8d493e;font-family:var(--serif);font-size:1.6rem}.letter__closing{font-family:var(--serif);margin-top:32px!important;font-size:1.3rem!important}.letter__signature{font-family:var(--serif);margin:0!important;font-size:1.4rem!important}footer{z-index:200;padding:35px 20px calc(35px + env(safe-area-inset-bottom));text-align:center;background:#04100d;position:relative}footer>p{color:#f4ead873;letter-spacing:.12em;text-transform:uppercase;font-size:.72rem}.easter-egg{color:var(--gold);cursor:pointer;font-family:var(--serif);background:0 0;border:0;font-size:1rem}.sticker{max-width:260px;margin:22px auto 0}.sticker img{border-radius:14px;width:100%}.sticker figcaption{color:#f4ead899;font-family:var(--serif);margin-top:8px}.noscript-message{min-height:100vh;color:var(--cream);background:var(--green-950);max-width:1100px;margin:0 auto;padding:15vh 8vw}.noscript-memories{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;margin:48px 0 90px;display:grid}.noscript-memories figure{margin:0}.noscript-memories img{width:100%;height:auto;margin-bottom:12px;display:block}.noscript-letter{max-width:680px;color:var(--ink);background:var(--paper);padding:clamp(26px,5vw,58px)}@media (width<=860px){.site-header{padding-inline:18px}.world-scene__scrim{background:linear-gradient(#04130f14 26%,#04130fb3 56%,#04130ff5 100%)}.world-scene__poster,.world-scene__video{object-position:center 40%}.world-copy{top:auto;left:20px;right:42px;bottom:calc(76px + env(safe-area-inset-bottom));width:auto;transform:translateY(var(--copy-offset))}.world-copy h2{font-size:clamp(2.35rem,11vw,4rem);line-height:.96}.world-copy>p:last-of-type{font-size:.9rem;line-height:1.55}.world-copy ul{margin-top:15px}.world-scroll-hint{text-align:right;justify-content:flex-end;width:150px;max-width:none;line-height:1.3;left:auto;right:-28px}.world-scroll-hint span{max-width:112px}.world-route{right:4px}.world-route span{display:none}.world__fallback-note{bottom:calc(76px + env(safe-area-inset-bottom))}.audio-controls__title{display:none}}@media (width<=680px){.intro h1{font-size:clamp(3.5rem,19vw,5.4rem)}.memory-grid{grid-template-columns:1fr;gap:68px}.memory-card--offset{margin-top:0}.memory-card picture{transform:rotate(0)}.memory-card img{max-height:none}.memory-grid--extras{gap:68px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.world-scene__poster{transform:none!important}.world-scene__camera{transition:none}.world-scroll-hint i{animation:none}}@media (height<=700px){.intro{padding-block:18px}.intro h1{font-size:clamp(2.7rem,15vh,4.5rem);line-height:.9}.intro__eyebrow{margin-top:10px}.intro__subtitle{margin:14px 0 10px;font-size:.95rem;line-height:1.3}.intro__start{padding:10px 18px}.intro__note{margin-top:7px}.world-copy__eyebrow{margin:8px 0 5px}.world-copy h2{font-size:clamp(1.9rem,8.5vh,3rem);line-height:.98}.world-copy>p:last-of-type{margin-top:9px;font-size:.78rem;line-height:1.4}.world-copy ul{gap:4px;margin-top:8px}.world-copy li{padding:4px 8px;font-size:.62rem}.world-scroll-hint{font-size:.62rem;top:calc(100% + 10px)}}@media (width<=860px) and (height<=700px){.world-copy{top:calc(52px + env(safe-area-inset-top));max-height:calc(100svh - 112px - env(safe-area-inset-top) - env(safe-area-inset-bottom));transform:translateY(var(--copy-offset));bottom:auto}.world-route{right:2px}.audio-controls{bottom:calc(7px + env(safe-area-inset-bottom))}}.world-scene__depth{opacity:var(--scene-reveal);perspective:1100px;filter:blur(var(--connector-blur));transform:scale(var(--connector-scale));transform-style:preserve-3d;position:absolute;inset:-7%;overflow:hidden}.world-scene__scrim{z-index:9;opacity:var(--scrim-opacity);background:linear-gradient(90deg,#04130ff0 0%,#04130fb8 34%,#04130f1f 70%),linear-gradient(#0000 52%,#04130f8f);position:absolute;inset:0}.world-scene__layer{transform-origin:50%;transform-style:preserve-3d;position:absolute;inset:0}.world-scene.is-near .world-scene__camera{will-change:transform, transform-origin}.world-scene.is-near .world-scene__depth{will-change:opacity, filter, transform}.world-scene.is-near .world-scene__layer{will-change:transform}.world-scene__layer picture,.world-scene__layer img{width:100%;height:100%;display:block}.world-scene__layer img{object-fit:cover;object-position:center}.world-scene__layer--backdrop{opacity:.64;filter:blur(28px)saturate(.72)brightness(.56)}.world-scene__layer--art{filter:saturate(.9)contrast(1.03)brightness(.78)}.world-scene__layer--glow{mix-blend-mode:screen;background:radial-gradient(circle at 67% 35%,#e7c68147,#0000 22%),radial-gradient(circle at 48% 80%,#b967581f,#0000 30%)}.world-scene__layer--trail{opacity:.22;clip-path:polygon(0 70%,18% 58%,36% 66%,51% 43%,66% 51%,81% 22%,100% 7%,100% 22%,83% 37%,67% 67%,52% 59%,37% 82%,19% 73%,0 88%);filter:blur(1px);background:linear-gradient(118deg,#0000 25%,#f4ead8a6 45%,#d2ad628c 52%,#0000 70%);inset:35% -12% -28%}.world-scene__layer--particles{opacity:.34;background-image:radial-gradient(circle,#f4ead8b8 0 1px,#0000 2px),radial-gradient(circle,#d2ad6299 0 1.5px,#0000 2.5px);background-position:12% 24%,74% 68%;background-size:83px 97px,131px 149px;-webkit-mask-image:linear-gradient(#0000 8%,#000 35% 78%,#0000 96%);mask-image:linear-gradient(#0000 8%,#000 35% 78%,#0000 96%)}.world-scene__layer--foreground{opacity:var(--scrim-opacity);background:linear-gradient(115deg,#04130fb8,#0000 20% 78%,#04130f80),linear-gradient(#0000 58%,#04130f80)}.world-scene--connector .world-scene__layer--art{filter:saturate(.84)brightness(.72)}.world-scene--connector .world-scene__layer--trail{opacity:min(.38, var(--connector-peak));filter:drop-shadow(0 0 18px #d2ad623d)}.world-scene--connector .world-scene__layer--particles{opacity:min(.28, var(--connector-peak))}.world-transition{z-index:10;opacity:min(.46, var(--connector-peak));pointer-events:none;background:radial-gradient(circle at 50% 48%,#0000 28%,#071b1633 72%,#071b1685);position:absolute;inset:0}.world-transition__trail{filter:blur(2px)drop-shadow(0 0 16px #d2ad622e);background:linear-gradient(90deg,#0000,#f4ead84d 35%,#d2ad626b 52%,#0000 84%);border-radius:50%;height:7%;position:absolute;top:58%;left:-8%;right:-8%;transform:rotate(-5deg)}.world-transition__particles{background-image:radial-gradient(circle,#f4ead86b 0 1px,#0000 2px),radial-gradient(circle,#d2ad6257 0 1.5px,#0000 2.5px);background-position:18% 26%,76% 66%;background-size:97px 113px,151px 173px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 10%,#000 32% 78%,#0000 94%);mask-image:linear-gradient(#0000 10%,#000 32% 78%,#0000 94%)}.world-scene.has-video .world-scene__depth{opacity:0}.world-scene__video{z-index:8}@media (width<=860px){.world-scene__depth{inset:-5%}.world-scene__layer img{object-position:center 38%}.world-scene__layer--art{filter:saturate(.9)contrast(1.03)brightness(.68)}.world-scene__layer--foreground{background:linear-gradient(#0000 30%,#04130f80 60%,#04130ff0 100%)}}@media (prefers-reduced-motion:reduce){.world-scene__layer{will-change:auto}.world-scene__layer--particles{opacity:.16}.world-scene--connector .world-scene__depth{filter:none;transform:none}.world-transition,.world-scene--connector .world-scene__layer--trail,.world-scene--connector .world-scene__layer--particles{display:none}}.memory-film{max-width:1180px;margin:0 auto;position:relative}.memory-scene{--memory-opacity:.18;--memory-y:48px;--memory-scale:.96;--memory-rotation:-1deg;--caption-opacity:0;--caption-y:18px;min-height:120svh;position:relative}.memory-scene__sticky{min-height:76svh;opacity:var(--memory-opacity);transform:translateY(var(--memory-y)) scale(var(--memory-scale));transform-origin:50%;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);align-items:center;gap:clamp(28px,6vw,88px);margin:0;display:grid;position:sticky;top:12svh}.memory-scene .memory-card picture{transform:rotate(var(--memory-rotation));transform-origin:50%;background:#fffaf0;padding:clamp(9px,1vw,14px);display:block;position:relative;overflow:hidden;box-shadow:0 24px 55px #3527192b,0 2px 4px #3527191f}.memory-scene .memory-card picture:before,.future-card picture:before{content:"";opacity:0;pointer-events:none;background:linear-gradient(135deg,#d2ad6229,#11362a14);transition:opacity .2s;position:absolute;inset:clamp(9px,1vw,14px)}picture[data-image-state=pending]:before,picture[data-image-state=error]:before{opacity:1}picture[data-image-state=pending] img,picture[data-image-state=error] img{opacity:0}picture[data-image-state=ready] img{opacity:1}.memory-scene .memory-card picture:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #5c432414}.memory-scene .memory-card img{object-fit:cover;filter:saturate(.92)contrast(1.02);width:100%;max-height:72svh;transition:opacity .2s;display:block}.memory-scene .memory-card figcaption{opacity:var(--caption-opacity);transform:translateY(var(--caption-y));padding:0}.memory-scene.is-near .memory-scene__sticky,.memory-scene.is-near .memory-card figcaption,.future-reveal.is-near .future-card{will-change:opacity, transform}.memory-scene .memory-card time{color:#8c6a31;letter-spacing:.13em;text-transform:uppercase;font-size:.7rem;font-weight:600}.memory-scene .memory-card h3{font-family:var(--serif);margin:9px 0 12px;font-size:clamp(2.2rem,4.2vw,4.4rem);font-weight:600;line-height:.94}.memory-scene .memory-card p{color:#17251fb8;margin:0;line-height:1.75}.memory-scene:nth-child(2n) .memory-card picture{grid-column:2}.memory-scene:nth-child(2n) .memory-card figcaption{grid-area:1/1}.extra-memories{max-width:none;margin-top:clamp(60px,9vw,130px)}.extra-memories>summary{max-width:1180px;margin:0 auto;padding:28px 2px}.extra-memories>summary>span:first-child{transform:none}.extra-memories__icon{border:1px solid #17251f3d;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;transition:transform .3s,background .3s;display:inline-grid}.extra-memories[open] .extra-memories__icon{background:#d2ad622e;transform:rotate(45deg)}.memory-film--extras{padding:34px 0 30px}.future-reveal{--future-opacity:.3;--future-y:36px;--future-scale:.975;z-index:185;min-height:140svh;color:var(--cream);background:radial-gradient(circle at 50% 36%,#d2ad6226,#0000 30%),linear-gradient(#102b22,#071b16);position:relative}.future-reveal__sticky{min-height:100svh;padding:calc(72px + env(safe-area-inset-top)) 20px calc(48px + env(safe-area-inset-bottom));align-content:center;justify-items:center;display:grid;position:sticky;top:0}.future-reveal__heading{text-align:center;margin-bottom:clamp(20px,4vh,42px)}.future-reveal__heading>p{color:var(--gold);letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-size:.7rem;font-weight:600}.future-reveal__heading h2{font-family:var(--serif);margin:0;font-size:clamp(3rem,7vw,6.8rem);font-weight:500;line-height:.9}.future-card{width:min(900px,86vw);opacity:var(--future-opacity);transform:translateY(var(--future-y)) scale(var(--future-scale));transform-origin:50%;margin:0}.future-card__photo{background:#fffaf0;padding:clamp(9px,1vw,14px);position:relative;overflow:hidden;box-shadow:0 32px 90px #00000057}.future-card picture,.future-card img{width:100%;display:block;position:relative}.future-card img{object-fit:cover;max-height:58svh;transition:opacity .2s}.future-card figcaption{text-align:center;max-width:720px;margin:24px auto 0}.future-card figcaption h3{font-family:var(--serif);margin:0 0 8px;font-size:clamp(2rem,4vw,3.7rem)}.future-card figcaption p{color:#f4ead8b8;margin:0;line-height:1.7}.future-cover{--cover-left:0%;color:var(--green-950);clip-path:inset(0 0 0 var(--cover-left));cursor:ew-resize;touch-action:pan-y;background:linear-gradient(105deg,#ffffff47,#0000 34%),linear-gradient(135deg,#ead9ba,#cba96e);border:0;place-items:center;transition:clip-path .42s cubic-bezier(.22,.8,.24,1);display:grid;position:absolute;inset:clamp(9px,1vw,14px);overflow:hidden}.future-cover:active{transition:none}.future-cover:after{content:"";left:var(--cover-left);opacity:.6;filter:blur(2px);background:linear-gradient(90deg,#583d1b33,#ffffff85,#0000);width:18px;position:absolute;top:-6%;bottom:-6%;transform:translate(-8px)}.future-cover__fibers{opacity:.2;background-image:repeating-linear-gradient(7deg,#0000 0 13px,#4e371c2e 14px,#0000 15px),repeating-linear-gradient(94deg,#0000 0 21px,#ffffff3d 22px,#0000 23px);position:absolute;inset:0}.future-cover__message{background:#f4ead8b8;border:1px solid #0618132e;border-radius:999px;gap:5px;padding:18px 24px;display:grid;position:relative;box-shadow:0 12px 32px #47301624}.future-cover__message strong{font-family:var(--serif);font-size:clamp(1.15rem,2.5vw,1.65rem)}.future-cover__message small{opacity:.7}.future-reveal[data-revealed=true] .future-cover{pointer-events:none}.future-reveal__status{color:#f4ead894;text-align:center;min-height:1.5em;margin:18px 0 0;font-size:.78rem}.envelope-button{color:var(--cream);cursor:pointer;background:0 0;border:0;justify-items:center;gap:18px;margin-top:52px;padding:12px;display:grid;position:relative}.envelope{aspect-ratio:1.62;filter:drop-shadow(0 22px 30px #0000004d);perspective:900px;width:min(290px,72vw);display:block;position:relative}.envelope__back,.envelope__front,.envelope__flap,.envelope__paper{place-items:center;display:grid;position:absolute;inset:0}.envelope__back{background:#cba96e;border-radius:4px}.envelope__paper{color:#78463d;font-family:var(--serif);background:#f4ead8;font-size:1.15rem;transition:transform .65s cubic-bezier(.2,.76,.22,1);inset:8% 8% 10%;transform:translateY(18%)}.envelope__front{clip-path:polygon(0 38%,50% 74%,100% 38%,100% 100%,0 100%);background:linear-gradient(145deg,#e1c28a 0 49%,#c89f61 50%)}.envelope__flap{z-index:2;clip-path:polygon(0 0,100% 0,50% 66%);transform-origin:50% 0;background:#e8cc98;transition:transform .55s cubic-bezier(.2,.75,.24,1)}.envelope-button[aria-expanded=true] .envelope__flap{transform:rotateX(178deg)}.envelope-button[aria-expanded=true] .envelope__paper{transform:translateY(-42%)}.envelope-button__label{color:var(--gold);font-family:var(--serif);letter-spacing:.04em;font-size:1.15rem}.finale.is-invited .envelope{animation:1.8s ease-in-out 2 envelope-invitation}@keyframes envelope-invitation{0%,to{transform:translateY(0)}45%{transform:translateY(-8px)}}.letter{opacity:0;transform-origin:top;transition:opacity .42s,transform .48s cubic-bezier(.2,.76,.22,1);transform:translateY(-28px)scale(.97)rotate(-.4deg)}.memory-journey--static .future-cover,.memory-journey--static .envelope__flap,.memory-journey--static .envelope__paper,.memory-journey--static .letter{transition:none}.letter.is-open{opacity:1;transform:translateY(0)scale(1)rotate(-.4deg)}.letter:focus{outline:3px solid var(--gold);outline-offset:5px}.letter__date{margin-top:0}@media (width<=680px){.memory-scene{min-height:120svh}.memory-scene__sticky{top:calc(62px + env(safe-area-inset-top));min-height:auto;display:block}.memory-scene:nth-child(2n) .memory-card picture,.memory-scene:nth-child(2n) .memory-card figcaption{grid-area:auto}.memory-scene .memory-card img{max-height:58svh}.memory-scene .memory-card figcaption{padding:22px 4px 0}.future-reveal__sticky{padding-top:calc(82px + env(safe-area-inset-top));align-content:start}.future-card{width:min(94vw,620px)}.future-card img{max-height:52svh}.future-cover__message{padding:14px 18px}}.memory-journey--static .memory-scene,.memory-journey--static .future-reveal{min-height:auto}.memory-journey--static .memory-scene__sticky,.memory-journey--static .future-reveal__sticky{position:relative;top:auto}.memory-journey--static .memory-scene__sticky,.memory-journey--static .future-card,.memory-journey--static .memory-scene .memory-card picture,.memory-journey--static .memory-scene .memory-card figcaption{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.memory-scene,.future-reveal{min-height:auto}.memory-scene__sticky,.future-reveal__sticky{position:relative;top:auto}.memory-scene__sticky,.future-card,.memory-scene .memory-card picture,.memory-scene .memory-card figcaption{opacity:1;will-change:auto;transform:none}.finale.is-invited .envelope{animation:none}}
