.cinema,.cinema-note-overlay{--c-night:#07050d;--c-plum:#1c1233;--c-cream:#fbf1dc;--c-muted:#cbbfd2;--c-gold:#f3cf8a;--c-gold-deep:#d9a54e;--c-line:#f6e7c833;--c-glow:#ffd99a}.cinema[data-occasion]{--c-gold:color-mix(in oklab, var(--occasion-stage) 55%, #f3cf8a);--c-plum:color-mix(in oklab, var(--occasion-accent) 45%, #0b0716);--c-glow:color-mix(in oklab, var(--occasion-stage) 60%, #ffd99a)}.reveal-experience.cinema{isolation:isolate;min-height:100svh;color:var(--c-cream);background:var(--c-night);padding:max(28px, calc(env(safe-area-inset-top) + 16px)) max(24px, env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));position:relative;overflow-x:clip}.cinema:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(90% 60% at 50% 0%, color-mix(in oklab, var(--c-plum) 90%, transparent), transparent 70%), radial-gradient(60% 40% at 50% 100%, #2a142a66, transparent 70%);position:fixed;inset:0}.starfield{pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.cinema-stars{z-index:0;position:fixed}.cinema-vignette{z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 45%,#0000 45%,#000000b3 100%);position:fixed;inset:0}.cinema-body{z-index:2;transition:opacity 1.4s cubic-bezier(.2,.7,.2,1) .15s,translate 1.6s cubic-bezier(.2,.7,.2,1) .15s,visibility;position:relative}.cinema:not([data-act=stage]) .cinema-body{opacity:0;visibility:hidden;transition:opacity .5s,translate .5s,visibility 0s .5s;translate:0 36px}.cinema-overlay{z-index:20;overscroll-behavior:contain;position:fixed;inset:0;overflow-y:auto}.cinema-flash{z-index:30;pointer-events:none;background:radial-gradient(circle at 50% 50%, #fffaf0, var(--c-glow) 30%, transparent 75%);animation:1.1s ease-out forwards cinema-flash;position:fixed;inset:0}@keyframes cinema-flash{0%{opacity:.95}to{opacity:0}}.celebration-canvas{z-index:40;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.reveal-gate{--charge:0;min-height:100%;display:grid;overflow:clip}.gate-inner{padding:48px 24px calc(48px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:28px;display:flex}.gate-eyebrow{color:var(--c-gold);font:650 11px/1.6 var(--sans);letter-spacing:.24em;text-transform:uppercase;margin:0;animation:1.2s cubic-bezier(.2,.7,.2,1) .3s both cinema-rise}.cinema .gate-title{max-width:13em;color:var(--c-cream);font:700 clamp(32px, 5.4vw, 60px) / 1.08 var(--serif);font-variation-settings:var(--display-soft);letter-spacing:-.02em;text-wrap:balance;opacity:calc(1 - var(--charge) * .55);margin:0;animation:1.4s cubic-bezier(.2,.7,.2,1) .5s both cinema-rise}.gate-name{color:var(--c-gold);font-style:italic}.gate-seal-wrap{place-items:center;width:210px;height:210px;animation:1.4s cubic-bezier(.2,.7,.2,1) .9s both cinema-rise;display:grid;position:relative}.gate-ripple{border:1px solid var(--c-gold);opacity:0;pointer-events:none;border-radius:50%;animation:3.2s cubic-bezier(.2,.6,.3,1) infinite gate-ripple;position:absolute;inset:22px}.gate-ripple+.gate-ripple{animation-delay:1.6s}.is-hold .gate-ripple,.is-auto .gate-ripple{animation-duration:1.1s}@keyframes gate-ripple{0%{opacity:.55;scale:1}to{opacity:0;scale:1.75}}.gate-seal{cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;width:168px;height:168px;scale:calc(1 + var(--charge) * .08);background:0 0;border:0;border-radius:50%;padding:0;transition:scale .25s;position:relative}.is-hold .gate-seal,.is-auto .gate-seal{animation:.11s linear infinite gate-shake}@keyframes gate-shake{0%{translate:0}25%{translate:calc(var(--charge) * -2.4px) calc(var(--charge) * 1.4px)}50%{translate:calc(var(--charge) * 1.8px) calc(var(--charge) * -2px)}75%{translate:calc(var(--charge) * -1.2px) calc(var(--charge) * -1px)}}.gate-seal:focus-visible{outline:2px solid var(--c-gold);outline-offset:10px}.gate-ring{width:100%;height:100%;position:absolute;inset:0;overflow:visible;rotate:-90deg}.gate-ring circle{fill:none;stroke-width:2.5px}.gate-ring-track{stroke:var(--c-line)}.gate-ring-fill{stroke:var(--c-gold);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--charge));filter:drop-shadow(0 0 6px var(--c-glow))}.gate-core{color:var(--c-night);background:radial-gradient(circle at 35% 28%, #fff6dc, var(--c-gold) 48%, var(--c-gold-deep));box-shadow:inset 0 -8px 18px #8a5a1a55, inset 0 6px 12px #fffa, 0 0 calc(36px + var(--charge) * 110px) calc(var(--charge) * 26px) color-mix(in oklab, var(--c-glow) calc(35% + var(--charge) * 55%), transparent);border-radius:50%;place-items:center;animation:3.2s ease-in-out infinite gate-breathe;display:grid;position:absolute;inset:14px}@keyframes gate-breathe{50%{filter:brightness(1.08)}}.gate-hint{min-height:1.6em;color:var(--c-muted);font:600 12px/1.6 var(--sans);letter-spacing:.2em;text-transform:uppercase;margin:0;animation:1.2s cubic-bezier(.2,.7,.2,1) 1.3s both cinema-rise}@keyframes cinema-rise{0%{opacity:0;filter:blur(6px);translate:0 18px}}@keyframes cinema-appear{0%{opacity:0;filter:blur(6px)}}.film-titles{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100%;padding:64px 20px;display:flex;position:relative;overflow:clip}.titles-row{justify-content:center;align-items:center;gap:clamp(12px,2.4vw,28px);display:flex}.titles-row:before,.titles-row:after{content:"";background:linear-gradient(90deg, transparent, var(--c-glow), #fff);min-width:0;height:2px;filter:drop-shadow(0 0 10px var(--c-glow));transform-origin:100%;opacity:.8;border-radius:2px;flex:0 1000 clamp(40px,11vw,140px);margin-top:.04em;animation:1.4s cubic-bezier(.2,.7,.2,1) 2.1s both titles-rule}.titles-row:after{background:linear-gradient(270deg, transparent, var(--c-glow), #fff);transform-origin:0}@keyframes titles-rule{0%{opacity:0;scale:0 1}45%{opacity:1}}.titles-presenters{color:var(--c-muted);font:600 13px/1.6 var(--sans);letter-spacing:.3em;text-transform:uppercase;margin:0;animation:5.4s cubic-bezier(.2,.7,.2,1) .3s both titles-presenters}@keyframes titles-presenters{0%{opacity:0;letter-spacing:.18em}22%{opacity:1}to{opacity:.85;letter-spacing:.42em}}.titles-name{gap:6px;width:100%;margin:0;display:grid}.titles-greeting{color:var(--c-cream);font:italic 400 clamp(20px, 2.6vw, 30px) / 1.3 var(--serif);animation:1.2s cubic-bezier(.2,.7,.2,1) 1.35s both cinema-rise}.titles-letters{min-width:0;color:var(--c-gold);font:600 min(150px, 15vw, calc(88vw / (var(--longest) * .62))) / 1 var(--serif);font-variation-settings:var(--display-soft);letter-spacing:-.02em}.titles-word{white-space:nowrap;display:inline-block}.titles-word>span{animation:titles-letter 1.3s calc(1.9s + var(--i) * 70ms) cubic-bezier(.2, .7, .2, 1) both, titles-glint 1.1s calc(3.2s + var(--i) * 50ms) ease-in-out both;display:inline-block}@keyframes titles-letter{0%{opacity:0;filter:blur(14px);color:#fff;translate:0 .12em;scale:1.35}55%{opacity:1;color:#fff8e6;text-shadow:0 0 28px var(--c-glow)}to{opacity:1;filter:blur();text-shadow:0 0 18px color-mix(in oklab, var(--c-glow) 45%, transparent);translate:0;scale:1}}@keyframes titles-glint{0%,to{text-shadow:0 0 18px color-mix(in oklab, var(--c-glow) 45%, transparent)}45%{color:#fffaf0;text-shadow:0 0 12px #fff, 0 0 36px var(--c-glow)}}.titles-title{max-width:34em;color:var(--c-muted);font:italic 400 clamp(16px, 1.8vw, 20px) / 1.5 var(--serif);margin:10px 0 0;animation:1.2s cubic-bezier(.2,.7,.2,1) 3.4s both cinema-rise}.cinema .reveal-top{z-index:5;justify-content:space-between;gap:12px;max-width:1120px;margin:0 auto 18px;position:relative}.cinema .cinema-body>.eyebrow{z-index:5;box-shadow:none;color:var(--c-gold);letter-spacing:.2em;text-transform:uppercase;text-shadow:var(--legible);background:0 0;margin:0 auto 14px;padding:0;font-size:11px;line-height:1.5;display:block;position:relative}.cinema .reveal-top .brand{color:var(--c-cream)}.cinema-tools{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.cinema-pill{border:1px solid var(--c-line);width:auto;min-height:40px;color:var(--c-cream);font:600 12px/1 var(--sans);cursor:pointer;background:#ffffff08;border-radius:100px;justify-content:center;align-items:center;gap:7px;padding:9px 14px;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.cinema-pill:hover{background:#ffffff16}.cinema-pill{min-height:44px;padding:10px 16px 10px 12px;font-size:13px}.cinema-pill-short{display:none}.cinema-pill-gold{background:linear-gradient(135deg, var(--c-gold), var(--c-gold-deep));color:var(--c-night);box-shadow:inset 0 1px 0 #ffffff80, 0 4px 18px color-mix(in oklab, var(--c-glow) 30%, transparent);border-color:#0000;padding-left:14px}.cinema-pill-gold:hover{background:linear-gradient(135deg, var(--c-glow), var(--c-gold))}.cinema-pill:focus-visible,.keep-sheet-close:focus-visible,.cinema .text-button:focus-visible,.cinema .after-reveal:focus-visible,.studio-hit:focus-visible,.capsule-hit:focus-visible{outline:2px solid var(--c-gold);outline-offset:4px}.reveal-experience.cinema h1{z-index:5;max-width:16em;color:var(--c-cream);letter-spacing:-.03em;text-shadow:var(--legible);outline:none;margin:0 auto;font-size:clamp(38px,4.6vw,60px);line-height:1.04;position:relative}.reveal-experience.cinema h1 em{color:var(--c-gold)}.cinema .reveal-dedication{z-index:5;color:var(--c-muted);text-shadow:var(--legible);margin-top:12px;font-size:14px;line-height:1.6;position:relative}.cinema>.cinema-body>h1,.cinema .reveal-dedication,.cinema .cinema-body>.eyebrow{transition:opacity .9s}.cinema:is([data-phase=presenting],[data-phase=capsule],[data-phase=opening]) :is(.cinema-body>h1,.reveal-dedication,.cinema-body>.eyebrow){opacity:0;pointer-events:none}.cinematic-stage{isolation:isolate;width:min(780px,100%);height:clamp(320px,100svh - 480px,450px);margin:8px auto 0;position:relative}.stage-spotlight{z-index:0;pointer-events:none;transform-origin:50% 0;width:560px;height:calc(100% + 80px);animation:9s ease-in-out infinite stage-sway;position:absolute;top:-120px;left:50%;translate:-50%}.stage-spotlight:before{content:"";background:conic-gradient(from 158deg at 50% -20%, transparent, color-mix(in oklab, var(--c-glow) 34%, transparent) 10deg 34deg, transparent 44deg);position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000004d 70%,#0000);mask-image:linear-gradient(#000,#0000004d 70%,#0000)}@keyframes stage-sway{0%,to{opacity:.9;rotate:-1.4deg}50%{opacity:1;rotate:1.4deg}}.stage-floor{z-index:0;pointer-events:none;background:radial-gradient(ellipse at 50% 50%, color-mix(in oklab, var(--c-glow) 30%, transparent), transparent 70%);border-radius:50%;width:min(560px,90%);height:110px;position:absolute;bottom:22px;left:50%;translate:-50%}.cinema{--capsule:min(280px, 58vw, 32svh);--orb:calc(var(--capsule) * .66);--legible:0 1px 2px #000d, 0 0 6px #000b, 0 0 18px #0009, 0 4px 32px #0008;--aura-a:#ff7eb6;--aura-b:#8b7bff;--aura-c:#4fc3e8}.cinema[data-occasion]{--aura-a:color-mix(in oklab, var(--occasion-stage) 60%, #ff7eb6)}.stage-halo{z-index:0;pointer-events:none;width:0;height:0;position:fixed;top:50%;left:50%}.stage-halo:before,.note-aura{content:"";width:calc(var(--capsule) * 2.9);height:calc(var(--capsule) * 2.9);background:conic-gradient(from 0deg, var(--aura-a), var(--aura-b), var(--aura-c), var(--aura-b), var(--aura-a));filter:blur(70px);opacity:.4;border-radius:50%;animation:1.6s ease-out both aura-in,26s linear infinite stage-spin;position:absolute;top:50%;left:50%;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#000 8%,#0000 52%);mask-image:radial-gradient(circle,#000 8%,#0000 52%)}.stage-halo:after{content:"";width:calc(var(--capsule) * 1.32);height:calc(var(--capsule) * 1.32);background:conic-gradient(transparent 0 72%, #fff3dc00 72%, #fff3dc 100%);filter:drop-shadow(0 0 6px #fff3dc);border-radius:50%;animation:1.2s ease-out .5s both aura-in,5.5s linear infinite stage-spin;position:absolute;top:50%;left:50%;translate:-50% -50%;-webkit-mask-image:radial-gradient(circle,#0000 calc(70% - 2px),#000 calc(70% - 1px) 70%,#0000 calc(70% + 1px));mask-image:radial-gradient(circle,#0000 calc(70% - 2px),#000 calc(70% - 1px) 70%,#0000 calc(70% + 1px))}.stage-halo i{width:var(--capsule);height:var(--capsule);opacity:0;border:1px solid #fbf1dc;border-radius:50%;animation:4.8s cubic-bezier(.2,.6,.3,1) infinite halo-ring;position:absolute;top:50%;left:50%;translate:-50% -50%}.stage-halo i:nth-child(2){animation-delay:1.6s}.stage-halo i:nth-child(3){animation-delay:3.2s}@keyframes halo-ring{0%{opacity:0;scale:1}12%{opacity:.38}to{opacity:0;scale:2.8}}.phase-opening .stage-halo i{animation-duration:1.2s}.stage-spotlight,.stage-floor{transition:opacity 1.2s}.cinematic-stage:is(.phase-presenting,.phase-capsule,.phase-opening) :is(.stage-spotlight,.stage-floor){opacity:0}@keyframes aura-in{0%{opacity:0;scale:.6}}@keyframes stage-spin{to{rotate:360deg}}.studio-canvas{z-index:2;pointer-events:none;opacity:0;width:100vw;height:100svh;transition:opacity .65s;display:block;position:fixed;inset:0}.studio-canvas.is-ready{opacity:1}.phase-ready .studio-canvas,.phase-turning .studio-canvas,.phase-dropping .studio-canvas{width:100%;height:calc(100% - 38px);position:absolute}.studio-fallback{z-index:2;place-items:center;display:grid;position:absolute;inset:0 0 38px}.studio-fallback>.machine-wrap{filter:drop-shadow(0 18px 30px #0008);width:240px;transition:opacity 1s}.cinematic-stage:is(.phase-presenting,.phase-capsule,.phase-opening) .studio-fallback>.machine-wrap{opacity:0}.fallback-prize{filter:drop-shadow(0 8px 24px #0009);width:150px;height:150px;position:fixed;top:50%;left:50%;translate:-50% -50%;rotate:15deg}.fallback-prize i{background:radial-gradient(at 30% 10%,#ffdda0,#dda749);border-radius:100px 100px 0 0;height:50%;display:block}.fallback-prize i+i{background:#fff6df;border-top:2px solid #d5b87e;border-radius:0 0 100px 100px}.studio-hit{z-index:4;cursor:pointer;background:0 0;border:0;border-radius:50%;width:44%;height:76%;position:absolute;top:6%;left:28%}.capsule-hit{z-index:7;width:var(--capsule);height:var(--capsule);color:var(--c-cream);cursor:pointer;background:0 0;border:0;border-radius:50%;position:fixed;top:50%;left:50%;translate:-50% -50%}.capsule-hit>span{top:calc(50% + var(--orb) + 18px);border:1px solid color-mix(in oklab, var(--c-gold) 50%, transparent);color:var(--c-gold);font:650 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;white-space:nowrap;background:#07050d99;border-radius:100px;padding:10px 20px;animation:.8s .2s both cinema-rise,2.4s ease-in-out 1s infinite capsule-call;position:absolute;left:50%;translate:-50%}@keyframes capsule-call{50%{box-shadow:0 0 24px color-mix(in oklab, var(--c-glow) 45%, transparent)}}.stage-tease{left:50%;bottom:calc(50% + var(--orb) + 18px);z-index:6;width:min(560px,100vw - 40px);color:var(--c-cream);font:400 clamp(22px, 3vw, 32px) / 1.2 var(--serif);text-align:center;text-wrap:balance;text-shadow:var(--legible);pointer-events:none;margin:0;animation:1.2s cubic-bezier(.2,.7,.2,1) .7s both cinema-rise;position:fixed;translate:-50%}.stage-tease em{color:var(--c-gold)}.reveal-bloom{z-index:3;pointer-events:none;background:radial-gradient(ellipse at 50% 50%, color-mix(in oklab, var(--c-glow) 55%, transparent), transparent 50%);animation:1.6s ease-in-out both reveal-light;position:fixed;inset:0}@keyframes reveal-light{0%{opacity:0;scale:.5}55%{opacity:1}to{opacity:0;scale:1.25}}.studio-status{z-index:4;width:100%;color:var(--c-muted);font:italic 16px/1.5 var(--serif);text-align:center;pointer-events:none;padding:0 16px;position:absolute;bottom:4px}.phase-turning .studio-status,.phase-dropping .studio-status{color:var(--c-gold)}.cinematic-stage:is(.phase-presenting,.phase-capsule,.phase-opening) .studio-status{clip-path:inset(50%);height:1px;overflow:hidden}.reveal-dock{z-index:8;flex-direction:column;align-items:center;gap:14px;width:min(400px,100%);margin:18px auto 0;display:flex;position:relative}.cinema:is([data-phase=presenting],[data-phase=capsule],[data-phase=opening]) .reveal-dock{left:50%;bottom:max(24px, env(safe-area-inset-bottom));width:min(400px,100% - 36px);margin:0;position:fixed;translate:-50%}.cinema:is([data-phase=presenting],[data-phase=capsule],[data-phase=opening]) :is(.reveal-count,.reveal-links,.reveal-dock .made-with){display:none}.reveal-progress{justify-items:center;gap:10px;display:grid}.capsule-dots{flex-wrap:wrap;justify-content:center;gap:8px;max-width:300px;margin:0;padding:0;list-style:none;display:flex}.capsule-dots li{border:1px solid color-mix(in oklab, var(--c-gold) 55%, transparent);border-radius:50%;width:10px;height:10px;transition:background .5s,box-shadow .5s,scale .5s}.capsule-dots li.is-open{background:var(--c-gold);border-color:var(--c-gold);box-shadow:0 0 10px var(--c-glow)}.gift-opening-progress{background:#ffffff1c;border-radius:6px;width:min(280px,80vw);height:6px;overflow:hidden}.gift-opening-progress>span{border-radius:inherit;background:linear-gradient(90deg, var(--c-gold-deep), var(--c-gold));height:100%;box-shadow:0 0 12px var(--c-glow);transition:width .6s cubic-bezier(.2,.7,.2,1);display:block}.cinema .reveal-count{color:var(--c-muted);margin:0;font-size:13px}.cinema .reveal-count number-flow-react{color:var(--c-gold);font-weight:700}.reveal-primary.button{width:100%;min-height:58px;font-size:16px;position:relative}.reveal-primary.button:disabled{opacity:.6;cursor:default;transform:none}.cinema[data-phase=ready] .reveal-primary:not(:disabled):after{content:"";z-index:-1;border-radius:inherit;pointer-events:none;background:#e24f3a66;animation:2.6s ease-in-out infinite primary-call;position:absolute;inset:0}@keyframes primary-call{0%{opacity:1;scale:1}60%,to{opacity:0;scale:1.07 1.48}}.cinema.is-complete .reveal-primary{background:linear-gradient(135deg, var(--c-gold), var(--c-gold-deep));color:var(--c-night);box-shadow:inset 0 2px 0 #ffffff70, 0 4px 0 #8a5d1e, 0 0 30px color-mix(in oklab, var(--c-glow) 40%, transparent)}.cinema .reveal-links{gap:26px;margin:0}.cinema .text-button{min-height:40px;color:var(--c-muted);cursor:pointer;font-size:13px;transition:color .2s}.cinema .text-button:hover{color:var(--c-gold)}.cinema .made-with{margin-top:6px}.cinema .after-reveal{z-index:5;width:fit-content;color:var(--c-gold);text-underline-offset:3px;text-shadow:var(--legible);position:relative}.cinema .after-reveal>svg{flex-shrink:0}.cinema.is-collection .cinema-body>.text-button{margin-top:18px}.cinema .collection-grid{z-index:5;margin-top:26px;position:relative}.cinema .message-card{color:var(--ink)}.cinema-note-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:radial-gradient(at 50% 40%,#241736,#07050d 70%);padding:0;display:flex;overflow:hidden auto}.cinema-note-overlay>.note-stage{width:100%;min-height:100%;padding:max(44px, calc(env(safe-area-inset-top) + 24px)) 20px max(28px, calc(env(safe-area-inset-bottom) + 16px));perspective:1400px;flex-direction:column;justify-content:center;align-items:center;gap:22px;margin:auto;display:flex;position:relative;overflow:clip}.note-aura{z-index:0;pointer-events:none;opacity:.32;width:min(1100px,160vw);height:min(1100px,160vw);animation:1.4s ease-out both aura-in,40s linear infinite reverse stage-spin;top:42%}.note-stage>.occasion-effect{z-index:0}.note-stage>.celebration-canvas{z-index:3}.note-flight{z-index:2;perspective:900px;width:min(480px,100%);position:relative}.cinema-note-overlay .revealed-note{max-width:none;max-height:none;box-shadow:0 50px 120px -20px #000c, 0 0 90px color-mix(in oklab, var(--c-glow) 22%, transparent);transform-style:preserve-3d;will-change:transform;border-color:#efdfbd;padding:38px;position:relative;overflow:hidden}.note-glare{z-index:3;border-radius:inherit;pointer-events:none;position:absolute;inset:0;overflow:hidden}.note-glare:before{content:"";background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,30%), #ffffff2e, transparent 40%);mix-blend-mode:soft-light;opacity:0;transition:opacity .3s;position:absolute;inset:0}.is-tilting:hover .note-glare:before{opacity:1}.note-glare:after{content:"";mix-blend-mode:soft-light;background:linear-gradient(100deg,#0000,#fffbe9aa,#0000);width:40%;animation:1.5s ease-in-out .55s both note-sheen;position:absolute;top:-20%;bottom:-20%;left:0;translate:-150%;rotate:12deg}@keyframes note-sheen{to{translate:340%}}.note-message.is-writing .note-word{overflow-wrap:anywhere;max-width:100%;animation:note-word .7s calc(.5s + var(--i) * var(--step)) cubic-bezier(.2, .7, .2, 1) both;display:inline-block}@keyframes note-word{0%{opacity:0;filter:blur(5px);translate:0 .3em}}.note-signature.is-signing{animation:note-sign 1.1s var(--sign-delay,.5s) cubic-bezier(.3, .6, .2, 1) both}@keyframes note-sign{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0 -10% 0 0)}}.note-stage>.note-actions{z-index:2;flex-direction:column;align-items:center;gap:6px;width:min(360px,100%);animation:.8s .7s both cinema-rise;display:flex;position:relative}.note-stage>.note-actions .button{width:100%}.note-stage>.note-actions .text-button{min-height:44px;color:var(--c-muted);cursor:pointer;font-size:13px}.note-stage>.note-actions .text-button:hover{color:var(--c-gold)}.note-stage>.note-actions .text-button:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px}.reveal-finale{z-index:20;overscroll-behavior:contain;background:radial-gradient(ellipse at 50% 30%, var(--c-plum), var(--c-night) 75%);color:var(--c-cream);text-align:center;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.finale-vignette{pointer-events:none;background:radial-gradient(#0000 40%,#000b 100%);position:absolute;inset:0}.cinema-back{top:max(20px, env(safe-area-inset-top));left:max(20px, env(safe-area-inset-left));z-index:3;border:1px solid var(--c-line);min-height:44px;color:var(--c-cream);font:600 13px/1 var(--sans);cursor:pointer;background:#07050d80;border-radius:100px;align-items:center;gap:8px;padding:10px 16px 10px 12px;transition:background .2s;display:inline-flex;position:absolute}.cinema-back:hover{background:#ffffff16}.cinema-back:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px}.finale-lines,.finale-end{z-index:1;flex:1;place-content:center;padding:60px 24px 24px;display:grid;position:relative}.finale-lines{grid-template-areas:"a""b";gap:4px}.finale-line{font:500 clamp(40px, 7vw, 92px) / 1.05 var(--serif);font-variation-settings:var(--display-soft);letter-spacing:-.03em;opacity:0;margin:0}.finale-line:first-child{grid-area:a;animation:3.3s cubic-bezier(.2,.7,.2,1) .3s both finale-line}.finale-line:nth-child(2){color:var(--c-gold);grid-area:b;font-style:italic;animation:2.2s cubic-bezier(.2,.7,.2,1) 1.4s both finale-line}.finale-loved{text-wrap:balance;grid-area:1/1/span 2;align-self:center;max-width:12em;animation:1.6s cubic-bezier(.2,.7,.2,1) 3.9s both finale-loved}.finale-loved em,.cinema .finale-end h2 em{color:var(--c-gold)}@keyframes finale-line{0%{opacity:0;filter:blur(12px);translate:0 20px}25%,80%{opacity:1;filter:blur();translate:0}to{opacity:0;filter:blur(8px);translate:0 -10px}}@keyframes finale-loved{0%{opacity:0;filter:blur(14px);scale:.94}to{opacity:1;filter:blur();scale:1}}.finale-credits-window{z-index:1;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 18% 72%,#0000 88%);mask-image:linear-gradient(#0000,#000 18% 72%,#0000 88%)}.finale-credits{width:100%;animation:finale-roll var(--roll,14s) linear forwards;padding:0 24px;position:absolute;top:100%;left:0}@keyframes finale-roll{to{translate:0 calc(-100% - 100svh)}}.reveal-finale dl{gap:64px;margin:0;display:grid}.credit{gap:10px;display:grid}.credit dt{color:var(--c-gold);font:650 12px/1.6 var(--sans);letter-spacing:.3em;text-transform:uppercase}.credit dd{font:400 clamp(24px, 3.4vw, 34px) / 1.3 var(--serif);overflow-wrap:anywhere;margin:0}.credit dd.credit-star{color:var(--c-gold);font:italic 600 clamp(44px, 7vw, 76px) / 1.05 var(--serif);text-shadow:0 0 30px color-mix(in oklab, var(--c-glow) 40%, transparent)}.credit-title dd{color:var(--c-muted);font-style:italic}.finale-end{color:var(--c-gold);justify-items:center;gap:18px;animation:1.4s cubic-bezier(.2,.7,.2,1) both finale-loved}.cinema .finale-end h2{max-width:12em;color:var(--c-cream);font:700 clamp(36px, 6vw, 72px) / 1.06 var(--serif);font-variation-settings:var(--display-soft);letter-spacing:-.03em;text-wrap:balance;margin:0}.finale-end p{color:var(--c-muted);font:italic 18px/1.5 var(--serif);margin:0}.finale-static-credits{color:var(--c-cream);margin-top:12px}.finale-static-credits dl{gap:28px}.finale-static-credits .credit dd.credit-star{font-size:36px}.finale-static-credits .credit dd{font-size:22px}.finale-actions{z-index:2;padding:20px 20px max(24px, calc(env(safe-area-inset-bottom) + 12px));flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 12px;animation:1s .8s both cinema-appear;display:flex;position:relative}.reveal-finale:not(.is-end) .finale-actions{margin-top:auto}.finale-actions .button{min-height:48px}.button-ghost{border:1px solid var(--c-line);color:var(--c-cream);background:#ffffff0a;text-decoration:none}.button-ghost:hover{background:#ffffff18}.finale-actions .button:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px}.finale-actions .text-button{min-height:44px;color:var(--c-muted);cursor:pointer;font-size:13px}.finale-actions .text-button:hover{color:var(--c-gold)}.finale-actions .text-button:focus-visible{outline:2px solid var(--c-gold);outline-offset:3px}.finale-actions .after-reveal{color:var(--c-gold);flex-basis:100%;margin:4px auto 0}@media (max-width:760px){.reveal-experience.cinema{padding-left:max(16px, env(safe-area-inset-right));padding-right:max(16px, env(safe-area-inset-right))}.cinema .reveal-top{align-items:flex-start;margin-bottom:20px}.cinema .cinema-body>.eyebrow{letter-spacing:.14em;margin-bottom:10px}.cinema-pill-long{display:none}.cinema-pill-short{display:inline}.reveal-experience.cinema h1{font-size:clamp(36px,10vw,44px)}.cinema .reveal-dedication{max-width:320px;font-size:13px}.cinematic-stage{width:calc(100% + 32px);height:clamp(300px,100svh - 440px,365px);margin-left:-16px}.stage-spotlight{width:420px}.studio-hit{width:64%;height:80%;top:0;left:18%}.studio-status{font-size:14px}.cinema-note-overlay .revealed-note{padding:28px}.gate-seal-wrap{width:180px;height:180px}.gate-seal{width:148px;height:148px}.finale-actions .button{flex:100%;max-width:360px}}@media (max-height:650px){.capsule-hit>span{top:calc(50% + var(--orb) + 8px)}.stage-tease{bottom:calc(50% + var(--orb) + 8px);font-size:21px;font-weight:500}}@media (prefers-reduced-motion:reduce){.stage-spotlight,.stage-halo:before,.stage-halo:after,.note-aura,.gate-core,.capsule-hit>span,.cinema[data-phase=ready] .reveal-primary:not(:disabled):after{animation:none}.gate-ripple,.stage-halo i,.note-glare:after,.reveal-bloom{display:none}.gate-eyebrow,.gate-title,.gate-seal-wrap,.gate-hint,.stage-tease,.note-stage>.note-actions,.finale-actions,.finale-end,.titles-row:before,.titles-row:after{animation:none}.cinema-body,.cinema:not([data-act=stage]) .cinema-body{transition:none;translate:none}}.occasion-effect.is-snow .piece{border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 1px #668372;background:#fff!important}.occasion-effect.is-stars .piece{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 95%,50% 73%,21% 95%,32% 57%,2% 35%,39% 35%);width:15px;height:15px}.occasion-effect.is-bats .piece{clip-path:polygon(0 0,30% 20%,40% 0,50% 25%,60% 0,70% 20%,100% 0,85% 80%,65% 60%,50% 100%,35% 60%,15% 80%);width:24px;height:14px}.cinema[data-occasion] .occasion-effect.is-hearts .piece:before{color:inherit}.countdown-shell[data-occasion] .countdown-machine{background-color:var(--occasion-stage);background-image:var(--occasion-soft-art);background-position:right 16px top 16px;background-repeat:no-repeat;background-size:56px;border-radius:180px 180px 28px 28px}.countdown-shell[data-occasion] h1 em{color:var(--occasion-accent)}.cinema-toys{z-index:1;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .6s;position:fixed;inset:0}.cinema-toys[data-active]{opacity:1}.cinema .capsule-dots{gap:7px}.cinema .capsule-dots li{border-color:color-mix(in oklab, var(--dot,var(--c-gold)) 60%, #fff3);background:color-mix(in oklab, var(--dot,var(--c-gold)) 14%, transparent);width:12px;height:12px}.cinema .capsule-dots li.is-open{background:radial-gradient(circle at 32% 30%, #fffffff0 0 14%, color-mix(in oklab, var(--dot,var(--c-gold)) 70%, #fff) 24%, var(--dot,var(--c-gold)) 58%, color-mix(in oklab, var(--dot,var(--c-gold)) 60%, #000) 100%);box-shadow:0 0 10px color-mix(in oklab, var(--dot,var(--c-glow)) 70%, transparent);border-color:#0000;animation:.5s cubic-bezier(.3,1.6,.5,1) both dot-pop}@keyframes dot-pop{0%{scale:.3}}.reveal-experience.cinema h1 em{background:linear-gradient(100deg, var(--c-gold) 10%, color-mix(in oklab, var(--tone-a,var(--c-gold)) 45%, #fff) 35%, #fff7e6 50%, color-mix(in oklab, var(--tone-b,var(--c-glow)) 45%, #fff) 65%, var(--c-gold) 90%) 0 0 / 250% 100%;color:#0000;text-shadow:none;filter:drop-shadow(0 4px 22px #0009);-webkit-background-clip:text;background-clip:text;animation:7s steps(168,end) infinite alternate name-shine}@keyframes name-shine{to{background-position:100% 0}}.keep-sheet{border:1px solid var(--c-line);background:radial-gradient(ellipse at 50% 0, color-mix(in oklab, var(--c-glow) 16%, transparent), transparent 70%), #120d1c;width:min(460px,100% - 32px);max-height:calc(100svh - 32px);color:var(--c-cream);overscroll-behavior:contain;border-radius:28px;margin:auto;padding:0;overflow-y:auto;box-shadow:0 30px 80px #000c}.keep-sheet::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07050dcc}.keep-sheet[open]{animation:.35s cubic-bezier(.2,.8,.2,1) both sheet-in}@keyframes sheet-in{0%{opacity:0;scale:.96}}.keep-sheet-body{padding:36px 28px 28px;position:relative}.keep-sheet-close{border:1px solid var(--c-line);width:44px;height:44px;color:var(--c-cream);cursor:pointer;background:#ffffff08;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.keep-sheet-close:hover{background:#ffffff16}.keep-sheet .save-gift-panel{background:0 0;border-radius:0;max-width:none;margin:0;padding:0}.keep-sheet .save-gift-panel h2{color:var(--c-cream);font:italic 500 clamp(26px, 6vw, 32px) / 1.15 var(--serif);margin:0 48px}.keep-sheet .save-gift-panel p{color:var(--c-muted)}.keep-sheet .form-actions{gap:10px;display:grid}.keep-sheet .button{width:100%}.keep-sheet .button-outline{border-color:var(--c-line);color:var(--c-cream);background:#ffffff08}.keep-sheet .keep-saved,.keep-sheet .keep-saved a{color:var(--c-gold)}@media (max-width:760px){.keep-sheet{border-width:1px 0 0;border-radius:28px 28px 0 0;width:100%;max-width:100%;margin:auto 0 0}.keep-sheet-body{padding-bottom:max(28px, env(safe-area-inset-bottom))}@keyframes sheet-in{0%{opacity:.4;translate:0 40%}}}@media (prefers-reduced-motion:reduce){.reveal-experience.cinema h1 em,.cinema .capsule-dots li.is-open,.keep-sheet[open]{animation:none}}
.message-card[data-artwork]{--art-pad:clamp(22px, 4vw, 32px);padding:var(--art-pad);border-radius:28px}.card-artwork{aspect-ratio:20/7;isolation:isolate;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;display:block;position:relative;overflow:hidden}.message-card>.card-artwork{margin:calc(-1 * var(--art-pad)) calc(-1 * var(--art-pad)) 26px;border-bottom:1px solid #ffffff25;border-radius:17px 17px 0 0}.message-card[data-artwork]{overflow:hidden}.message-card.revealed-note[data-artwork]{overflow-y:auto}.message-card{position:relative}.message-card:after{content:"";z-index:2;border:1.5px solid var(--card-border,transparent);pointer-events:none;background:0 0;border-radius:18px;width:auto;height:auto;position:absolute;inset:12px}.message-card>.card-artwork{margin:calc(-1 * var(--art-pad) - 1px) calc(-1 * var(--art-pad) - 1px) 26px;border:0;border-radius:0}.art-scene{background-repeat:no-repeat;background-size:100% 100%;position:absolute;inset:0}.has-art-motion .art-scene{animation:4s ease-in-out infinite alternate card-art-drift;transform:scale(1.06)}.art-studio-disco .art-scene,.art-studio-cloud .art-scene{animation-duration:5s}.art-light{pointer-events:none;opacity:0;mix-blend-mode:screen;background:linear-gradient(115deg,#0000 40%,#fff0 44%,#ffffffa0 50%,#fff0 56%,#0000 60%);animation:5s ease-in-out infinite card-light-pass;position:absolute;inset:-40% -100%}.art-studio-prism .art-light{background:linear-gradient(115deg,#0000 40%,#f593de60 45%,#ffffffa0 50%,#97e6ff90 55%,#0000 60%)}.art-sparkles{opacity:0;color:#fff;text-shadow:0 0 10px #fff;pointer-events:none;font:26px/1 serif;animation:4s ease-in-out infinite alternate card-art-sparkle;position:absolute;top:18%;left:24%}.art-sparkles i{font-size:18px;position:absolute;top:40px;left:140px}.art-sparkles b{font-size:30px;position:absolute;top:65px;left:65px}@keyframes card-art-drift{0%{transform:scale(1.06)translate(-1%,1%)}to{transform:scale(1.09)translate(1%,-1%)}}@keyframes card-art-sparkle{0%{opacity:.25;transform:scale(.75)}to{opacity:1;transform:scale(1.15)}}@keyframes card-light-pass{0%{opacity:0;transform:translate(-30%)}25%,60%{opacity:.9}to{opacity:0;transform:translate(30%)}}@media (prefers-reduced-motion:reduce){.has-art-motion .art-scene{animation:none;transform:none}.art-light,.art-sparkles,.art-light{animation:none;display:none}}.message-card[data-card-design=studio-noir]{box-shadow:0 18px 45px #17233d25,inset 0 0 0 5px #e9c46a15}.message-card[data-card-design=studio-noir] .note-number,.message-card[data-card-design=studio-noir] .note-signature{text-align:center;justify-content:center}.message-card[data-card-design=studio-noir] .note-message{text-align:center}.message-card[data-card-design=studio-disco] .note-message{font-weight:600}.ink-picker{position:relative}.ink-dots{flex-wrap:wrap;gap:12px;padding:4px 2px;display:flex}.ink-dot{background:var(--ink-dot);color:#fff;cursor:pointer;width:36px;height:36px;box-shadow:inset 0 3px 0 #fff5, 0 0 0 3px var(--surface), 0 0 0 5px #d9cbf2;border:0;border-radius:999px;place-items:center;padding:0;transition:transform .15s,box-shadow .15s;display:grid}.ink-dot:hover{transform:translateY(-2px)}.ink-dot[aria-pressed=true]{box-shadow:inset 0 3px 0 #fff5, 0 0 0 3px var(--surface), 0 0 0 6px var(--violet)}.ink-dot:focus-visible{box-shadow:inset 0 3px 0 #fff5, 0 0 0 3px var(--surface), 0 0 0 6px var(--cherry-soft);outline:none}.ink-dot-custom:not([aria-pressed=true]){background:conic-gradient(#f08a72,#f6c84f,#a9c6a3,#7a93d4,#e9a3bc,#f08a72)}.ink-dot-custom svg{filter:drop-shadow(0 1px #0005)}.ink-popover{background:var(--surface);width:fit-content;box-shadow:0 0 0 3px var(--lilac), 0 18px 40px -18px #4a3b6e66;transform-origin:0 0;border-radius:22px;gap:12px;margin-top:14px;padding:14px;animation:.18s cubic-bezier(.2,.9,.3,1.3) occasion-menu-pop;display:grid}.ink-popover .react-colorful{width:232px;height:196px}.ink-popover .react-colorful__saturation{border-bottom:0;border-radius:16px;box-shadow:inset 0 0 0 2px #0000000f}.ink-popover .react-colorful__hue{border-radius:999px;height:20px;margin-top:12px}.ink-popover .react-colorful__pointer{border:3px solid #fff;width:24px;height:24px;box-shadow:0 2px #0003}.ink-hex{color:var(--muted);align-items:center;gap:10px;font-size:12px;font-weight:650;display:flex}.ink-hex input{background:var(--paper);min-width:0;min-height:40px;font:inherit;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);border:0;border-radius:12px;flex:1;padding:8px 12px;font-size:15px}.ink-hex input:focus-visible{outline:3px solid var(--violet);outline-offset:1px}.ink-hint{min-height:1em;color:var(--muted);margin-top:8px;font-size:12px;line-height:1.5;display:block}@media (prefers-reduced-motion:reduce){.ink-popover{animation:none}}.surprise-cover,.surprise-content{display:flow-root}.opening-cover{cursor:pointer;isolation:isolate;background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;position:absolute;inset:0;overflow:hidden;container-type:size}.opening-cover:focus-visible{outline-offset:3px;outline:3px solid #e24f3a}.opening-cover[aria-disabled=true]{cursor:default}.opening-illustration,.envelope-scene,.ribbon-scene,.envelope-sleeve,.envelope-sleeve svg,.ribbon-paper,.opening-confetti{width:100%;height:100%;display:block;position:absolute;inset:0}.opening-confetti{pointer-events:none;z-index:2}.opening-confetti i{border-radius:999px;width:14px;height:14px;position:absolute;top:42%;left:calc(50% - 7px);box-shadow:inset 0 -4px #0000001c}.envelope-scene{perspective:900px;background:radial-gradient(circle at 50% 20%,#fff0c2,#ffe3e2 75%)}.envelope-letter{background:repeating-linear-gradient(#0000 0 20px,#ead9d3 20px 22px) 0 34px/100% 22px repeat-y content-box content-box,#fffcf5;border-radius:14px;padding:0 16px;position:absolute;inset:12% 11% 26%;box-shadow:0 3px #ead9d3}.envelope-lid{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;backface-visibility:hidden;filter:drop-shadow(0 3px #e9a3bc88);z-index:1;background:linear-gradient(170deg,#fff1ef 10%,#f8c6c3 95%);position:absolute;inset:0 0 44%}.envelope-wax{color:#fffcf5;z-index:3;background:radial-gradient(circle at 35% 28%,#f08a72,#e24f3a 60%,#c33d29);border-radius:48% 52% 46% 54%;place-items:center;width:56px;height:56px;display:grid;position:absolute;top:calc(56% - 28px);left:calc(50% - 28px);box-shadow:0 4px #8f2a1e,inset 0 0 0 3px #fffcf5aa}.envelope-wax svg{width:26px;height:26px}.opening-instruction{color:#332a35;text-align:center;width:fit-content;max-width:84%;font:650 15px/1.2 var(--serif);font-variation-settings:"SOFT" 100, "WONK" 1;z-index:4;background:#fffcf5;border-radius:999px;margin:0 auto;padding:10px 20px;position:absolute;bottom:8%;left:0;right:0;box-shadow:inset 0 2px #fff,0 4px #ead9d3}.opening-instruction small{font:500 11px/1.3 var(--sans);color:#6e5f67;margin-top:3px;display:block}@container (max-height:230px){.opening-instruction{padding:7px 14px;font-size:13px;bottom:6%}.opening-instruction small{display:none}.envelope-letter{bottom:32%}}.ribbon-paper{background:radial-gradient(#c9b7ea 2px,#0000 2.6px) 0 0/20px 20px,#e8dcfa;box-shadow:inset 0 0 0 4px #fffcf5}.ribbon-bow{filter:drop-shadow(0 4px #c6514066);z-index:3;width:160px;height:120px;position:absolute;top:calc(46% - 60px);left:calc(50% - 80px);overflow:visible}@media (max-width:480px){.ribbon-bow{width:120px;height:90px;top:calc(46% - 45px);left:calc(50% - 60px)}.envelope-wax{width:46px;height:46px;top:calc(56% - 23px);left:calc(50% - 23px)}.opening-instruction{padding:8px 14px;font-size:13px}}.art-studio-aurora .art-light{background:linear-gradient(110deg,#0000 35%,#99ffd777 45%,#c9b3ff88 52%,#0000 65%);animation-duration:8s}.art-studio-aurora .art-scene{animation-duration:9s}.art-studio-orbit .art-scene{animation-duration:7s}.art-studio-orbit .art-sparkles{top:30%;left:15%}@media (prefers-reduced-motion:reduce){.art-studio-aurora .art-light,.art-studio-aurora .art-scene,.art-studio-orbit .art-scene{animation:none}}
