/*! tailwindcss v4.3.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-neutral-900:oklch(20.5% 0 none);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.isolate{isolation:isolate}.block{display:block}.contents{display:contents}.hidden{display:none}.h-full{height:100%}.w-full{width:100%}.max-w-none{max-width:none}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.overflow-hidden{overflow:hidden}.bg-neutral-900{background-color:var(--color-neutral-900)}.object-cover{object-fit:cover}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}}:root{color:#eee9df;font-synthesis:none;text-rendering:optimizelegibility;font-optical-sizing:auto;--paper:#e9dfc9;--muted:#8d8981;--gold:#c7a77b;--line:#efe8da29;background:#080706;font-family:DM Sans,sans-serif;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#080706;min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}.site-shell{background:#080706;overflow:hidden}.eyebrow,.top-nav,.hero-overline,.archive-end,.scroll-cue,.intro-foot,.intro-side,.wish-number,.wish-action,.paper-date,.seal-button,.footer-bottom{letter-spacing:.17em;font:500 10px DM Mono,monospace}.top-nav{z-index:20;color:#e6e0d7;justify-content:space-between;align-items:center;width:100%;height:64px;padding:0 4vw;display:flex;position:absolute;top:0;left:0}.brand{letter-spacing:.22em;font-size:11px}.brand span{margin-right:9px;font-size:17px}.top-nav>div{gap:35px;display:flex}.top-nav a:not(.brand){opacity:.7;transition:opacity .25s}.top-nav a:hover{opacity:1}.sound-toggle{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.intro-screen{background:#080706;place-items:center;min-height:100svh;display:grid;position:relative;overflow:hidden}.intro-grain{opacity:.08;pointer-events:none;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.intro-copy{z-index:2;text-align:center;padding:50px 20px;animation:1.1s both rise}.intro-copy .eyebrow{color:#d7b995;align-items:center;gap:9px;display:inline-flex}.intro-kicker{color:#a9a198;margin:44px 0 7px;font:italic 18px Playfair Display}.intro-copy h1{letter-spacing:-.065em;color:#f2eee6;margin:0;font:400 clamp(64px,11vw,150px)/.88 Playfair Display}.intro-copy h1 em{color:#c9a981;font-style:italic}.intro-copy h1 span{color:#c9a981}.intro-sub{color:#aaa39a;margin:25px 0 30px;font-size:13px;line-height:1.8}.pill-button{color:#eee9df;background:0 0;border:1px solid #eadeca59;border-radius:100px;align-items:center;gap:20px;padding:14px 21px;font-size:12px;transition:all .3s;display:inline-flex}.pill-button:hover{color:#15110e;background:#e9dfc9;border-color:#e9dfc9;transform:translateY(-2px)}.pill-button.light{color:#15110e;background:#e9dfc9}.intro-foot{white-space:nowrap;color:#77716a;align-items:center;gap:14px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.intro-foot i{background:#b89c78;border-radius:50%;width:3px;height:3px}.intro-side{writing-mode:vertical-rl;color:#68635c;position:absolute;top:50%;right:25px}.balloon-field{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0}.balloon{opacity:.72;filter:blur(.15px);border-radius:52% 48% 48% 52%;width:clamp(40px,7vw,92px);height:clamp(54px,9vw,122px);animation:13s linear infinite floatUp;position:absolute;bottom:-170px;box-shadow:inset -13px -16px 22px #0003,inset 8px 9px 20px #fff5,0 0 45px}.balloon:after{content:"";border-left:1px solid #ffffff45;height:115px;position:absolute;bottom:-115px;left:50%}.balloon:before{content:"";border-top:9px solid;border-left:6px solid #0000;border-right:6px solid #0000;position:absolute;bottom:-5px;left:45%}.balloon-0{color:#d95b63;background:#d95b63}.balloon-1{color:#d6ae65;background:#d6ae65}.balloon-2{color:#398d91;background:#398d91}.balloon-3{color:#a85b91;background:#a85b91}.balloon-4{color:#5d77b5;background:#5d77b5}.balloon-5{color:#81a66c;background:#81a66c}@keyframes floatUp{0%{opacity:0;transform:translate(0)rotate(-7deg)}10%{opacity:.8}50%{transform:translate(35px,-60vh)rotate(8deg)}to{opacity:0;transform:translate(-20px,-125vh)rotate(-5deg)}}@keyframes rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}.archive-hero{flex-direction:column;justify-content:space-between;min-height:100svh;padding:105px 4vw 35px;display:flex;position:relative}.hero-overline{color:#77736d;justify-content:space-between;display:flex}.heart-mosaic{clip-path:polygon(50% 3%,62% 13%,75% 7%,90% 17%,98% 34%,94% 49%,83% 66%,66% 83%,50% 98%,34% 83%,17% 66%,6% 49%,2% 34%,10% 17%,25% 7%,38% 13%);grid-template-rows:repeat(6,1fr);grid-template-columns:repeat(8,1fr);gap:3px;width:min(540px,70vw);height:min(450px,58vw);margin:12px auto 0;display:grid;position:relative;transform:rotate(-1deg)}.archive-tile{background:#211d19;border:0;padding:0;transition:transform .5s,filter .5s;position:relative;overflow:hidden}.archive-tile img{object-fit:cover;filter:saturate(.9)contrast(1.1);width:100%;height:100%;transition:transform .7s,filter .7s}.archive-tile:hover{z-index:2;filter:brightness(1.2);transform:scale(1.12)}.archive-tile:hover img{transform:scale(1.1)}.tile-1{grid-area:1/3/3/5}.tile-2{grid-area:1/5/3/7}.tile-3{grid-area:2/2/4/4}.tile-4{grid-area:2/4/4/6}.tile-5{grid-area:2/6/4/8}.tile-6{grid-area:3/3/5/5}.tile-7{grid-area:3/5/5/7}.tile-8{grid-area:4/4/6/6}.archive-tile span{letter-spacing:.1em;color:#fff;text-shadow:0 1px 8px #000;font:8px DM Mono;position:absolute;bottom:5px;left:6px}.hero-bottom{grid-template-columns:1fr 1fr 1fr;align-items:end;margin-top:-6px;display:grid}.hero-bottom h1{letter-spacing:-.06em;margin:0;font:400 clamp(39px,6vw,76px)/.9 Playfair Display}.hero-bottom h1 span{color:#8f8980;font-size:.6em}.hero-bottom h1 em{color:#c9a981}.hero-center-note{text-align:center;color:#9b958c;font-size:11px;line-height:1.8}.hero-right{text-align:right;letter-spacing:.15em;color:#8f8980;font:10px/1.8 DM Mono}.hero-right strong{letter-spacing:-.04em;color:#eee9df;font:italic 34px Playfair Display}.scroll-cue{color:#8e887f;align-items:center;gap:12px;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.archive-section{min-height:1000px;padding:145px 5vw 80px;position:relative}.section-heading{border-top:1px solid var(--line);justify-content:space-between;align-items:start;padding-top:18px;display:flex}.section-heading .eyebrow{color:#b89c78}.section-heading p{text-align:right;margin:0;font:italic clamp(24px,3vw,38px)/1.2 Playfair Display}.floating-gallery{max-width:1100px;height:650px;margin:55px auto 20px;position:relative}.gallery-photo{background:#15120f;border:0;padding:0;transition:transform .7s cubic-bezier(.2,.8,.2,1),z-index .2s;position:absolute;overflow:hidden;box-shadow:0 20px 65px #0008}.gallery-photo img{object-fit:cover;filter:saturate(.85);width:100%;height:100%;transition:transform .8s,filter .5s;display:block}.gallery-photo:hover{z-index:5;transform:scale(1.07)rotate(0)!important}.gallery-photo:hover img{filter:saturate(1.1);transform:scale(1.06)}.photo-1{width:210px;height:285px;top:10%;left:8%;transform:rotate(-7deg)}.photo-2{width:190px;height:245px;top:0;left:36%;transform:rotate(4deg)}.photo-3{width:220px;height:300px;top:9%;right:8%;transform:rotate(6deg)}.photo-4{width:180px;height:240px;bottom:5%;left:19%;transform:rotate(5deg)}.photo-5{width:205px;height:280px;bottom:0;left:46%;transform:rotate(-5deg)}.photo-6{width:170px;height:225px;bottom:9%;right:18%;transform:rotate(4deg)}.photo-7{width:145px;height:195px;top:52%;left:0;transform:rotate(-4deg)}.photo-8{width:150px;height:200px;top:53%;right:0;transform:rotate(6deg)}.photo-caption{letter-spacing:.1em;text-align:left;background:linear-gradient(#0000,#000b);justify-content:space-between;padding:26px 12px 11px;font:10px DM Mono;display:flex;position:absolute;bottom:0;left:0;right:0}.archive-end{color:#77716a;border-top:1px solid var(--line);justify-content:space-between;padding-top:16px;display:flex}.manifesto{text-align:center;color:#191512;background:#e7dfd1;padding:150px 10vw 165px;position:relative}.manifesto .eyebrow{color:#8d7356}.manifesto h2{letter-spacing:-.06em;margin:45px 0 24px;font:400 clamp(43px,7vw,90px)/.98 Playfair Display}.manifesto h2 em{color:#9a7957}.manifesto p{color:#655d54;max-width:460px;margin:auto;font-size:13px;line-height:1.9}.manifesto-mark{color:#a48764;margin-top:55px;font:italic 34px Playfair Display;display:block}.wishes-section{padding:135px 6vw 150px}.wish-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-top:75px;display:grid}.wish-card{text-align:left;border:1px solid var(--line);background:#100e0c;flex-direction:column;align-items:flex-start;min-height:290px;padding:23px;transition:background .4s,border-color .4s,transform .4s;display:flex;position:relative}.wish-card:hover{border-color:#9d8060;transform:translateY(-6px)}.wish-card.is-open{color:#17130f;background:#e7dfd1;border-color:#e7dfd1}.wish-number{color:#a78a68}.wish-lock{color:#b99c78;position:absolute;top:21px;right:23px}.wish-card.is-open .wish-lock{color:#8c6e4d}.wish-title{margin-top:56px;font:italic 30px Playfair Display}.wish-text{color:#a8a198;margin-top:13px;font-size:12px;line-height:1.8}.wish-card.is-open .wish-text{color:#625a50}.wish-action{color:#b99c78;align-items:center;gap:8px;margin-top:auto;padding-top:20px;display:flex}.wish-card.is-open .wish-action{color:#856b4c}.all-opened{color:#c9a981;justify-content:center;align-items:center;gap:10px;margin-top:35px;font:12px DM Mono;display:flex}.letter-section{background:#17130f;grid-template-columns:.8fr 1.2fr;align-items:center;gap:7vw;padding:130px 6vw 145px;display:grid}.letter-intro .eyebrow{color:#c9a981}.letter-intro h2{letter-spacing:-.06em;margin:40px 0 25px;font:400 clamp(55px,7vw,90px)/.95 Playfair Display}.letter-intro h2 em{color:#c9a981}.letter-intro p{color:#aaa198;margin-bottom:30px;font-size:13px;line-height:1.9}.parchment-wrap{justify-self:center;width:100%;max-width:680px;animation:1s both rise}.parchment{color:#2a2118;clip-path:polygon(1% 0,99% 0,100% 98%,98% 100%,2% 99%,0 97%);background:#d8c6a2;min-height:650px;padding:60px clamp(25px,5vw,65px);position:relative;box-shadow:0 24px 65px #0008,inset 0 0 55px #9b805355}.parchment:before{content:"";opacity:.14;pointer-events:none;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='.7' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E");position:absolute;top:0;right:0;bottom:0;left:0}.paper-top-roll,.paper-bottom-roll{background:linear-gradient(#9f8967,#e1d0ad 35%,#9d8765);border-radius:50%;height:18px;position:absolute;left:-4px;right:-4px;box-shadow:0 3px 8px #49382055}.paper-top-roll{top:-8px}.paper-bottom-roll{bottom:-8px}.paper-content{z-index:1;position:relative}.paper-date{color:#806b4e;font-size:9px}.handwriting{color:#453522;font:italic 27px Playfair Display}.letter-copy{color:#453b2c;opacity:0;margin:18px 0;font:13px/1.9 Playfair Display,serif;transition:opacity 1.5s,transform 1.5s;transform:translateY(8px)}.is-written .letter-copy{opacity:1;transform:none}.letter-copy:nth-of-type(3){transition-delay:.7s}.signature{text-align:right;margin-top:35px;font-size:25px}.wax-seal{color:#f1c6a6;opacity:0;background:radial-gradient(circle at 35% 28%,#c96e5e,#8d2827 65%,#551918);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:76px;height:76px;margin:24px auto 0;transition:all .8s cubic-bezier(.2,.8,.2,1);display:flex;transform:scale(1.6)rotate(-25deg);box-shadow:inset 0 0 0 4px #b15a4b,inset 0 0 0 7px #70211f,0 5px 12px #4c261b55}.is-written .wax-seal{opacity:.2;transform:scale(.8)}.wax-seal.pressed{opacity:1;transform:scale(1)rotate(0)}.wax-seal span{font:italic 31px Playfair Display}.wax-seal small{letter-spacing:.12em;font:6px DM Mono}.seal-button{color:#d4bc99;background:0 0;border:1px solid #9d8060;border-radius:50px;align-items:center;gap:10px;margin:20px auto 0;padding:12px 17px;display:flex}.seal-button:disabled{opacity:.45;cursor:default}.footer{text-align:center;background:#080706;padding:125px 5vw 30px}.footer>.eyebrow{color:#b99c78}.footer h2{letter-spacing:-.07em;margin:42px 0 25px;font:400 clamp(55px,9vw,115px)/.9 Playfair Display}.footer h2 em{color:#c9a981}.footer>p{color:#9c958b;font:italic 17px Playfair Display}.footer-bottom{border-top:1px solid var(--line);color:#77716a;justify-content:space-between;gap:15px;margin-top:100px;padding-top:20px;font-size:9px;display:flex}.footer-bottom button{color:#c9a981;font:inherit;letter-spacing:inherit;background:0 0;border:0}.photo-modal{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050403ed;place-items:center;padding:25px;animation:.35s both rise;display:grid;position:fixed;top:0;right:0;bottom:0;left:0}.modal-close{border:1px solid var(--line);background:0 0;border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:25px;right:25px}.modal-image{grid-template-columns:minmax(220px,390px) minmax(220px,300px);align-items:end;gap:35px;width:100%;max-width:760px;display:grid}.modal-image img{object-fit:cover;width:100%;max-height:72vh}.modal-image .eyebrow{color:#c9a981}.modal-image h3{margin:15px 0;font:italic 42px Playfair Display}.modal-image p{color:#a8a198;font-size:13px;line-height:1.8}.modal-image button{color:#c9a981;letter-spacing:.12em;background:0 0;border:0;border-bottom:1px solid #a98a65;align-items:center;gap:10px;padding:12px 0;font:10px DM Mono;display:flex}@media(max-width:760px){.top-nav{height:58px;padding:0 18px}.top-nav>div{gap:13px}.top-nav>div a{font-size:8px}.sound-toggle{width:30px;height:30px}.archive-hero{min-height:790px;padding:85px 20px 45px}.hero-overline{font-size:8px}.heart-mosaic{width:min(92vw,470px);height:min(78vw,390px);margin-top:55px}.hero-bottom{grid-template-columns:1fr 1fr;row-gap:20px;margin-top:45px}.hero-bottom h1{font-size:48px}.hero-center-note{display:none}.hero-right{font-size:8px}.hero-right strong{font-size:27px}.scroll-cue{font-size:8px;bottom:15px}.archive-section{min-height:900px;padding:90px 20px 55px}.section-heading{gap:20px}.section-heading .eyebrow{font-size:8px}.section-heading p{font-size:24px}.floating-gallery{height:680px;margin-top:35px}.photo-1{width:42%;height:230px;top:2%;left:2%}.photo-2{width:39%;height:205px;top:17%;left:auto;right:2%}.photo-3{width:42%;height:235px;top:53%;right:2%}.photo-4{width:37%;height:190px;bottom:4%;left:1%}.photo-5{width:43%;height:230px;bottom:0;left:34%}.photo-6{width:34%;height:165px;top:2%;right:1%}.photo-7{width:30%;height:160px;top:43%;left:2%}.photo-8{width:30%;height:155px;top:39%;right:3%}.archive-end{gap:15px;font-size:7px}.manifesto{padding:110px 25px}.manifesto h2{font-size:48px}.wishes-section{padding:95px 20px}.wish-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:45px}.wish-card{min-height:260px;padding:17px}.wish-title{margin-top:45px;font-size:25px}.wish-text{font-size:11px}.letter-section{grid-template-columns:1fr;gap:45px;padding:95px 20px}.letter-intro h2{margin:30px 0 20px;font-size:66px}.parchment{min-height:unset;padding:48px 25px}.letter-copy{font-size:12px;line-height:1.8}.footer{padding:95px 20px 25px}.footer-bottom{flex-wrap:wrap;justify-content:center;margin-top:70px;font-size:8px}.modal-image{grid-template-columns:1fr;gap:20px;max-width:420px}.modal-image img{justify-self:center;width:auto;max-width:100%;max-height:48vh}.modal-image>div{text-align:center}.modal-image button{margin:auto}.intro-side{display:none}.intro-foot{font-size:8px}}@media(max-width:390px){.top-nav>div{gap:8px}.top-nav>div a{font-size:7px}.brand{font-size:9px}.hero-bottom h1{font-size:42px}.wish-grid{grid-template-columns:1fr}.wish-card{min-height:225px}.archive-hero{min-height:730px}}@media(prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.writing-cursor{vertical-align:-.12em;background:#6f4e2e;width:1px;height:1em;margin-left:2px;animation:.8s steps(2,end) infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.poem-stage{isolation:isolate;perspective:1200px;background:radial-gradient(at 50% 65%,#7b246c,#35102f 24%,#100b13 58%,#050405);justify-content:center;align-items:center;height:100svh;min-height:680px;display:flex;position:relative;overflow:hidden}.poem-stage:before{content:"";z-index:-1;background:linear-gradient(90deg,#09070c,#0000 28%,#0000 72%,#09070c),repeating-linear-gradient(0deg,#0000 0,#0000 78px,#ffffff08,#ffffff08 80px);position:absolute;top:0;right:0;bottom:0;left:0}.poem-ceiling{border:1px solid #efb8f0aa;height:26%;position:absolute;top:0;left:8%;right:8%;transform:perspective(500px)rotateX(-35deg);box-shadow:0 0 20px #e88be8aa,inset 0 0 20px #e88be855}.poem-ceiling i{border:1px solid #f3bdf3aa;position:absolute;top:16%;right:8%;bottom:16%;left:8%;box-shadow:0 0 14px #e88be8}.poem-ceiling i:nth-child(2){top:35%;right:20%;bottom:35%;left:20%}.poem-ceiling i:nth-child(3){top:54%;right:32%;bottom:54%;left:32%}.poem-ceiling i:nth-child(4){top:73%;right:43%;bottom:73%;left:43%}.poem-wall{color:#f5d8f2;white-space:nowrap;letter-spacing:-.04em;text-shadow:0 0 12px #fff;background:linear-gradient(90deg,#271327,#9c4c92aa,#271327);border-top:2px solid #f1baf0;border-bottom:2px solid #f1baf0;align-items:center;width:30%;height:48%;font:700 clamp(22px,4vw,48px) DM Sans;display:flex;position:absolute;top:23%;overflow:hidden;box-shadow:0 0 35px #d85cc8aa,inset 0 0 45px #d85cc844}.poem-wall span{animation:26s linear infinite poemMarquee}.poem-wall-left{left:-8%;transform:perspective(600px)rotateY(32deg)}.poem-wall-right{justify-content:flex-end;right:-8%;transform:perspective(600px)rotateY(-32deg)}.poem-wall-right span{animation-direction:reverse}.poem-floor{transform-origin:top;background:repeating-linear-gradient(0deg,#0000 0,#0000 46px,#efb8f044 47px,#efb8f044 49px),repeating-linear-gradient(90deg,#0000 0,#0000 95px,#efb8f033 96px,#efb8f033 98px);height:33%;position:absolute;bottom:-5%;left:12%;right:12%;transform:perspective(450px)rotateX(62deg);box-shadow:0 -15px 50px #e879d533}.poem-stage-label{z-index:3;color:#c5a5bf;justify-content:space-between;display:flex;position:absolute;top:32px;left:4vw;right:4vw}.poem-cube-wrap{z-index:2;perspective:900px;filter:drop-shadow(0 30px 45px #0009);width:300px;height:300px;position:relative}.poem-cube{transform-style:preserve-3d;animation:22s ease-in-out infinite cubeTurn;position:absolute;top:0;right:0;bottom:0;left:0}.poem-face{text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#fff1fb;background:linear-gradient(145deg,#a34a9b88,#170e208e 65%);border:1px solid #f5c9f188;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;bottom:0;left:0;box-shadow:inset 0 0 45px #f6a8ef22,0 0 28px #e57bd544}.poem-face p{text-shadow:0 2px 15px #000;font:italic 27px/1.2 Playfair Display}.poem-front{flex-direction:column;gap:12px;transform:translateZ(150px)}.poem-front span,.poem-top span,.poem-bottom span{letter-spacing:.25em;font:500 11px DM Mono}.poem-front em{font:italic 42px Playfair Display}.poem-back{transform:rotateY(180deg)translateZ(150px)}.poem-left{transform:rotateY(-90deg)translateZ(150px)}.poem-right{transform:rotateY(90deg)translateZ(150px)}.poem-top{transform:rotateX(90deg)translateZ(150px)}.poem-bottom{transform:rotateX(-90deg)translateZ(150px)}.poem-caption{z-index:4;justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:35px;left:4vw;right:4vw}.poem-caption p{color:#e7d9e3;margin:0;font:italic 19px/1.4 Playfair Display}.poem-caption p em{color:#e7aee0}.poem-caption a{color:#eac9e7;letter-spacing:.15em;border-bottom:1px solid #d7a5d1;align-items:center;gap:10px;padding-bottom:8px;font:10px DM Mono;display:flex}@keyframes cubeTurn{0%,12%{transform:rotateX(-8deg)rotateY(0)}32%{transform:rotateX(5deg)rotateY(-90deg)}52%{transform:rotateX(-5deg)rotateY(-180deg)}72%{transform:rotateX(6deg)rotateY(-270deg)}to{transform:rotateX(-8deg)rotateY(-360deg)}}@keyframes poemMarquee{to{transform:translate(-50%)}}@media(max-width:760px){.poem-stage{height:100svh;min-height:720px}.poem-wall{width:43%;height:38%;font-size:25px;top:28%}.poem-wall-left{left:-23%}.poem-wall-right{right:-23%}.poem-ceiling{height:20%;left:2%;right:2%}.poem-cube-wrap{width:220px;height:220px}.poem-face{top:0;right:0;bottom:0;left:0}.poem-front{transform:translateZ(110px)}.poem-back{transform:rotateY(180deg)translateZ(110px)}.poem-left{transform:rotateY(-90deg)translateZ(110px)}.poem-right{transform:rotateY(90deg)translateZ(110px)}.poem-top{transform:rotateX(90deg)translateZ(110px)}.poem-bottom{transform:rotateX(-90deg)translateZ(110px)}.poem-front em{font-size:32px}.poem-face p{font-size:21px}.poem-caption{gap:20px;bottom:25px}.poem-caption p{font-size:15px}.poem-caption a{font-size:8px}.poem-stage-label{font-size:8px;top:22px}}@media(prefers-reduced-motion:reduce){.poem-cube,.poem-wall span{animation:none}}.is-writing .letter-copy{opacity:1;transform:none}.signature{opacity:0;transition:all .8s .5s;transform:translateY(8px)}.is-written .signature{opacity:1;transform:none}.parchment{transform-origin:top;animation:1.65s cubic-bezier(.18,.76,.25,1) both parchmentUnroll}@keyframes parchmentUnroll{0%{clip-path:inset(0 0 100%);transform:scaleY(.12)}68%{clip-path:inset(0);transform:scaleY(1.015)}to{clip-path:inset(0);transform:scaleY(1)}}@media(max-width:760px){.portrait-stream{width:calc(100% + 28px);height:clamp(260px,43vh,360px);margin:24px -14px 0}}@media(prefers-reduced-motion:reduce){.portrait-stream .tilted-grid-hero *{animation-play-state:paused!important}}:root{color-scheme:dark}html{-webkit-text-size-adjust:100%;scroll-padding-top:72px}body{overflow-x:hidden}img{max-width:100%}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline-offset:4px;outline:2px solid #d6b68c}.top-nav{gap:16px}.top-nav>div{flex-wrap:wrap;justify-content:center}.portrait-stream{flex:none;width:min(100%,1100px);height:clamp(300px,46vh,440px);margin:12px auto 0;position:relative}.portrait-stream .tilted-grid-hero{width:100%;height:100%;overflow:hidden}.portrait-stream img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.gallery-photo:focus-visible{z-index:6}.photo-modal{overscroll-behavior:contain;overflow-y:auto}.modal-image{min-width:0}.modal-image img{display:block}.wish-card{min-width:0}.wish-text{overflow-wrap:anywhere}@media(max-width:760px){.archive-hero{min-height:max(720px,100svh);padding:82px 18px 42px}.portrait-stream{width:calc(100% + 24px);height:clamp(270px,43svh,370px);margin:24px -12px 0}.hero-overline{gap:14px}.hero-overline span:last-child{text-align:right}.hero-bottom{align-items:end}.hero-bottom h1{max-width:9ch}.hero-right{align-self:end}.archive-section{min-height:0}.floating-gallery{height:clamp(590px,170vw,760px);margin-top:38px}.section-heading{gap:18px}.section-heading p{max-width:21ch}.manifesto h2{text-wrap:balance}.wish-card{overflow-wrap:anywhere}.letter-section,.parchment{min-width:0}.photo-modal{padding:72px 18px 24px}.modal-image{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;width:min(100%,420px)}.modal-image img{object-fit:contain;justify-self:center;width:auto;max-width:100%;max-height:48svh}.modal-image>div{text-align:center}.modal-image button{margin-inline:auto}}@media(max-width:420px){.top-nav{gap:8px;padding-inline:13px}.top-nav>div{gap:9px}.top-nav>div a{font-size:7px}.brand{letter-spacing:.16em;font-size:9px}.archive-hero{padding-inline:14px}.hero-bottom h1{font-size:clamp(39px,11vw,47px)}.hero-right strong{font-size:25px}.section-heading{flex-direction:column;align-items:flex-start}.section-heading p{text-align:left}.archive-end{flex-direction:column}.wish-grid{grid-template-columns:minmax(0,1fr)}.wish-card{min-height:220px}.letter-intro h2{font-size:clamp(54px,16vw,66px)}.parchment{padding:42px 19px}.letter-copy{font-size:12px}.footer-bottom{flex-direction:column;align-items:center}}@media(max-height:680px)and (min-width:761px){.archive-hero{min-height:760px}.portrait-stream{height:330px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portrait-stream *,.floating-gallery *,.poem-cube,.poem-wall span{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.archive-section{min-height:0}.floating-gallery{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(14px,2vw,24px);width:100%;max-width:1100px;height:auto;margin:55px auto 28px;display:grid}.floating-gallery .gallery-photo{aspect-ratio:4/5;background:#15120f;border:1px solid #ffffff18;border-radius:3px;width:100%;min-width:0;height:auto;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .35s;display:block;position:relative;inset:auto;overflow:hidden;transform:none;box-shadow:0 14px 38px #0007}.floating-gallery .gallery-photo img{object-fit:cover;object-position:center;filter:saturate(.9);width:100%;height:100%;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s;display:block;position:absolute;top:0;right:0;bottom:0;left:0}.floating-gallery .gallery-photo:hover{z-index:2;border-color:#b99c78;transform:translateY(-5px);box-shadow:0 22px 48px #0009}.floating-gallery .gallery-photo:hover img{filter:saturate(1.05);transform:scale(1.045)}.floating-gallery .gallery-photo:focus-visible{z-index:3;outline-offset:4px;outline:2px solid #d6b68c}.floating-gallery .photo-caption{z-index:1;text-align:left}@media(max-width:900px){.floating-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@media(max-width:760px){.floating-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;height:auto;margin:38px auto 24px}.floating-gallery .gallery-photo{aspect-ratio:3/4}}@media(max-width:360px){.floating-gallery{gap:9px}.floating-gallery .photo-caption{padding:22px 9px 9px;font-size:9px}}.poem-stage,.archive-hero,.archive-section,.manifesto,.wishes-section,.letter-section,.footer{isolation:isolate;position:relative}.party-corners{z-index:0;pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.party-corner{opacity:.42;transform-origin:50%;width:116px;height:128px;position:absolute}.party-corner--top-left{top:8px;left:7px}.party-corner--top-right{top:8px;right:7px;transform:scaleX(-1)}.party-corner--bottom-left{bottom:8px;left:7px;transform:scaleY(-1)}.party-corner--bottom-right{bottom:8px;right:7px;transform:scale(-1)}.party-balloon{border-radius:54% 48% 48% 52%;width:19px;height:25px;display:block;position:absolute;box-shadow:inset -5px -6px 9px #0003,inset 4px 4px 7px #fff5,0 4px 13px #0002}.party-balloon:before{content:"";border-top:5px solid;border-left:3px solid #0000;border-right:3px solid #0000;position:absolute;bottom:-4px;left:43%}.party-balloon:after{content:"";transform-origin:top;border-left:1px solid #e5cba44f;height:42px;position:absolute;top:28px;left:50%;transform:rotate(7deg)}.party-balloon--a{color:#b87d73;background:linear-gradient(135deg,#f0b3a6,#9b4c53);top:18px;left:18px;transform:rotate(-13deg)}.party-balloon--b{color:#c4a16c;background:linear-gradient(135deg,#f4dfab,#a87b3f);top:9px;left:44px;transform:rotate(8deg)scale(.88)}.party-balloon--c{color:#987e9e;background:linear-gradient(135deg,#d2b5d5,#71536f);top:30px;left:66px;transform:rotate(15deg)scale(.76)}.party-star{color:#d9b77f;text-shadow:0 0 12px #d9b77f55;font-family:Georgia,serif;position:absolute}.party-star--a{font-size:17px;top:72px;left:7px}.party-star--b{font-size:20px;top:12px;left:89px}.party-confetti-mark{color:#cf9d8b;font-size:30px;line-height:1;position:absolute;top:82px;left:87px}.manifesto .party-balloon:after{border-color:#765d493d}.manifesto .party-corner{opacity:.48}.letter-section,.wishes-section,.footer{overflow:hidden}.letter-action-row{align-items:flex-end;gap:clamp(12px,1.7vw,22px);max-width:560px;margin-top:29px;display:flex}.letter-cta-wrap{flex-direction:column;align-items:flex-start;gap:11px;min-width:0;display:flex;position:relative}.letter-tap-cue{color:#e2c28f;letter-spacing:.13em;align-items:center;gap:7px;font:500 8px DM Mono,monospace;animation:2.1s ease-in-out infinite letterCuePulse;display:inline-flex}.letter-tap-cue svg{animation:1.1s ease-in-out infinite alternate letterPointerNudge}.letter-open-button{white-space:nowrap;color:#17110c;background:linear-gradient(115deg,#f0d9ad,#c99c62 52%,#e8c995);border:1px solid #f0d39f;gap:11px;padding:14px 18px;font-size:11px;font-weight:600;position:relative;box-shadow:0 7px 24px #b786453b,inset 0 1px #fff9}.letter-open-button:hover{color:#17110c;background:linear-gradient(115deg,#fff0cf,#d9ae73 52%,#f4d8a8);box-shadow:0 11px 32px #c7995a55,inset 0 1px #fff}.letter-photo-frame{aspect-ratio:3/4;background:linear-gradient(140deg,#fff0c9,#c99b5c,#f1d49a 36%,#8a6036 58%,#e9c78d 78%,#9c7040);border:1px solid #f0d49c;border-radius:2px;flex:0 0 132px;width:132px;padding:9px 9px 31px;transition:transform .45s,box-shadow .45s;display:block;position:relative;transform:rotate(2.2deg);box-shadow:0 17px 36px #0009,inset 0 0 0 2px #7d552c,inset 0 0 0 4px #f6dfb5}.letter-photo-frame:before{content:"";pointer-events:none;border:1px solid #fff4d58a;position:absolute;top:4px;right:4px;bottom:4px;left:4px}.letter-photo-frame:hover{transform:rotate(0)translateY(-5px);box-shadow:0 23px 42px #000b,inset 0 0 0 2px #7d552c,inset 0 0 0 4px #f6dfb5}.letter-photo-frame img{object-fit:cover;object-position:center 35%;border:4px solid #342518;width:100%;height:100%;min-height:0;display:block;box-shadow:0 2px 9px #0007}.frame-plaque{color:#563b22;letter-spacing:.15em;text-align:center;font:600 7px DM Mono,monospace;position:absolute;bottom:8px;left:0;right:0}.letter-confetti{z-index:10;pointer-events:none;width:1px;height:1px;position:absolute;top:50%;left:50%;overflow:visible}.burst-piece{opacity:0;width:7px;height:11px;animation:1.12s cubic-bezier(.13,.72,.2,1) forwards letterConfettiPop;animation-delay:var(--delay);background:#e8c27e;border-radius:2px;display:block;position:absolute;box-shadow:0 0 9px #e8c27e75}.burst-piece:nth-child(4n+2){background:#d98d91;border-radius:50%;width:6px;height:9px}.burst-piece:nth-child(4n+3){background:#b69bc7;width:5px;height:12px}.burst-piece:nth-child(4n){background:#f2e5c7;border-radius:1px;width:8px;height:8px}.burst-piece.is-star{width:auto;height:auto;box-shadow:none;color:#f8dca6;text-shadow:0 0 12px #f8dca6;background:0 0;font:18px Georgia,serif}@keyframes letterConfettiPop{0%{opacity:0;transform:translate(-50%,-50%)scale(.25)rotate(0)}12%{opacity:1}78%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy) + 34px)) rotate(var(--spin)) scale(.78)}}@keyframes letterCuePulse{0%,to{opacity:.72}50%{opacity:1}}@keyframes letterPointerNudge{0%{transform:translate(-2px,-1px)rotate(-8deg)}to{transform:translate(3px,2px)rotate(8deg)}}@media(max-width:1000px)and (min-width:761px){.letter-section{grid-template-columns:.95fr 1.05fr;gap:4vw}.letter-action-row{gap:12px}.letter-photo-frame{flex-basis:116px;width:116px}.letter-open-button{gap:8px;padding-inline:13px;font-size:10px}.letter-tap-cue{font-size:7px}}@media(max-width:760px){.party-corner{transform-origin:50%;opacity:.34}.party-corner--top-left{top:2px;left:-4px}.party-corner--top-right{top:2px;right:-4px;transform:scaleX(-1)}.party-corner--bottom-left{bottom:2px;left:-4px;transform:scaleY(-1)}.party-corner--bottom-right{bottom:2px;right:-4px;transform:scale(-1)}.letter-action-row{grid-template-columns:minmax(0,1fr) 112px;align-items:end;gap:12px;display:grid}.letter-photo-frame{flex:auto;justify-self:end;width:112px}.letter-open-button{gap:8px;padding:12px 13px;font-size:10px}.letter-tap-cue{letter-spacing:.1em;font-size:7px}}@media(max-width:420px){.letter-action-row{grid-template-columns:minmax(0,1fr) 94px;gap:10px}.letter-photo-frame{width:94px;padding:7px 7px 25px}.letter-open-button{justify-content:space-between;gap:5px;width:100%;padding:12px 9px;font-size:9px}.letter-tap-cue{letter-spacing:.07em;gap:4px;font-size:6.5px}.letter-tap-cue svg{flex:none;width:12px;height:12px}.frame-plaque{font-size:6px;bottom:7px}}@media(prefers-reduced-motion:reduce){.letter-tap-cue,.letter-tap-cue svg{animation:none}.letter-confetti{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}
