/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) 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-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:"Karla", system-ui, sans-serif;--font-serif:"Fraunces", Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-normal:400;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--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);--color-paper:#fdf6ec;--color-paper-2:#f6e8d8;--color-ink:#4a3b32;--color-ink-soft:#776256;--color-pink:#e9b7c2;--color-peach:#f6c9a8;--color-sage:#b9cbb0;--color-lilac:#cdbde0;--font-hand:"Caveat", cursive;--shadow-polaroid:0 18px 40px -22px #4a3b3273}}@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%;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;-webkit-text-decoration:inherit;-webkit-text-decoration: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]){appearance:button}::file-selector-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{.polaroid{width:clamp(230px,24vw,330px);box-shadow:var(--shadow-polaroid);rotate:var(--tilt,0deg);background:#fffdf8;flex:none;padding:14px;position:relative}.polaroid:before{content:"";background:#e9b7c28c;width:78px;height:26px;position:absolute;top:-12px;left:50%;transform:translate(-50%)rotate(-3deg)}.polaroid__photo{aspect-ratio:4/5;background:var(--color-paper-2);position:relative;overflow:hidden}.polaroid__img,.polaroid__frame{width:100%;height:100%;display:block}.polaroid__img{object-fit:cover}.polaroid__frame{object-fit:fill;pointer-events:none;position:absolute;inset:0}.polaroid--empty .polaroid__photo{background:#ffffff59;border:2px dashed #4a3b3240;place-items:center;display:grid}.polaroid--empty span{font-family:var(--font-hand);color:var(--color-ink-soft)}.gallery__track{cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.gallery__track:active{cursor:grabbing}.gallery__drift{will-change:transform;align-items:center;gap:clamp(1rem,3vw,2.5rem);width:max-content;display:flex}.gallery__drift .polaroid{cursor:pointer}.gallery-popup{z-index:60;padding:max(1.5rem, env(safe-area-inset-top)) max(1.5rem, env(safe-area-inset-right)) max(1.5rem, env(safe-area-inset-bottom)) max(1.5rem, env(safe-area-inset-left));background:#4a3b32cc;place-items:center;display:grid;position:fixed;inset:0}.gallery-popup img{object-fit:contain;border-radius:6px;width:auto;max-width:92vw;height:auto;max-height:88vh;display:block;box-shadow:0 24px 64px -20px #000000a6}.gallery-popup__close{top:max(1rem, env(safe-area-inset-top));right:max(1rem, env(safe-area-inset-right));z-index:1;background:var(--color-paper);width:46px;height:46px;color:var(--color-ink);cursor:pointer;box-shadow:var(--shadow-polaroid);border:none;border-radius:50%;place-items:center;font-size:1.7rem;line-height:1;display:grid;position:absolute}.gallery-popup__close:hover{background:var(--color-peach)}.letter__body{text-wrap:pretty;-webkit-hyphens:auto;hyphens:auto}.letter__body>p{width:min(100%,36rem);margin:0 auto 1.6em}.letter__body>p:last-child,.letter__body>.letter__beat:last-child>.letter__beat-copy{font-family:var(--font-hand);font-size:1.5em;line-height:1.4}.letter__beat{grid-template-columns:minmax(0,1fr) minmax(0,36rem) minmax(0,1fr);align-items:center;margin:clamp(2.4rem,7vw,5rem) 0;display:grid}.letter__beat-copy{grid-column:2;width:100%;margin:0}.letter__beat-sticker{justify-content:center;align-items:center;min-width:0;display:flex}.letter__beat[data-side=left] .letter__beat-sticker{grid-column:1}.letter__beat[data-side=right] .letter__beat-sticker{grid-column:3}.letter__beat--quote .letter__beat-copy{text-wrap:balance;font-size:clamp(1.35rem,3vw,2rem);line-height:1.32}.handwritten-title{width:100%;position:relative}.handwritten-title__frame{pointer-events:none;height:.55em;color:var(--color-ink-soft);position:absolute;bottom:.08em;left:4%;right:4%}.handwritten-title__frame svg{opacity:.55;width:100%;height:100%;display:block;overflow:visible}.handwritten-title__copy{position:relative}.letter__beat--shell .letter__beat-copy{text-align:center}.letter__beat--coffee .letter__beat-copy{text-align:center;justify-self:center;width:min(100%,29rem)}.letter__beat--closing .letter__beat-copy{text-align:center;justify-self:center;width:min(100%,30rem);font-size:clamp(1.55rem,4vw,2.5rem);line-height:1.22}.letter__beat-sticker>img.scrap--letter-shell,.letter__beat-sticker>img.scrap--letter-coffee{object-fit:contain;width:min(100%,9rem);max-width:100%;max-height:clamp(52px,18vw,96px);position:static}.scrap--letter-shell{rotate:-9deg}.scrap--letter-coffee{rotate:7deg}.letter__highlight{color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:linear-gradient(#0000 57%,#e9b7c2ad 57%);padding-inline:.035em}.letter__highlight:nth-of-type(2n){background:linear-gradient(#0000 57%,#f6c9a8b8 57%)}.reveal{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(24px)}.reveal.is-visible{opacity:1;transform:none}.music-toggle{z-index:20;width:52px;height:46px;color:var(--color-ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;background:#fffdf8f0;border:1px solid #4a3b3229;border-radius:999px;place-items:center;transition:border-color .18s,background-color .18s,box-shadow .18s,transform .18s;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 5px 18px #4a3b321f}.music-toggle:hover{background:#fffdf8;border-color:#4a3b324d;transform:translateY(-2px);box-shadow:0 8px 22px #4a3b3229}.music-toggle:focus-visible{outline:2px solid var(--color-ink-soft);outline-offset:4px}.music-toggle__wave{justify-content:center;align-items:center;gap:2px;height:20px;display:flex}.music-toggle__wave>span{width:2px;height:var(--wave-height,8px);transform-origin:50%;background:currentColor;border-radius:999px;transform:scaleY(.72)}.music-toggle__wave>span:first-child{--wave-height:7px}.music-toggle__wave>span:nth-child(2){--wave-height:13px}.music-toggle__wave>span:nth-child(3){--wave-height:18px}.music-toggle__wave>span:nth-child(4){--wave-height:11px}.music-toggle__wave>span:nth-child(5){--wave-height:16px}.music-toggle__wave>span:nth-child(6){--wave-height:9px}.music-toggle__wave>span:nth-child(7){--wave-height:5px}.music-toggle[aria-pressed=true] .music-toggle__wave>span{animation:.85s ease-in-out infinite alternate music-wave}.music-toggle[aria-pressed=true] .music-toggle__wave>span:nth-child(2n){animation-duration:.68s;animation-delay:-320ms}.music-toggle[aria-pressed=true] .music-toggle__wave>span:nth-child(3n){animation-duration:1s;animation-delay:-560ms}@keyframes music-wave{0%{transform:scaleY(.28)}to{transform:scaleY(1)}}.hero__collage{z-index:1;object-fit:contain;mix-blend-mode:multiply;height:auto;display:block;position:relative;-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 100%);mask-image:linear-gradient(#0000 0%,#000 18% 100%)}.hero__collage-person{z-index:2;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 18px 22px #4a3b3238);width:auto;height:64%;position:absolute;bottom:-8%;left:2%}.hero__collage-shadow{z-index:0;filter:blur(1px);pointer-events:none;-webkit-user-select:none;user-select:none;background:radial-gradient(#4a3b323d,#4a3b321a 55%,#0000 75%);border-radius:50%;height:3.5%;position:absolute;bottom:-4%;left:6%;right:6%}.hero__collage-person-shadow{z-index:0;filter:blur(1px);pointer-events:none;-webkit-user-select:none;user-select:none;background:radial-gradient(#4a3b324d,#4a3b321f 55%,#0000 75%);border-radius:50%;width:30%;height:3%;position:absolute;bottom:-6%;left:-3%}.photo-strip__track{gap:clamp(1rem,2.5vw,2rem);padding:2.5rem clamp(1rem,6vw,5rem) 1.5rem;position:relative}.photo-strip__track:before{content:"";pointer-events:none;border-top:1px dashed #4a3b3247;position:absolute;top:2.5rem;left:0;right:0}.scrap{z-index:1;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;opacity:.92;width:auto;max-width:none;height:auto;display:block;position:absolute}.scrap--strip-star{width:clamp(54px,6vw,86px);top:max(.75rem,1.5vh);right:max(.75rem,2.5vw);rotate:-8deg}.scrap--closing-ice{width:clamp(72px,9vw,152px);top:max(1.5rem,7vh);left:max(.75rem,3.5vw);rotate:-11deg}.scrap--closing-camera{width:clamp(88px,11vw,182px);bottom:max(1.25rem,6vh);right:max(.75rem,3.5vw);rotate:8deg}.scrap--closing-star{width:clamp(58px,7vw,96px);top:max(2rem,14vh);right:max(.75rem,8vw);rotate:6deg}.scrap--closing-shell{width:clamp(52px,6.5vw,88px);bottom:max(2rem,12vh);left:max(.75rem,7vw);rotate:-13deg}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-\[18\%\]{top:18%}.right-\[5\%\]{right:5%}.bottom-\[16\%\]{bottom:16%}.left-\[5\%\]{left:5%}.z-10{z-index:10}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.my-\[0\.1em\]{margin-block:.1em}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-\[clamp\(3rem\,5vw\,4\.5rem\)\]{margin-top:clamp(3rem,5vw,4.5rem)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.h-auto{height:auto}.min-h-\[100svh\]{min-height:100svh}.w-\[clamp\(110px\,12vw\,170px\)\]{width:clamp(110px,12vw,170px)}.w-\[clamp\(110px\,15vw\,190px\)\]{width:clamp(110px,15vw,190px)}.w-full{width:100%}.w-max{width:max-content}.max-w-\[28ch\]{max-width:28ch}.max-w-\[34rem\]{max-width:34rem}.max-w-\[38rem\]{max-width:38rem}.max-w-\[60rem\]{max-width:60rem}.max-w-\[90rem\]{max-width:90rem}.max-w-full{max-width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.place-content-center{place-content:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-\[clamp\(1rem\,3vw\,2\.5rem\)\]{gap:clamp(1rem,3vw,2.5rem)}.overflow-hidden{overflow:hidden}.border{border-style:var(--tw-border-style);border-width:1px}.object-contain{object-fit:contain}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-\[8vw\]{padding-inline:8vw}.py-8{padding-block:calc(var(--spacing) * 8)}.py-\[7vh\]{padding-block:7vh}.py-\[8vh\]{padding-block:8vh}.py-\[10vh\]{padding-block:10vh}.py-\[12vh\]{padding-block:12vh}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.text-center{text-align:center}.font-hand{font-family:var(--font-hand)}.font-serif{font-family:var(--font-serif)}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[1\.4rem\]{font-size:1.4rem}.text-\[clamp\(1\.1rem\,2\.5vw\,1\.5rem\)\]{font-size:clamp(1.1rem,2.5vw,1.5rem)}.text-\[clamp\(1\.3rem\,3vw\,1\.8rem\)\]{font-size:clamp(1.3rem,3vw,1.8rem)}.text-\[clamp\(1\.4rem\,4vw\,2rem\)\]{font-size:clamp(1.4rem,4vw,2rem)}.text-\[clamp\(1\.6rem\,4vw\,2\.6rem\)\]{font-size:clamp(1.6rem,4vw,2.6rem)}.text-\[clamp\(1\.15rem\,2vw\,1\.6rem\)\]{font-size:clamp(1.15rem,2vw,1.6rem)}.text-\[clamp\(1\.0625rem\,4\.6vw\,1\.375rem\)\]{font-size:clamp(1.0625rem,4.6vw,1.375rem)}.text-\[clamp\(1rem\,2\.2vw\,1\.2rem\)\]{font-size:clamp(1rem,2.2vw,1.2rem)}.text-\[clamp\(2\.2rem\,6vw\,4rem\)\]{font-size:clamp(2.2rem,6vw,4rem)}.text-\[clamp\(2rem\,5vw\,3\.5rem\)\]{font-size:clamp(2rem,5vw,3.5rem)}.text-\[clamp\(3rem\,8vw\,5rem\)\]{font-size:clamp(3rem,8vw,5rem)}.text-\[clamp\(4rem\,18vw\,9rem\)\]{font-size:clamp(4rem,18vw,9rem)}.text-\[clamp\(4rem\,18vw\,12rem\)\]{font-size:clamp(4rem,18vw,12rem)}.leading-\[0\.9\]{--tw-leading:.9;line-height:.9}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[1\.85\]{--tw-leading:1.85;line-height:1.85}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.break-words{overflow-wrap:break-word}.text-ink-soft{color:var(--color-ink-soft)}.text-pink{color:var(--color-pink)}.underline{text-decoration-line:underline}.mix-blend-multiply{mix-blend-mode:multiply}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}@media not all and (width>=600px){.max-\[600px\]\:hidden{display:none}}@media (width>=900px){.min-\[900px\]\:mx-0{margin-inline:0}.min-\[900px\]\:max-w-\[46rem\]{max-width:46rem}.min-\[900px\]\:grid-cols-\[minmax\(0\,0\.92fr\)_minmax\(0\,1\.08fr\)\]{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.min-\[900px\]\:justify-end{justify-content:flex-end}.min-\[900px\]\:gap-8{gap:calc(var(--spacing) * 8)}.min-\[900px\]\:text-left{text-align:left}}}.envelope-intro{z-index:50;padding:max(1.25rem, env(safe-area-inset-top)) max(1.25rem, env(safe-area-inset-right)) max(1.25rem, env(safe-area-inset-bottom)) max(1.25rem, env(safe-area-inset-left));background:radial-gradient(ellipse 70% 55% at 50% 30%, #e9b7c242, transparent 62%), radial-gradient(ellipse 55% 45% at 78% 78%, #cdbde03d, transparent 66%), radial-gradient(ellipse 60% 50% at 18% 82%, #b9cbb033, transparent 68%), var(--color-paper);perspective:1400px;align-content:center;place-items:center;gap:clamp(1.4rem,4vh,2.6rem);transition:opacity .5s .6s;display:grid;position:fixed;inset:0;overflow:hidden}.envelope-intro__aura{filter:blur(6px);pointer-events:none;background:radial-gradient(circle,#fffbf0f2 0%,#f6c9a847 34%,#e9b7c224 52%,#0000 68%);border-radius:50%;width:min(120vw,64rem);height:min(120vw,64rem);animation:9s ease-in-out infinite aura-breathe;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.envelope-intro__grain{pointer-events:none;opacity:.42;mix-blend-mode:multiply;background-image:repeating-linear-gradient(0deg,#4a3b320b 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#4a3b3209 0 1px,#0000 1px 4px);position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 70%,#000 30%,#0000 78%);mask-image:radial-gradient(80% 70%,#000 30%,#0000 78%)}.envelope-motes{pointer-events:none;position:absolute;inset:-6%}.envelope-mote{opacity:0;text-shadow:0 2px 8px #4a3b3224;line-height:1;animation:7s ease-in-out infinite mote-drift;position:absolute}.envelope-mote--pink{color:var(--color-pink)}.envelope-mote--gold{color:#e6b96a}.envelope-mote--sage{color:var(--color-sage)}.envelope-mote--lilac{color:var(--color-lilac)}.envelope-mote--peach{color:var(--color-peach)}.envelope-stage{--rx:0deg;--ry:0deg;--glare-x:50%;--glare-y:18%;width:100%;max-width:30rem;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));place-items:center;transition:transform .35s cubic-bezier(.2,.7,.2,1);display:grid;position:relative}.envelope-peek{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 14px 18px #4a3b3242);transition:transform .5s cubic-bezier(.2,.7,.2,1),opacity .4s;position:absolute}.envelope-peek--cat{width:clamp(88px,26vw,152px);animation:6.4s ease-in-out infinite peek-bob;bottom:-9%;right:-7%;rotate:5deg}.envelope-peek--rabbid{width:clamp(72px,21vw,124px);animation:5.2s ease-in-out infinite reverse peek-bob;top:-18%;left:-8%;rotate:-7deg}.envelope-stage:hover .envelope-peek--cat{transform:translate(-4%,-6%)rotate(-3deg)scale(1.06)}.envelope-stage:hover .envelope-peek--rabbid{transform:translate(3%,5%)rotate(4deg)scale(1.05)}@media (width<=599px){.envelope-peek--cat{width:clamp(76px,24vw,112px);bottom:-6%;right:-2%}.envelope-peek--rabbid{width:clamp(62px,19vw,96px);top:-14%;left:-2%}}.envelope{aspect-ratio:3/2;cursor:pointer;width:min(80vw,26rem);transform-style:preserve-3d;transform-origin:50% 100%;-webkit-tap-highlight-color:transparent;background:linear-gradient(168deg,#fdf1e2,#f2e0cb 62%,#ecd7be);border:1px solid #4a3b3229;border-radius:10px;padding:0;animation:6.4s ease-in-out infinite envelope-tremble;display:block;position:relative;box-shadow:inset 0 1px #ffffffd9,0 2px 3px -1px #4a3b321a,0 30px 66px -32px #4a3b328c,0 64px 90px -60px #4a3b3266}.envelope:after{content:"";z-index:6;pointer-events:none;border:1px dashed #4a3b3229;border-radius:7px;position:absolute;inset:5px}.envelope__back{z-index:0;background:linear-gradient(#f6e6d3,#eedcc5);border-radius:10px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff80}.envelope__back:after{content:"";opacity:.55;background-image:radial-gradient(circle at 22% 28%,#e9b7c280 0 6%,#0000 6.5%),radial-gradient(circle at 62% 16%,#cdbde073 0 4%,#0000 4.5%),radial-gradient(circle at 78% 44%,#f6c9a880 0 5%,#0000 5.5%),radial-gradient(circle at 40% 58%,#b9cbb066 0 4.5%,#0000 5%);border-radius:10px;position:absolute;inset:0}.envelope__letter{z-index:1;transform-origin:50% 100%;background:repeating-linear-gradient(#0000 0 15px,#4a3b3212 15px 16px),linear-gradient(#fffdf8,#fff8ec);border-radius:4px;justify-content:center;align-items:center;transition:transform .85s cubic-bezier(.16,.9,.24,1) .1s,opacity .45s .55s;display:flex;position:absolute;inset:9% 7.5% 7%;transform:translateY(5%)rotate(-.4deg);box-shadow:0 -3px 12px -6px #4a3b3266,inset 0 1px #ffffffe6}.envelope__letter-name{font-family:var(--font-hand);color:var(--color-ink-soft);letter-spacing:.02em;font-size:clamp(1.1rem,4vw,1.6rem)}.envelope__body{z-index:2;background:linear-gradient(154deg, #fffdf8f5, #f6e7d4fc 58%, #efdcc3), var(--color-paper-2);clip-path:polygon(0 0,50% 46%,100% 0,100% 100%,0 100%);border-radius:10px;position:absolute;inset:0;box-shadow:inset 0 1px #ffffffd9}.envelope__flap-wrap{z-index:3;transform-origin:50% 0;height:58%;transform-style:preserve-3d;position:absolute;inset:0 0 auto}.envelope__flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;transform-style:preserve-3d;backface-visibility:hidden;background:linear-gradient(176deg,#f7e3c9 0%,#eed4b4 58%,#e2c19c 100%);border-radius:10px 10px 0 0;transition:transform .72s cubic-bezier(.45,.05,.25,1);position:absolute;inset:0;box-shadow:0 10px 18px -14px #4a3b328c,inset 0 1px #ffffffb3}.envelope__flap:before{content:"";opacity:.45;background-image:repeating-linear-gradient(72deg,#ffffff1a 0 1px,#0000 1px 6px);position:absolute;inset:0}.envelope__flap-line{background:linear-gradient(90deg,#0000,#4a3b3224,#0000);width:52%;height:1px;position:absolute;top:7%;left:50%;transform:translate(-50%)}.envelope__seal{z-index:5;color:#fff8f0;background:radial-gradient(circle at 32% 28%,#f4a9b8,#d9788d 55%,#b45c72 100%);border-radius:50%;place-items:center;width:2.6rem;height:2.6rem;margin:-1.3rem 0 0 -1.3rem;transition:opacity .35s,transform .45s cubic-bezier(.4,0,.7,.2);display:grid;position:absolute;top:52%;left:50%;box-shadow:inset 0 1px #ffffff80,inset 0 -2px 6px #78283c59,0 8px 18px -8px #4a3b32bf}.envelope__seal:before{content:"";border:1px solid #ffffff57;border-radius:50%;position:absolute;inset:3px}.envelope__seal:after{content:"";filter:blur(2px);background:#ffffff8c;border-radius:50%;width:26%;height:20%;position:absolute;top:18%;left:22%}.envelope__seal-mono{font-family:var(--font-serif);letter-spacing:.02em;text-shadow:0 1px 1px #78283c73;font-size:1.05rem;font-weight:600}.envelope__stamp{z-index:4;aspect-ratio:4/5;width:clamp(38px,11%,54px);-webkit-mask-image:radial-gradient(circle 2.5px at 0 0, transparent 98%, #000) 0 0 / 8px 8px round;-webkit-mask-image:radial-gradient(circle 2.5px at 0 0, transparent 98%, #000) 0 0 / 8px 8px round;-webkit-mask-image:radial-gradient(circle 2.5px at 0 0, transparent 98%, #000) 0 0 / 8px 8px round;mask-image:radial-gradient(circle 2.5px at 0 0, transparent 98%, #000) 0 0 / 8px 8px round;-webkit-mask-image:radial-gradient(circle 2.5px at 0 0, transparent 98%, #000) 0 0 / 8px 8px round;background:#fffdf6;padding:3px;display:block;position:absolute;top:9%;right:7%;rotate:3.5deg;box-shadow:0 3px 8px -4px #4a3b3280}.envelope__stamp img{object-fit:cover;object-position:center 40%;filter:saturate(.85)sepia(.18);width:100%;height:100%;display:block}.envelope__stamp-blank{background:linear-gradient(140deg,#e9b7c2b3,#cdbde0a6);width:100%;height:100%;display:block}.envelope__stamp-tear{pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #4a3b321a}.envelope__postmark{z-index:4;color:#4a3b3266;opacity:.9;border:1px solid #4a3b3247;border-radius:50%;place-items:center;width:2.1rem;height:2.1rem;font-size:.7rem;display:grid;position:absolute;top:12%;right:24%;rotate:-12deg}.envelope__postmark:before{content:"";border:1px dashed #4a3b3233;border-radius:50%;position:absolute;inset:3px}.envelope__label{z-index:4;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;bottom:13%;left:50%;transform:translate(-50%)}.envelope__label-text{font-family:var(--font-hand);letter-spacing:.02em;color:#4a3b32c7;text-align:center;white-space:nowrap;text-shadow:0 1px #ffffff59;font-size:clamp(1.1rem,3.5vw,1.7rem);line-height:1;position:relative}.envelope__label-text:before,.envelope__label-text:after{content:none}@media (width<=480px){.envelope__label{bottom:12%}.envelope__label-text{letter-spacing:.01em;font-size:clamp(.95rem,7vw,1.4rem)}}@media (prefers-reduced-motion:reduce){.envelope-intro,.envelope-stage,.envelope,.envelope__flap,.envelope__letter,.envelope__seal,.envelope__sheen,.envelope__glare,.envelope-peek,.envelope-mote,.envelope-intro__aura{transition:none!important;animation:none!important}.envelope-intro.is-open{opacity:0;pointer-events:none}}@media (width<=480px){.envelope-intro{padding-inline:.75rem}}@keyframes aura-breathe{0%,to{opacity:.85;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes aura-flare{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.7)}}@keyframes mote-drift{0%{opacity:0;transform:translateY(14px)scale(.7)rotate(0)}22%{opacity:.9}60%{opacity:.55}to{opacity:0;transform:translate(10px,-42px)scale(1.1)rotate(24deg)}}@keyframes peek-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(1.5deg)}}@keyframes sheen-sweep{0%,72%{opacity:0;left:-40%}78%{opacity:.9}96%,to{opacity:0;left:118%}}@keyframes envelope-tremble{0%,6%,8%,10%,34%,37%,63%,66%,68%,to{transform:rotate(0)translateY(0)}7%{transform:rotate(-.5deg)translateY(-1.5px)}9%{transform:rotate(.4deg)translateY(0)}36%{transform:rotate(.3deg)translateY(-.75px)}65%{transform:rotate(-.35deg)translateY(0)}67%{transform:rotate(.25deg)translateY(-.75px)}}@keyframes envelope-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)rotate(0)}22%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--bx,0px)), calc(-50% + var(--by,0px))) scale(1.15) rotate(28deg)}}@keyframes envelope-flash{0%{opacity:0;transform:scale(.4)}28%{opacity:1}to{opacity:0;transform:scale(1.15)}}@media (width<=480px){.envelope__label{bottom:12%}.envelope__label-text{letter-spacing:.01em;font-size:clamp(.95rem,7vw,1.4rem)}}.envelope__glare{z-index:7;pointer-events:none;opacity:0;background:radial-gradient(circle 42% at var(--glare-x) var(--glare-y), #fff9, transparent 70%);mix-blend-mode:soft-light;border-radius:10px;transition:opacity .3s;position:absolute;inset:0}.envelope-stage:hover .envelope__glare{opacity:1}.envelope__sheen{z-index:7;pointer-events:none;border-radius:10px;position:absolute;inset:0;overflow:hidden}.envelope__sheen:before{content:"";background:linear-gradient(100deg,#0000,#ffffff80 45%,#ffffff26 62%,#0000);width:34%;height:220%;animation:7.5s cubic-bezier(.5,0,.3,1) 2.4s infinite sheen-sweep;position:absolute;top:-60%;left:-40%;rotate:12deg}.envelope-intro.is-open .envelope{animation-play-state:paused}.envelope-intro.is-open .envelope__flap{transform:rotateX(178deg)}.envelope-intro.is-open .envelope__seal{opacity:0;transform:scale(.35)rotate(24deg)}.envelope-intro.is-open .envelope__letter{opacity:0;transform:translateY(-46%)rotate(1.2deg)scale(1.02)}.envelope-intro.is-open .envelope-peek,.envelope-intro.is-open .envelope-mote,.envelope-intro.is-open .envelope__sheen{opacity:0;animation:none}.envelope-intro.is-open .envelope-peek{transform:translateY(18%)scale(.9)}.envelope-intro.is-open .envelope-intro__aura{animation:1.1s ease-out forwards aura-flare}.envelope-intro.is-open{opacity:0;pointer-events:none;transition:opacity .45s .1s}@media (prefers-reduced-motion:reduce){.envelope-intro,.envelope-stage,.envelope,.envelope__flap,.envelope__letter,.envelope__seal,.envelope__sheen,.envelope__glare,.envelope-peek,.envelope-mote,.envelope-intro__aura{transition:none!important;animation:none!important}.envelope-intro.is-open{opacity:0;pointer-events:none}}@media (width<=480px){.envelope-intro{padding-inline:.75rem}}.envelope-burst{z-index:8;pointer-events:none;width:0;height:0;position:absolute;top:52%;left:50%}.envelope-burst__bit{font-size:var(--bs,12px);opacity:0;animation:1.05s cubic-bezier(.18,.7,.3,1) both envelope-burst;animation-delay:var(--bd,0s);line-height:1;position:absolute}.envelope-burst__bit--pink{color:var(--color-pink)}.envelope-burst__bit--gold{color:#e6b96a}.envelope-burst__bit--sage{color:var(--color-sage)}.envelope-burst__bit--lilac{color:var(--color-lilac)}.envelope-burst__bit--peach{color:var(--color-peach)}.envelope-flash{z-index:9;pointer-events:none;opacity:0;background:radial-gradient(circle,#fffdf6f2 0%,#f6c9a880 35%,#0000 68%);border-radius:50%;position:absolute;inset:-20%}.envelope-intro.is-open .envelope-flash{animation:.95s cubic-bezier(.2,.7,.3,1) forwards envelope-flash}html{scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-sans);margin:0;overflow-x:clip}body:before{content:"";z-index:0;pointer-events:none;opacity:.3;background-image:radial-gradient(circle at 20% 30%,#fff9,#0000 40%),radial-gradient(circle at 80% 10%,#e9b7c22e,#0000 45%),radial-gradient(circle at 50% 90%,#cdbde029,#0000 50%),repeating-linear-gradient(0deg,#4a3b3206 0 1px,#0000 1px 3px);position:fixed;inset:0}:focus-visible{outline:2px solid var(--color-ink);outline-offset:4px}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}@keyframes hero-rise{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes note-pulse{50%{transform:scale(1.08)}}.hero__kicker,.hero__title-wrap,.hero__line{animation:.9s cubic-bezier(.2,.7,.2,1) backwards hero-rise}.hero__title-wrap{animation-delay:.1s;display:flow-root}.hero__line{animation-delay:.2s}@media (width<=899px),(pointer:coarse){.gallery{justify-content:flex-start;min-height:0;padding-block:64px}.photo-strip__viewport{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.photo-strip__viewport::-webkit-scrollbar{display:none}.photo-strip .polaroid,.polaroid{scroll-snap-align:center}}.letter-progress{z-index:30;background:linear-gradient(90deg, var(--color-pink), var(--color-peach));transform-origin:0;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.letter__body figure{width:clamp(150px,34vw,230px);box-shadow:var(--shadow-polaroid);rotate:var(--tilt,0deg);background:#fffdf8;margin:1.8rem auto 2.2rem;padding:9px;position:relative}.letter__body figure:before{content:"";background:#e9b7c28c;width:62px;height:20px;position:absolute;top:-9px;left:50%;transform:translate(-50%)rotate(-3deg)}.letter__photo{aspect-ratio:4/5;background:var(--color-paper-2);display:block;overflow:hidden}.letter__photo img{object-fit:cover;width:100%;height:100%;transform-origin:var(--kb,50% 50%);animation:15s ease-in-out infinite alternate ken-burns;display:block}.letter__body>p:first-child:first-letter{float:left;padding-right:.08em;font-size:3.2em;line-height:.86}.polaroid__img{transform-origin:var(--kb,50% 50%);animation:14s ease-in-out infinite alternate ken-burns}.photo-strip__track{--sway:.6deg;transform-origin:top;animation:5s ease-in-out infinite clothesline-sway}.photo-strip .polaroid{--sway:.25deg;transform-origin:top;animation:5s ease-in-out infinite clothesline-sway;animation-delay:calc(var(--i,0) * .18s)}@keyframes ken-burns{0%{transform:scale(1)}to{transform:scale(1.05)}}@keyframes clothesline-sway{0%,to{transform:rotate(calc(var(--sway,.6deg) * -1))}50%{transform:rotate(var(--sway,.6deg))}}@media (hover:hover) and (pointer:fine){.gallery .polaroid{transition:transform .25s,box-shadow .25s}.gallery .polaroid:hover{transform:translateY(-6px);box-shadow:0 28px 54px -22px #4a3b328c}}.polaroid:active{transform:translateY(-2px)}.hero-glow{pointer-events:none;filter:blur(4px);background:radial-gradient(45% 40% at 30% 45%,#e9b7c238,#0000 65%),radial-gradient(40% 38% at 72% 30%,#f6c9a83d,#0000 66%),radial-gradient(45% 40% at 55% 78%,#cdbde02e,#0000 68%);border-radius:50%;width:min(150vw,90rem);height:min(90vw,52rem);position:absolute;top:8%;left:50%;transform:translate(-50%)}.hero-floaters{pointer-events:none;position:absolute;inset:4% 17% 12% 27%}.hero-float{object-fit:contain;opacity:.85;height:auto;rotate:var(--rot,0deg);filter:drop-shadow(0 16px 22px #4a3b3233);animation:hero-float-bob var(--dur,9s) ease-in-out infinite;animation-delay:var(--delay,0s);will-change:transform;position:absolute}.hero-sparks{pointer-events:none;position:absolute;inset:0}.hero-spark{color:#e6b96ae6;opacity:0;animation:hero-spark-twinkle var(--dur,6s) ease-in-out infinite;animation-delay:var(--delay,0s);line-height:1;position:absolute}@keyframes hero-float-bob{0%,to{transform:translate(0)rotate(0)}50%{transform:translateY(-14px)rotate(4deg)}}@keyframes hero-spark-twinkle{0%,to{opacity:0;transform:scale(.6)rotate(0)}45%{opacity:1;transform:scale(1)rotate(40deg)}70%{opacity:.4}}.marquee{z-index:1;background:linear-gradient(#f6e8d8b8,#fdf6ec80);border-block:1px solid #4a3b321f;flex-direction:column;gap:.15rem;padding-block:clamp(.7rem,2vw,1.1rem);display:flex;position:relative;overflow:hidden;transform:rotate(-.6deg)scaleX(1.04)}.marquee--flip{background:linear-gradient(#e9b7c23d,#fdf6ec80);transform:rotate(.7deg)scaleX(1.04)}.marquee__row{width:max-content;animation:marquee-scroll var(--speed,30s) linear infinite;align-items:center;gap:0;display:flex}.marquee__row--reverse{opacity:.7;animation-direction:reverse}.marquee__item{align-items:center;gap:clamp(1rem,3vw,2.2rem);padding-inline:clamp(.9rem,2.5vw,1.6rem);display:inline-flex}.marquee__text{font-family:var(--font-hand);color:var(--color-ink);white-space:nowrap;font-size:clamp(1.15rem,3.4vw,1.9rem)}.marquee__item--sub .marquee__text{font-size:clamp(.7rem,2.2vw,.95rem);font-family:var(--font-sans);letter-spacing:.22em;text-transform:uppercase;color:var(--color-ink-soft)}.marquee__glyph{color:var(--color-pink);font-size:clamp(.8rem,2.4vw,1.1rem)}.marquee__fade{pointer-events:none;width:clamp(40px,10vw,120px);position:absolute;top:0;bottom:0}.marquee__fade--left{background:linear-gradient(90deg, var(--color-paper), transparent);left:0}.marquee__fade--right{background:linear-gradient(270deg, var(--color-paper), transparent);right:0}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.closing-glow{pointer-events:none;filter:blur(6px);background:radial-gradient(#e9b7c24d,#f6c9a829 45%,#0000 70%);border-radius:50%;width:min(140vw,80rem);height:min(70vw,40rem);position:absolute;bottom:-20%;left:50%;transform:translate(-50%)}.closing-heart{animation:2.6s ease-in-out infinite closing-heart-beat}.closing-sticker{pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 18px 24px #4a3b3238);height:auto;animation:7s ease-in-out infinite peek-bob;position:absolute}.closing-sticker--rabbid{width:clamp(74px,20vw,132px);animation-duration:6.2s;top:max(1rem,5vh);right:max(1rem,6vw);rotate:8deg}.closing-sticker--cat{width:clamp(86px,24vw,152px);animation-duration:7.8s;animation-direction:reverse;bottom:max(1rem,4vh);left:max(1rem,5vw);rotate:-7deg}@keyframes closing-heart-beat{0%,to{transform:scale(1)}18%{transform:scale(1.12)}32%{transform:scale(.98)}46%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}.envelope__flap-wrap,.envelope,.envelope-mote,.envelope-peek,.envelope__sheen:before,.envelope-intro__aura{animation:none}.envelope-mote{opacity:0}.envelope-intro,.envelope__letter,.envelope__flap,.envelope__seal{transition:none}.polaroid__img,.letter__photo img{animation:none;transform:none}.photo-strip__track,.photo-strip .polaroid{animation:none}.envelope-burst,.envelope-flash,.hero-float,.hero-spark{display:none}.letter__body>p{opacity:1!important;transform:none!important}}@media (width<=899px),(pointer:coarse){.letter__body>p:first-child:first-letter{padding-right:.06em;font-size:2.7em;line-height:.92}.letter__beat{grid-template-columns:minmax(0,1fr) clamp(48px,14vw,60px);column-gap:.6rem;margin:2.5rem 0 3rem}.letter__beat[data-side=left]{grid-template-columns:clamp(48px,14vw,60px) minmax(0,1fr)}.letter__beat[data-side=center] .letter__beat-copy,.letter__beat[data-side=right] .letter__beat-copy{grid-column:1}.letter__beat[data-side=right] .letter__beat-sticker{grid-column:2}.letter__beat[data-side=left] .letter__beat-sticker{grid-column:1}.letter__beat[data-side=left] .letter__beat-copy{grid-column:2}.letter__beat-sticker>img.scrap--letter-shell,.letter__beat-sticker>img.scrap--letter-coffee{width:min(100%,60px);max-height:64px}.letter__beat--quote .letter__beat-copy{font-size:clamp(1.28rem,5.2vw,1.75rem)}.letter__beat--closing .letter__beat-copy{font-size:clamp(1.45rem,6vw,2rem)}}@media (width<=899px){.scrap--strip-star{opacity:.8;width:clamp(70px,19vw,104px);top:max(.25rem,.8vh);right:max(.5rem,2vw)}.scrap--closing-ice{width:clamp(122px,36vw,188px);left:max(1rem,4vw)}.scrap--closing-camera{width:clamp(140px,40vw,212px);right:max(1rem,4vw)}.scrap--closing-star,.scrap--closing-shell{display:none}.closing-sticker--rabbid{width:clamp(66px,18vw,104px);top:max(.75rem,3vh)}.closing-sticker--cat{width:clamp(78px,22vw,118px);bottom:max(.75rem,3vh)}.hero-float{opacity:.5}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ease{syntax:"*";inherits:false}
