.gift-page{--gift-stage-ink: #fff8eb;min-height:100svh;position:relative;isolation:isolate;overflow-x:hidden;color:var(--gift-ink);background:radial-gradient(circle at 50% 24%,color-mix(in srgb,var(--gift-glow) 44%,transparent) 0,transparent 34%),linear-gradient(155deg,var(--gift-scene-top),var(--gift-scene-bottom));transition:background-color .65s ease,color .4s ease}.gift-page[data-gift-theme=birthday],.gift-page[data-gift-theme=wedding],.gift-page[data-gift-theme=healing],.gift-page[data-gift-theme=encouragement],.gift-page[data-gift-theme=justbecause]{--gift-stage-ink: #46372e}.gift-page[data-gift-theme=justbecause]{background:linear-gradient(180deg,#fff8e81f,#361f1333),url(/images/gift-scenes/just-because-hero-v1.webp) center / cover fixed no-repeat}.gift-page[data-gift-theme=justbecause]:after{background:radial-gradient(ellipse at 50% 44%,rgba(255,247,226,.12),transparent 46%),linear-gradient(90deg,rgba(38,21,13,.16),transparent 18%,transparent 82%,rgba(38,21,13,.18)),linear-gradient(180deg,rgba(255,246,224,.03),transparent 60%,rgba(30,17,12,.2))}.gift-page[data-gift-theme=wedding]{background:linear-gradient(180deg,#fffcf314,#745b3829),url(/images/gift-scenes/wedding-hero-v1.webp) center / cover fixed no-repeat}.gift-page[data-gift-theme=wedding]:after{background:radial-gradient(ellipse at 50% 44%,rgba(255,252,240,.1),transparent 45%),linear-gradient(90deg,rgba(91,66,38,.1),transparent 16%,transparent 84%,rgba(91,66,38,.12)),linear-gradient(180deg,transparent 64%,rgba(75,55,35,.18))}.gift-page[data-gift-theme=birthday]{background:linear-gradient(180deg,#fff9eb1a,#703e2a29),url(/images/gift-scenes/birthday-hero-v1.webp) center / cover fixed no-repeat}.gift-page[data-gift-theme=healing]{background:linear-gradient(180deg,#f6fffc14,#345b5824),url(/images/gift-scenes/healing-hero-v1.webp) center / cover fixed no-repeat}.gift-page[data-gift-theme=encouragement]{background:linear-gradient(180deg,#fff1cf0f,#43231233),url(/images/gift-scenes/encouragement-hero-v1.webp) center / cover fixed no-repeat}.gift-page[data-gift-theme=graduation]{background:linear-gradient(180deg,#0913231a,#050a144d),url(/images/gift-scenes/graduation-hero-v1.webp) center / cover fixed no-repeat}.gift-page[data-gift-theme=grief]{background:linear-gradient(180deg,#20182714,#0f0a123d),url(/images/gift-scenes/grief-hero-v1.webp) center / cover fixed no-repeat}.gift-page[data-gift-theme=christmas]{background:linear-gradient(180deg,#09271e0d,#030d0a47),url(/images/gift-scenes/christmas-hero-v1.webp) center / cover fixed no-repeat}.gift-page:before,.gift-page:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}.gift-page:before{opacity:.44;background-image:radial-gradient(circle at 12% 25%,color-mix(in srgb,var(--gift-accent-soft) 52%,transparent) 0 1px,transparent 2px),radial-gradient(circle at 82% 19%,color-mix(in srgb,var(--gift-glow) 68%,transparent) 0 1.5px,transparent 2.5px),radial-gradient(circle at 72% 76%,color-mix(in srgb,var(--gift-accent-soft) 45%,transparent) 0 1px,transparent 2px);background-size:86px 86px,128px 128px,111px 111px;animation:giftAtmosphere 18s linear infinite}.gift-page:after{background:linear-gradient(90deg,rgba(8,5,4,.2),transparent 18%,transparent 82%,rgba(8,5,4,.22)),linear-gradient(180deg,rgba(0,0,0,.05),transparent 38%,rgba(0,0,0,.26))}.gift-page main{min-height:100svh}.gift-wordmark{position:absolute;z-index:20;top:22px;left:clamp(18px,4vw,58px);display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--gift-stage-ink) 24%,transparent);border-radius:999px;color:var(--gift-stage-ink);background:color-mix(in srgb,var(--gift-scene-bottom) 26%,transparent);box-shadow:0 10px 34px #140a0814;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:Playfair Display,Georgia,serif;font-size:14px;letter-spacing:.02em}.gift-wordmark span{color:var(--gift-accent)}.gift-loading,.gift-empty{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;color:var(--gift-stage-ink);text-align:center}.gift-loading>svg{width:34px;height:34px;color:var(--gift-accent-soft)}.gift-loading>svg.lucide-loader-circle{animation:giftSpin 1s linear infinite}.gift-loading h1{font:600 clamp(28px,6vw,46px)/1.1 "Playfair Display",Georgia,serif}.gift-loading p{max-width:420px;opacity:.78}.gift-sealed{min-height:100svh;padding:94px 18px 34px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.gift-sealed__heading{max-width:720px;margin-bottom:clamp(28px,5vh,58px);color:var(--gift-stage-ink);text-align:center;text-shadow:0 2px 24px color-mix(in srgb,var(--gift-scene-bottom) 44%,transparent);transition:opacity .45s ease,transform .6s ease}.gift-sealed.is-opening .gift-sealed__heading{opacity:.24;transform:translateY(-10px) scale(.98)}.gift-sealed.is-opening .gift-sealed__hint{opacity:0}.gift-sealed__heading p,.gift-letter__eyebrow{margin:0 0 12px;color:var(--gift-accent-soft);font-size:11px;font-weight:800;letter-spacing:.24em;text-transform:uppercase}.gift-page[data-gift-theme=birthday] .gift-sealed__heading p,.gift-page[data-gift-theme=wedding] .gift-sealed__heading p,.gift-page[data-gift-theme=healing] .gift-sealed__heading p,.gift-page[data-gift-theme=encouragement] .gift-sealed__heading p{color:var(--gift-accent)}.gift-sealed__heading h1{margin:0;font:500 clamp(28px,4vw,52px)/1.14 "Playfair Display",Georgia,serif;letter-spacing:.02em}.gift-page[data-gift-theme=wedding] .gift-sealed__heading{padding:16px 34px;color:#453428;background:radial-gradient(ellipse at center,rgba(255,251,239,.82),rgba(255,251,239,.48) 48%,transparent 76%);text-shadow:0 1px rgba(255,255,255,.9),0 0 26px #fff8e7}.gift-page[data-gift-theme=justbecause] .gift-sealed__heading{padding:14px 30px;color:#3f3028;background:radial-gradient(ellipse at center,rgba(255,250,239,.78),rgba(255,250,239,.42) 48%,transparent 76%);text-shadow:0 1px rgba(255,255,255,.82),0 0 22px rgba(255,245,219,.74)}.gift-page[data-gift-theme=justbecause] .gift-sealed__heading p{color:#7d3545}.gift-scene-motif{position:absolute;z-index:-1;color:var(--gift-accent-soft);opacity:.18;font-family:Georgia,serif;font-size:clamp(100px,18vw,250px);filter:blur(.3px);-webkit-user-select:none;user-select:none;animation:giftFloat 9s ease-in-out infinite}.gift-scene-motif--one{left:-2vw;top:12%;transform:rotate(-18deg)}.gift-scene-motif--two{right:-3vw;bottom:5%;transform:rotate(16deg);animation-delay:-4s}.gift-scene-details{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}.gift-scene-details span{position:absolute;color:var(--gift-accent-soft);opacity:.28;font:400 clamp(18px,3vw,42px)/1 Georgia,serif;animation:giftDetailDrift 7s ease-in-out infinite}.gift-scene-details span:nth-child(1){left:9%;top:28%;transform:rotate(-15deg)}.gift-scene-details span:nth-child(2){right:11%;top:20%;transform:rotate(18deg);animation-delay:-2s}.gift-scene-details span:nth-child(3){left:15%;bottom:16%;transform:rotate(8deg);animation-delay:-4s}.gift-scene-details span:nth-child(4){right:17%;bottom:20%;transform:rotate(-12deg);animation-delay:-5.5s}.gift-page[data-gift-theme=grief] .gift-scene-details span{opacity:.13;animation-duration:12s}.gift-page[data-gift-theme=wedding] .gift-scene-motif,.gift-page[data-gift-theme=wedding] .gift-scene-details,.gift-page[data-gift-theme=justbecause] .gift-scene-motif,.gift-page[data-gift-theme=justbecause] .gift-scene-details{opacity:.07}.gift-page[data-gift-theme=birthday] .gift-scene-details span:nth-child(odd){color:#fff3d7}.gift-page[data-gift-theme=graduation] .gift-scene-details span,.gift-page[data-gift-theme=christmas] .gift-scene-details span{color:var(--gift-glow);opacity:.34}.gift-envelope{width:min(690px,88vw);aspect-ratio:1.72 / 1;position:relative;display:block;padding:0;border:0;background:transparent;cursor:pointer;perspective:1400px;-webkit-tap-highlight-color:transparent;filter:drop-shadow(0 26px 32px rgba(31,17,13,.26));transition:transform .35s ease,filter .35s ease}.gift-envelope:hover{transform:translateY(-5px);filter:drop-shadow(0 34px 38px rgba(31,17,13,.31))}.gift-envelope:focus-visible{outline:3px solid var(--gift-glow);outline-offset:10px;border-radius:16px}.gift-envelope__shadow{position:absolute;left:8%;right:8%;bottom:-8%;height:16%;border-radius:50%;background:#14090852;filter:blur(18px);transform:scaleY(.48)}.gift-envelope__back{position:absolute;inset:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--gift-envelope-shade) 70%,#fff);border-radius:7px;background:repeating-linear-gradient(103deg,rgba(255,255,255,.05) 0 1px,transparent 1px 4px),var(--gift-envelope);box-shadow:inset 0 0 35px #ffffff3d}.gift-envelope__liner{position:absolute;z-index:3;inset:0 0 45%;clip-path:polygon(0 0,100% 0,50% 100%);background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--gift-accent) 11%,var(--gift-paper)) 0 8px,var(--gift-paper) 8px 16px);box-shadow:inset 0 2px 14px #2b160e1f}.gift-page[data-gift-theme=birthday] .gift-envelope__liner{background:radial-gradient(circle at 20% 30%,rgba(184,95,75,.26) 0 3px,transparent 4px),radial-gradient(circle at 76% 64%,rgba(184,95,75,.18) 0 2px,transparent 3px),#fff3df;background-size:48px 48px,52px 52px,auto}.gift-page[data-gift-theme=wedding] .gift-envelope__liner{background:radial-gradient(circle at 22% 36%,rgba(164,118,61,.12) 0 7px,transparent 8px),radial-gradient(circle at 78% 36%,rgba(164,118,61,.12) 0 7px,transparent 8px),repeating-linear-gradient(45deg,rgba(164,118,61,.07) 0 1px,transparent 1px 9px),repeating-linear-gradient(-45deg,rgba(164,118,61,.07) 0 1px,transparent 1px 9px),#fffaf0;background-size:76px 76px,76px 76px,auto,auto,auto}.gift-page[data-gift-theme=justbecause] .gift-envelope__liner{background:radial-gradient(ellipse at 24% 43%,rgba(125,70,58,.1) 0 3px,transparent 4px),radial-gradient(ellipse at 72% 32%,rgba(82,105,76,.09) 0 3px,transparent 4px),repeating-linear-gradient(115deg,rgba(91,61,44,.035) 0 1px,transparent 1px 6px),#f8efe0;background-size:46px 34px,51px 38px,auto,auto}.gift-page[data-gift-theme=healing] .gift-envelope__liner{background:radial-gradient(ellipse at 22% 48%,rgba(85,127,123,.2) 0 5px,transparent 6px),radial-gradient(ellipse at 74% 32%,rgba(85,127,123,.16) 0 4px,transparent 5px),#edf5ee;background-size:54px 34px,61px 40px,auto}.gift-page[data-gift-theme=graduation] .gift-envelope__liner{background:repeating-linear-gradient(135deg,rgba(185,146,73,.19) 0 2px,transparent 2px 14px),#f8edcd}.gift-page[data-gift-theme=grief] .gift-envelope__liner{background:linear-gradient(135deg,rgba(138,122,155,.1),transparent 45%),repeating-linear-gradient(115deg,rgba(111,97,125,.055) 0 1px,transparent 1px 6px),#eee9e6}.gift-page[data-gift-theme=encouragement] .gift-envelope__liner{background:repeating-conic-gradient(from 0deg at 50% 100%,rgba(181,111,63,.14) 0 5deg,transparent 5deg 12deg),#fff1d7}.gift-page[data-gift-theme=christmas] .gift-envelope__liner{background:radial-gradient(circle,rgba(166,62,66,.62) 0 2px,transparent 3px),repeating-linear-gradient(135deg,rgba(243,197,109,.12) 0 1px,transparent 1px 10px),#f9efd9;background-size:34px 34px,auto,auto}.gift-page[data-gift-theme=birthday] .gift-envelope__back{background:radial-gradient(circle at 14% 18%,rgba(184,95,75,.18) 0 3px,transparent 4px),radial-gradient(circle at 18% 22%,rgba(184,95,75,.12) 0 2px,transparent 3px),repeating-linear-gradient(103deg,rgba(255,255,255,.08) 0 1px,transparent 1px 5px),var(--gift-envelope);background-size:76px 76px,76px 76px,auto,auto}.gift-page[data-gift-theme=wedding] .gift-envelope__back{background:repeating-linear-gradient(96deg,rgba(154,115,58,.025) 0 1px,transparent 1px 5px),radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.68),transparent 60%),var(--gift-envelope);box-shadow:inset 0 0 0 7px var(--gift-envelope),inset 0 0 0 8px color-mix(in srgb,var(--gift-accent) 50%,transparent),inset 0 0 0 13px var(--gift-envelope),inset 0 0 0 14px color-mix(in srgb,var(--gift-accent) 22%,transparent),inset 0 0 35px #ffffff4d}.gift-page[data-gift-theme=justbecause] .gift-envelope__back{background:repeating-linear-gradient(102deg,rgba(86,54,37,.028) 0 1px,transparent 1px 5px),radial-gradient(ellipse at 50% 8%,rgba(255,255,255,.48),transparent 62%),var(--gift-envelope);box-shadow:inset 0 0 0 5px var(--gift-envelope),inset 0 0 0 6px #7d354547,inset 0 0 0 10px var(--gift-envelope),inset 0 0 28px #ffffff38}.gift-page[data-gift-theme=healing] .gift-envelope__back{background:repeating-linear-gradient(128deg,transparent 0 42px,rgba(85,127,123,.1) 43px 44px,transparent 45px 84px),var(--gift-envelope)}.gift-page[data-gift-theme=encouragement] .gift-envelope__back{background:linear-gradient(145deg,rgba(255,255,255,.25),transparent 42%),repeating-linear-gradient(90deg,transparent 0 5px,rgba(91,52,31,.025) 6px),var(--gift-envelope)}.gift-page[data-gift-theme=grief] .gift-envelope__back{background:radial-gradient(ellipse at 50% 0,rgba(255,255,255,.24),transparent 60%),repeating-linear-gradient(104deg,rgba(255,255,255,.04) 0 1px,transparent 1px 5px),var(--gift-envelope)}.gift-page[data-gift-theme=graduation] .gift-envelope__back,.gift-page[data-gift-theme=christmas] .gift-envelope__back{border-color:color-mix(in srgb,var(--gift-accent) 46%,#fff)}.gift-page[data-gift-theme=graduation] .gift-envelope__address,.gift-page[data-gift-theme=graduation] .gift-envelope__stamp,.gift-page[data-gift-theme=christmas] .gift-envelope__address,.gift-page[data-gift-theme=christmas] .gift-envelope__stamp{color:#fff5dc;text-shadow:0 1px 12px rgba(0,0,0,.24)}.gift-envelope__letter{position:absolute;z-index:2;left:8%;right:8%;top:8%;height:80%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid color-mix(in srgb,var(--gift-accent) 22%,transparent);border-radius:4px;color:var(--gift-accent);background:linear-gradient(#ffffff2e,#ffffff0a),var(--gift-paper);box-shadow:0 3px 12px #4228161f;font:500 clamp(16px,2.4vw,25px)/1.2 "Playfair Display",Georgia,serif;letter-spacing:.06em;transform:translateY(16%);transition:transform .72s cubic-bezier(.22,1,.36,1) .2s}.gift-envelope__letter-mark{font-size:30px}.gift-envelope__letter small{color:var(--gift-muted);font:700 10px/1.2 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:.16em;text-transform:uppercase}.gift-envelope__flap{position:absolute;z-index:5;inset:0 0 45%;clip-path:polygon(0 0,100% 0,50% 100%);border-radius:7px 7px 0 0;background:linear-gradient(175deg,color-mix(in srgb,var(--gift-envelope) 82%,#fff),var(--gift-envelope));transform-origin:50% 0;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.4,0,.2,1) .18s,z-index 0s linear .54s;filter:drop-shadow(0 2px 1px rgba(72,40,25,.16))}.gift-envelope__front{position:absolute;z-index:4;inset:0;pointer-events:none}.gift-envelope__front--left{clip-path:polygon(0 0,53% 55%,0 100%);background:linear-gradient(90deg,var(--gift-envelope),color-mix(in srgb,var(--gift-envelope) 85%,var(--gift-envelope-shade)))}.gift-envelope__front--right{clip-path:polygon(100% 0,47% 55%,100% 100%);background:linear-gradient(270deg,var(--gift-envelope),color-mix(in srgb,var(--gift-envelope) 85%,var(--gift-envelope-shade)))}.gift-envelope__front--bottom{clip-path:polygon(0 100%,50% 53%,100% 100%);background:linear-gradient(0deg,color-mix(in srgb,var(--gift-envelope) 90%,var(--gift-envelope-shade)),var(--gift-envelope))}.gift-envelope__ribbon{display:none;position:absolute;z-index:6;left:0;right:0;top:40%;height:11px;opacity:.72;background:color-mix(in srgb,var(--gift-accent) 72%,var(--gift-glow));box-shadow:0 2px 4px #2d19101f;transition:opacity .25s ease,transform .45s ease}.gift-envelope__ribbon:after{content:"";position:absolute;top:50%;left:50%;width:11px;height:min(60vw,520px);background:inherit;box-shadow:inherit;transform:translate(-50%,-50%)}.gift-page[data-gift-theme=birthday] .gift-envelope__ribbon,.gift-page[data-gift-theme=wedding] .gift-envelope__ribbon,.gift-page[data-gift-theme=christmas] .gift-envelope__ribbon{display:block}.gift-page[data-gift-theme=birthday] .gift-envelope__ribbon{height:8px;opacity:.42}.gift-page[data-gift-theme=wedding] .gift-envelope__ribbon{height:12px;opacity:.62;background:linear-gradient(180deg,#f7edd5,#c8aa73 42%,#fff8e6 55%,#b69154);box-shadow:0 2px 7px #5339192e,inset 0 1px #fffc}.gift-page[data-gift-theme=wedding] .gift-envelope__ribbon:after{width:12px}.gift-page[data-gift-theme=christmas] .gift-envelope__ribbon{opacity:.82;background:#c3a45a}.gift-envelope__stamp{position:absolute;z-index:6;top:8%;right:6%;width:clamp(62px,11vw,86px);aspect-ratio:.86 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid currentColor;color:color-mix(in srgb,var(--gift-ink) 70%,var(--gift-accent));opacity:.62;transform:rotate(2.5deg);transition:opacity .3s ease,transform .45s ease}.gift-envelope__stamp:after{content:"";position:absolute;inset:3px;border:1px solid currentColor;opacity:.48}.gift-envelope__stamp small{font-size:clamp(5px,.8vw,7px);font-weight:800;letter-spacing:.09em;text-transform:uppercase}.gift-envelope__stamp b{font:400 clamp(19px,3vw,28px)/1 Georgia,serif}.gift-envelope__stamp:has(img){width:clamp(78px,11vw,112px);aspect-ratio:4 / 5;border:0;border-radius:0;background:transparent;opacity:.96;transform:rotate(3.5deg);filter:drop-shadow(0 6px 5px rgba(73,47,21,.18))}.gift-page[data-gift-theme=justbecause] .gift-envelope__stamp{width:clamp(72px,10vw,98px);opacity:.92;transform:rotate(2deg)}.gift-envelope__stamp:has(img):after{display:none}.gift-envelope__stamp img{width:100%;height:100%;display:block;object-fit:contain}.gift-page[data-gift-theme=encouragement] .gift-envelope__stamp img,.gift-page[data-gift-theme=grief] .gift-envelope__stamp img{mix-blend-mode:multiply}.gift-envelope__address{position:absolute;z-index:6;inset:59% 13% 8%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gift-ink);text-shadow:0 1px rgba(255,255,255,.5);transition:opacity .28s ease,transform .45s ease}.gift-envelope__address strong{font:500 clamp(22px,4vw,39px)/1.1 "Playfair Display",Georgia,serif}.gift-envelope__address small{margin-top:9px;font:500 clamp(13px,2vw,18px)/1.2 "Playfair Display",Georgia,serif;opacity:.75}.gift-envelope__seal{position:absolute;z-index:7;top:42%;left:50%;width:clamp(58px,10vw,82px);height:clamp(58px,10vw,82px);display:grid;place-items:center;border:5px double color-mix(in srgb,var(--gift-seal) 72%,#fff);border-radius:50%;color:color-mix(in srgb,var(--gift-seal) 45%,#fff);background:radial-gradient(circle at 33% 28%,rgba(255,255,255,.24),transparent 24%),var(--gift-seal);box-shadow:0 7px 13px #2d0e1257,inset 0 0 0 2px #5b161e40;transform:translate(-50%,-50%);transition:opacity .25s ease,transform .38s ease;animation:giftSealPulse 2.7s ease-in-out infinite}.gift-envelope__seal svg{width:38%;height:38%}.gift-envelope__seal:has(img){width:clamp(78px,9vw,100px);height:auto;aspect-ratio:1;border:0;color:transparent;background:transparent;box-shadow:none}.gift-page[data-gift-theme=justbecause] .gift-envelope__seal{width:clamp(68px,8.5vw,88px);aspect-ratio:1281 / 1228}.gift-envelope__seal img{width:100%;height:100%;display:block;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(70,42,17,.3))}.gift-wedding-rings{position:relative;width:37px;height:25px;display:inline-block}.gift-wedding-rings i{position:absolute;top:4px;width:18px;height:18px;border:2px solid currentColor;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff3d}.gift-wedding-rings i:first-child{left:3px}.gift-wedding-rings i:last-child{right:3px}.gift-envelope__seal .gift-wedding-rings{color:#fff4cf;transform:scale(1.08)}.gift-envelope__stamp .gift-wedding-rings{width:29px;height:19px;color:var(--gift-accent);transform:scale(.78)}.gift-envelope__spark{--spark-x: 0px;--spark-y: 0px;position:absolute;z-index:8;top:42%;left:50%;width:6px;height:6px;border-radius:50%;opacity:0;background:color-mix(in srgb,var(--gift-glow) 72%,#fff);box-shadow:0 0 12px var(--gift-glow);pointer-events:none}.gift-envelope__spark--one{--spark-x: -64px;--spark-y: -48px}.gift-envelope__spark--two{--spark-x: 58px;--spark-y: -54px}.gift-envelope__spark--three{--spark-x: 80px;--spark-y: 8px}.gift-envelope__spark--four{--spark-x: 46px;--spark-y: 58px}.gift-envelope__spark--five{--spark-x: -52px;--spark-y: 54px}.gift-envelope__spark--six{--spark-x: -78px;--spark-y: 4px}.gift-envelope.is-opening{animation:giftEnvelopeOpen 1.65s cubic-bezier(.22,1,.36,1) both}.gift-envelope.is-opening .gift-envelope__flap{z-index:1;transform:rotateX(180deg)}.gift-envelope.is-opening .gift-envelope__letter{z-index:6;transform:translateY(-72%) scale(1.035);transition-delay:.72s;transition-duration:.82s;box-shadow:0 22px 44px #2716103d}.gift-envelope.is-opening .gift-envelope__seal{opacity:0;transform:translate(-50%,-65%) scale(.75);animation:none}.gift-envelope.is-opening .gift-envelope__address,.gift-envelope.is-opening .gift-envelope__stamp,.gift-envelope.is-opening .gift-envelope__ribbon{opacity:0;transform:translateY(12px) scale(.96)}.gift-envelope.is-opening .gift-envelope__spark{animation:giftWaxSpark .72s cubic-bezier(.16,.8,.36,1) both}.gift-open-button{margin-top:clamp(28px,4vh,48px);display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:208px;min-height:48px;padding:12px 24px;border:1px solid color-mix(in srgb,var(--gift-accent) 62%,white);border-radius:999px;color:var(--gift-ink);background:var(--gift-paper);box-shadow:0 15px 32px #1e0e0b2e,inset 0 0 0 3px #ffffff52;font:600 17px/1 Playfair Display,Georgia,serif;transition:transform .2s ease,box-shadow .2s ease}.gift-open-button:hover{transform:translateY(-2px);box-shadow:0 20px 38px #1e0e0b3d}.gift-open-button svg{width:17px}.gift-sealed__hint{margin-top:13px;color:var(--gift-stage-ink);opacity:.7;font-size:11px;letter-spacing:.03em}.gift-revealed{min-height:100svh;position:relative;padding:clamp(92px,12vw,126px) 18px 70px}.gift-letter{width:min(980px,100%);margin:0 auto;position:relative;padding:clamp(32px,6vw,72px);color:var(--gift-ink);background:repeating-linear-gradient(92deg,rgba(119,84,44,.018) 0 1px,transparent 1px 5px),radial-gradient(circle at 50% 0,rgba(255,255,255,.75),transparent 50%),var(--gift-paper);border-radius:4px;box-shadow:0 40px 90px #180c0a57,0 4px 12px #180c0a1f}.gift-letter:before{content:"";position:absolute;z-index:-1;left:7%;right:7%;bottom:-26px;height:40px;border-radius:50%;background:#10080747;filter:blur(22px)}.gift-letter__border{position:absolute;inset:18px;border:1px solid color-mix(in srgb,var(--gift-accent) 34%,transparent);pointer-events:none}.gift-letter__border:before,.gift-letter__border:after{content:"";position:absolute;width:26px;height:26px;border-color:var(--gift-accent);opacity:.7}.gift-letter__border:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}.gift-letter__border:after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}.gift-letter__header{max-width:760px;margin:0 auto clamp(30px,5vw,52px);text-align:center}.gift-letter__eyebrow{color:var(--gift-accent)}.gift-letter__header h1{margin:0;font:500 clamp(38px,6vw,72px)/1.02 "Playfair Display",Georgia,serif;letter-spacing:-.025em;text-wrap:balance}.gift-letter__byline{margin:18px 0 0;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--gift-accent);font:500 clamp(15px,2vw,20px)/1.3 "Playfair Display",Georgia,serif}.gift-letter__byline i{font-style:normal;opacity:.55}.gift-letter__content{display:grid;grid-template-columns:minmax(260px,.86fr) minmax(300px,1.14fr);gap:clamp(30px,6vw,66px);align-items:center}.gift-card-art{position:relative;aspect-ratio:1 / 1;overflow:hidden;border:1px solid color-mix(in srgb,var(--gift-accent) 30%,transparent);background:var(--gift-accent-soft);box-shadow:0 16px 38px color-mix(in srgb,var(--gift-accent) 16%,transparent)}.gift-card-art:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 7px #ffffff38;pointer-events:none}.gift-card-art__fallback{position:absolute;inset:0;display:grid;place-content:center;gap:16px;color:var(--gift-accent);text-align:center;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.7),transparent 48%),var(--gift-accent-soft)}.gift-card-art__fallback span{font-size:54px}.gift-card-art__fallback p{font:500 25px/1.35 Playfair Display,Georgia,serif}.gift-letter__story{min-width:0}.gift-letter__story blockquote{margin:0 0 24px;text-align:center}.gift-letter__story blockquote p{font:italic 500 clamp(20px,3vw,29px)/1.52 "Playfair Display",Georgia,serif;text-wrap:balance}.gift-letter__story blockquote cite{display:block;margin-top:10px;color:var(--gift-accent);font:500 15px/1.3 Playfair Display,Georgia,serif}.gift-scripture{margin:0 0 24px;padding:18px 0;border-top:1px solid color-mix(in srgb,var(--gift-accent) 22%,transparent);border-bottom:1px solid color-mix(in srgb,var(--gift-accent) 22%,transparent);text-align:center}.gift-scripture span{color:var(--gift-accent);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.gift-scripture p{margin:8px 0 0;color:var(--gift-muted);font:italic 400 14px/1.55 Playfair Display,Georgia,serif}.gift-player{display:flex;align-items:center;gap:15px;padding:15px;border:1px solid color-mix(in srgb,var(--gift-accent) 24%,transparent);background:color-mix(in srgb,var(--gift-paper) 82%,var(--gift-accent-soft));box-shadow:0 10px 24px #3c231812}.gift-player--needs-tap{border-color:color-mix(in srgb,var(--gift-accent) 58%,transparent);box-shadow:0 10px 24px #3c231812,0 0 0 3px color-mix(in srgb,var(--gift-accent) 10%,transparent)}.gift-player__play{width:54px;height:54px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:var(--gift-accent);box-shadow:0 8px 20px color-mix(in srgb,var(--gift-accent) 34%,transparent);transition:transform .2s ease}.gift-player__play:hover{transform:scale(1.05)}.gift-player__play:focus-visible{outline:3px solid var(--gift-accent-soft);outline-offset:3px}.gift-player__play svg{width:21px;height:21px}.gift-player__body{min-width:0;flex:1}.gift-player__title-row{display:flex;align-items:baseline;gap:12px}.gift-player__title{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700;font-size:13px}.gift-player__time{flex:0 0 auto;color:var(--gift-muted);font-size:10px;font-variant-numeric:tabular-nums}.gift-player__range{--gift-progress: 0%;width:100%;height:16px;margin:4px 0 0;appearance:none;background:transparent;cursor:pointer}.gift-player__range::-webkit-slider-runnable-track{height:4px;border-radius:999px;background:linear-gradient(90deg,var(--gift-accent) var(--gift-progress),color-mix(in srgb,var(--gift-accent) 16%,transparent) var(--gift-progress))}.gift-player__range::-moz-range-track{height:4px;border-radius:999px;background:color-mix(in srgb,var(--gift-accent) 16%,transparent)}.gift-player__range::-moz-range-progress{height:4px;border-radius:999px;background:var(--gift-accent)}.gift-player__range::-webkit-slider-thumb{width:13px;height:13px;margin-top:-4.5px;appearance:none;border:2px solid var(--gift-paper);border-radius:50%;background:var(--gift-accent);box-shadow:0 2px 5px #0000002e}.gift-player__range::-moz-range-thumb{width:11px;height:11px;border:2px solid var(--gift-paper);border-radius:50%;background:var(--gift-accent)}.gift-player__promise{display:flex;align-items:center;gap:5px;color:var(--gift-muted);font-size:9px}.gift-player__promise svg{width:11px;height:11px}.gift-letter__flourish{margin:clamp(28px,5vw,48px) auto 22px;display:flex;align-items:center;justify-content:center;gap:13px;color:var(--gift-accent)}.gift-letter__flourish span{width:78px;height:1px;background:color-mix(in srgb,var(--gift-accent) 32%,transparent)}.gift-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.gift-actions button,.gift-owner-tools button,.gift-owner-tools a{min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:1px solid color-mix(in srgb,var(--gift-accent) 34%,transparent);color:var(--gift-accent);background:transparent;font-size:12px;font-weight:800;transition:transform .18s ease,background .18s ease}.gift-actions button:hover,.gift-owner-tools button:hover,.gift-owner-tools a:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--gift-accent-soft) 18%,transparent)}.gift-actions button svg,.gift-owner-tools button svg,.gift-owner-tools a svg{width:15px;height:15px}.gift-actions .gift-actions__primary{border-color:var(--gift-accent);color:#fff;background:var(--gift-accent)}.gift-detail-section{max-width:720px;margin:22px auto 0;border-top:1px solid color-mix(in srgb,var(--gift-accent) 22%,transparent)}.gift-detail-toggle{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;border:0;color:var(--gift-accent);background:transparent;font-size:12px;font-weight:800}.gift-detail-toggle svg{width:15px}.gift-lyrics{margin:0;padding:8px 12px 6px;color:var(--gift-muted);white-space:pre-wrap;font:400 14px/1.75 Playfair Display,Georgia,serif;text-align:center}.gift-owner-tools{width:min(760px,100%);margin:24px auto 0;padding:20px;border:1px solid color-mix(in srgb,var(--gift-accent) 38%,transparent);color:var(--gift-ink);background:color-mix(in srgb,var(--gift-paper) 94%,transparent);box-shadow:0 18px 45px #190d0a2e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.gift-owner-tools__intro{display:flex;align-items:flex-start;gap:12px}.gift-owner-tools__intro>svg{width:20px;color:var(--gift-accent)}.gift-owner-tools h2{margin:0;font-size:14px;font-weight:800}.gift-owner-tools p{margin:4px 0 0;color:var(--gift-muted);font-size:11px}.gift-owner-tools__buttons{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gift-owner-tools__download{width:100%;margin-top:8px;border-color:var(--gift-accent)!important;color:#fff!important;background:var(--gift-accent)!important}.gift-loopback{margin:36px auto 0;color:var(--gift-stage-ink);text-align:center}.gift-loopback>svg{width:20px;margin:0 auto 9px;color:var(--gift-accent-soft)}.gift-loopback p{font:500 18px/1.3 Playfair Display,Georgia,serif}.gift-loopback a{display:inline-block;margin-top:7px;color:var(--gift-stage-ink);font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:4px}@keyframes giftAtmosphere{to{background-position:86px 86px,-128px 128px,111px -111px}}@keyframes giftFloat{0%,to{translate:0 0}50%{translate:0 -14px}}@keyframes giftDetailDrift{0%,to{translate:0 0}50%{translate:7px -12px}}@keyframes giftSealPulse{0%,to{box-shadow:0 7px 13px #2d0e1257,0 0 color-mix(in srgb,var(--gift-seal) 35%,transparent),inset 0 0 0 2px #5b161e40}50%{box-shadow:0 7px 13px #2d0e1257,0 0 0 9px transparent,inset 0 0 0 2px #5b161e40}}@keyframes giftWaxSpark{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}18%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--spark-x)),calc(-50% + var(--spark-y))) scale(1.25)}}@keyframes giftEnvelopeOpen{0%{transform:translateY(0) scale(1)}16%{transform:translateY(4px) scale(.985)}62%{transform:translateY(3vh) scale(.97)}to{transform:translateY(6vh) scale(.93);filter:drop-shadow(0 38px 46px rgba(31,17,13,.28))}}@keyframes giftSpin{to{transform:rotate(360deg)}}@media (max-width: 900px){.gift-page[data-gift-theme=birthday]{background:linear-gradient(180deg,#fff9eb14,#703e2a24),url(/images/gift-scenes/birthday-mobile-v1.webp) center top / cover fixed no-repeat}.gift-page[data-gift-theme=wedding]{background:linear-gradient(180deg,#fffcf30a,#745b3824),url(/images/gift-scenes/wedding-mobile-v1.webp) center top / cover fixed no-repeat}.gift-page[data-gift-theme=healing]{background:linear-gradient(180deg,#f6fffc0f,#345b581f),url(/images/gift-scenes/healing-mobile-v1.webp) center top / cover fixed no-repeat}.gift-page[data-gift-theme=encouragement]{background:linear-gradient(180deg,#fff1cf0a,#4323122e),url(/images/gift-scenes/encouragement-mobile-v1.webp) center top / cover fixed no-repeat}.gift-page[data-gift-theme=graduation]{background:linear-gradient(180deg,#09132314,#050a1447),url(/images/gift-scenes/graduation-mobile-v1.webp) center top / cover fixed no-repeat}.gift-page[data-gift-theme=grief]{background:linear-gradient(180deg,#2018270f,#0f0a1238),url(/images/gift-scenes/grief-mobile-v1.webp) center top / cover fixed no-repeat}.gift-page[data-gift-theme=christmas]{background:linear-gradient(180deg,#09271e0a,#030d0a42),url(/images/gift-scenes/christmas-mobile-v1.webp) center top / cover fixed no-repeat}.gift-page[data-gift-theme=justbecause]{background:linear-gradient(180deg,#fff9eb0d,#42261629),url(/images/gift-scenes/just-because-mobile-v1.webp) center top / cover fixed no-repeat}}@media (max-width: 720px){.gift-wordmark{top:14px;left:14px;font-size:12px}.gift-sealed{padding-top:78px;justify-content:center}.gift-sealed__heading{margin-bottom:34px}.gift-sealed__heading h1{font-size:clamp(27px,9vw,38px)}.gift-envelope{width:min(94vw,560px)}.gift-envelope__seal{border-width:3px}.gift-open-button{margin-top:32px}.gift-revealed{padding:78px 10px 54px}.gift-letter{padding:42px 26px 34px}.gift-letter__border{inset:10px}.gift-letter__content{grid-template-columns:1fr;gap:28px}.gift-card-art{width:min(100%,430px);margin:0 auto}.gift-letter__story blockquote p{font-size:22px}.gift-owner-tools__buttons{grid-template-columns:1fr}}@media (max-width: 420px){.gift-sealed{padding-left:10px;padding-right:10px}.gift-envelope__address{top:60%;bottom:5%}.gift-envelope__address strong{font-size:21px}.gift-envelope__address small{margin-top:5px;font-size:12px}.gift-open-button{min-height:46px;font-size:15px}.gift-letter{padding:38px 20px 28px}.gift-letter__header{margin-bottom:28px}.gift-letter__header h1{font-size:36px}.gift-letter__byline{flex-wrap:wrap;gap:6px 9px;font-size:14px}.gift-player{gap:11px;padding:12px}.gift-player__play{width:48px;height:48px}.gift-player__promise{display:none}.gift-actions{flex-direction:column}.gift-actions button{width:100%}}@media (prefers-reduced-motion: reduce){.gift-page:before,.gift-scene-motif,.gift-envelope__seal,.gift-envelope.is-opening,.gift-envelope__spark{animation:none!important}.gift-envelope,.gift-envelope *,.gift-open-button,.gift-player__play,.gift-actions button,.gift-owner-tools button,.gift-owner-tools a{transition-duration:.01ms!important}}
