:root{--color-bg:#fff;--color-bg-alt:#faf8f8;--color-fg:#231717;--color-muted:#6b5858;--color-border:#ecd8d9;--color-accent:#db426d;--color-accent-fg:snow;--color-accent-soft:#ffdee2;--color-surface:#fffcfc;--color-focus:#db426d;--shadow-1:0 1px 2px #43232812, 0 2px 8px #4323280d;--shadow-2:0 4px 12px #43232817, 0 12px 32px #43232817;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-full:999px;--shell-max:1280px;--shell-pad:clamp(1.25rem, 4vw, 3rem);--nav-height:73px;--font-display:"Fraunces", "Noto Serif Thai", "Georgia", serif;--font-body:"Inter", "Noto Sans Thai", system-ui, -apple-system, "Segoe UI", sans-serif;--font-playful:"Alegreya Sans", "Noto Sans Thai", system-ui, sans-serif;--gift-unit:min(1vw, 3.9px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (color:lab(0% 0 0)){:root{--color-bg:lab(100% 0 0);--color-bg-alt:lab(97.6477% .977784 .30514);--color-fg:lab(9.31666% 6.36435 2.73002);--color-muted:lab(39.4277% 7.94083 3.37866);--color-border:lab(88.1627% 7.16701 2.24918);--color-accent:lab(52.5154% 61.857 11.5516);--color-accent-fg:lab(98.79% 1.58417 .667012);--color-accent-soft:lab(91.4211% 13.2586 2.79783);--color-surface:lab(99.2394% 1.95542 .610733);--color-focus:lab(52.5154% 61.857 11.5516);--shadow-1:0 1px 2px lab(18.2231% 16.4193 3.60438/.07), 0 2px 8px lab(18.2231% 16.4193 3.60438/.05);--shadow-2:0 4px 12px lab(18.2231% 16.4193 3.60438/.09), 0 12px 32px lab(18.2231% 16.4193 3.60438/.09)}}:root[data-theme=dark]{--color-bg:#17090a;--color-bg-alt:#231012;--color-fg:#f4ecec;--color-muted:#b49f9f;--color-border:#3e2728;--color-accent:#f05f83;--color-accent-fg:#130808;--color-accent-soft:#471a25;--color-surface:#241314;--color-focus:#f05f83;--shadow-1:0 1px 2px #0000004d, 0 2px 8px #00000040;--shadow-2:0 4px 16px #00000059, 0 16px 40px #0000004d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){:root[data-theme=dark]{--color-bg:lab(3.53879% 5.21719 1.41282);--color-bg-alt:lab(6.89364% 10.2347 2.31277);--color-fg:lab(94.1199% 2.53519 1.06815);--color-muted:lab(67.2609% 8.02431 3.04455);--color-border:lab(18.4143% 11.4162 3.43216);--color-accent:lab(60.7566% 58.8044 10.7926);--color-accent-fg:lab(2.94216% 3.56244 1.29517);--color-accent-soft:lab(16.8148% 22.9096 4.16946);--color-surface:lab(8.05097% 9.12795 2.59001);--color-focus:lab(60.7566% 58.8044 10.7926);--shadow-1:0 1px 2px lab(0% 0 0/.3), 0 2px 8px lab(0% 0 0/.25);--shadow-2:0 4px 16px lab(0% 0 0/.35), 0 16px 40px lab(0% 0 0/.3)}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--color-bg:#17090a;--color-bg-alt:#231012;--color-fg:#f4ecec;--color-muted:#b49f9f;--color-border:#3e2728;--color-accent:#f05f83;--color-accent-fg:#130808;--color-accent-soft:#471a25;--color-surface:#241314;--color-focus:#f05f83;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@supports (color:lab(0% 0 0)){:root:not([data-theme=light]){--color-bg:lab(3.53879% 5.21719 1.41282);--color-bg-alt:lab(6.89364% 10.2347 2.31277);--color-fg:lab(94.1199% 2.53519 1.06815);--color-muted:lab(67.2609% 8.02431 3.04455);--color-border:lab(18.4143% 11.4162 3.43216);--color-accent:lab(60.7566% 58.8044 10.7926);--color-accent-fg:lab(2.94216% 3.56244 1.29517);--color-accent-soft:lab(16.8148% 22.9096 4.16946);--color-surface:lab(8.05097% 9.12795 2.59001);--color-focus:lab(60.7566% 58.8044 10.7926)}}}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-width:thin}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in oklch, var(--color-fg) 22%, transparent);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:color-mix(in oklch, var(--color-fg) 34%, transparent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}body{background:var(--color-bg);color:var(--color-fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:clamp(1rem,.94rem + .3vw,1.0625rem);line-height:1.6}img,svg{max-width:100%;display:block}.skip-link{background:var(--color-accent);color:var(--color-accent-fg);border-radius:var(--radius-sm);z-index:100;padding:12px 20px;font-weight:600;position:absolute;top:0;left:-9999px}.skip-link:focus{top:16px;left:16px}a{color:var(--color-accent)}h1,h2,h3,.display{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-weight:600;line-height:1.1}h1{text-wrap:balance;font-size:clamp(2.25rem,1.5rem + 3.4vw,3.75rem);line-height:1.05}h2{text-wrap:balance;font-size:clamp(1.75rem,1.35rem + 1.8vw,2.5rem)}h3{text-wrap:balance;font-size:clamp(1.25rem,1.1rem + .6vw,1.5rem)}p{margin:0}.muted{color:var(--color-muted)}.measure{max-width:65ch}.shell{max-width:var(--shell-max);padding-inline:var(--shell-pad);margin-inline:auto}section{padding-block:clamp(3.5rem,6vw,7rem)}@media (prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(20px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal-group]>*{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transition-delay:var(--reveal-delay,0s);will-change:opacity, transform;transform:translateY(20px)}[data-reveal-group].is-visible>*{opacity:1;transform:translateY(0)}}section[id],#top{scroll-margin-top:88px}:focus-visible{outline:2.5px solid var(--color-focus);outline-offset:3px;border-radius:4px}button,input,select,textarea{font-family:inherit}button,a,[role=button],[role=radio]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn{border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;height:48px;padding-inline:24px;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s cubic-bezier(.16,1,.3,1),background-color .2s ease-out,color .2s ease-out,border-color .2s ease-out;display:inline-flex}.btn svg{flex-shrink:0;width:18px;height:18px}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);color:var(--color-accent-fg);box-shadow:var(--shadow-1)}.btn-primary:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.btn-ghost{color:var(--color-fg);border-color:var(--color-border);background:0 0}.btn-ghost:hover{background:var(--color-bg-alt)}.btn-soft{background:var(--color-accent-soft);color:var(--color-accent);border-color:#0000}.btn-soft:hover{background:color-mix(in oklch, var(--color-accent-soft) 70%, var(--color-accent) 15%)}.btn-sm{height:40px;padding-inline:18px;font-size:.875rem}.btn-block{width:100%}header.site{z-index:50;background:color-mix(in oklch, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.nav-row{justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding-block:12px;display:flex}.logo{font-family:var(--font-display);color:var(--color-fg);align-items:center;gap:10px;font-size:1.375rem;font-weight:700;text-decoration:none;display:flex}.logo img{width:auto;height:30px;display:block}:root[data-theme=dark] .logo img{filter:brightness(0)invert()}.footer-grid .logo img{height:24px}nav.primary-nav{align-items:center;gap:28px;display:flex}nav.primary-nav a{color:var(--color-fg);font-size:.95rem;font-weight:500;text-decoration:none}nav.primary-nav a:hover{color:var(--color-accent)}.nav-actions{align-items:center;gap:10px;display:flex}.lang-toggle{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);gap:2px;padding:3px;display:inline-flex}.lang-toggle button{border-radius:var(--radius-full);height:38px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;min-width:44px;padding:0 14px;font-size:.8125rem;font-weight:600;transition:background-color .2s ease-out,color .2s ease-out}.lang-toggle button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-fg)}.lang-toggle button:not([aria-pressed=true]):hover{color:var(--color-fg);background:color-mix(in oklch, var(--color-accent) 10%, transparent)}#mobile-menu .lang-toggle{width:100%;margin-bottom:16px;padding:4px}#mobile-menu .lang-toggle button{flex:1;height:44px}.icon-btn{border-radius:var(--radius-full);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-fg);cursor:pointer;background:0 0;justify-content:center;align-items:center;transition:background-color .2s ease-out;display:inline-flex}.icon-btn:hover{background:var(--color-bg-alt)}.icon-btn svg{width:20px;height:20px}.icon-btn .sun,:root[data-theme=dark] .icon-btn .moon{display:none}:root[data-theme=dark] .icon-btn .sun{display:block}.back-home-btn{z-index:50;border-radius:var(--radius-full);border:1px solid var(--color-border);background:color-mix(in oklch, var(--color-bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:44px;color:var(--color-accent);box-shadow:var(--shadow-1);align-items:center;gap:8px;padding-inline:18px 20px;text-decoration:none;transition:transform .2s ease-out,box-shadow .2s ease-out,background-color .2s ease-out;display:inline-flex;position:fixed;top:20px;left:20px}.back-home-btn svg{flex-shrink:0;width:18px;height:18px}.back-home-btn span{color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;font-size:.8125rem;font-weight:700}.back-home-btn:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.back-home-btn:active{transform:translateY(0)}@media (max-width:560px){.back-home-btn{padding-inline:12px;top:14px;left:14px}.back-home-btn span{display:none}}.mobile-nav-toggle{display:none}@media (max-width:860px){nav.primary-nav{display:none}.mobile-nav-toggle{display:inline-flex}.nav-actions .btn-primary.desktop-only,.nav-actions>.lang-toggle{display:none}}#mobile-menu{border-top:1px solid var(--color-border);padding:16px clamp(1.25rem,4vw,3rem) 24px;display:none}@media (max-width:860px){#mobile-menu.open{display:block}}#mobile-menu a:not(.btn){color:var(--color-fg);border-bottom:1px solid var(--color-border);min-height:44px;padding:12px 4px;font-weight:500;text-decoration:none;display:block}#mobile-menu .btn{margin-top:16px}.hero{height:calc(100vh - var(--nav-height));align-items:stretch;min-height:480px;padding-block:0;display:flex;position:relative;overflow:hidden}.hero-video-bg{background:var(--color-accent-soft);flex:35%;position:relative;overflow:hidden}.hero-video-bg:after{content:"";background:linear-gradient(to right, transparent 78%, var(--color-bg) 100%);position:absolute;inset:0}.hero-video{object-fit:cover;object-position:50% 6%;width:100%;height:100%;display:block}.hero-content{flex:65%;align-items:center;padding-inline:clamp(2rem,5vw,4.5rem);display:flex}.hero-copy{max-width:540px}.eyebrow{background:var(--color-accent-soft);color:var(--color-accent);border-radius:var(--radius-full);align-items:center;gap:8px;margin-bottom:20px;padding:6px 14px;font-size:.8125rem;font-weight:600;display:inline-flex}.hero h1{margin-bottom:20px}.hero .lede{color:var(--color-muted);margin-bottom:32px;font-size:clamp(1.0625rem,1rem + .3vw,1.1875rem)}.hero-ctas{flex-wrap:wrap;gap:14px;margin-bottom:18px;display:flex}.hero-support{color:var(--color-muted);align-items:center;gap:8px;font-size:.875rem;display:flex}.hero-support svg{width:16px;height:16px;color:var(--color-accent);flex-shrink:0}@media (max-width:900px){.hero{flex-direction:column;height:auto;min-height:0}.hero-content{padding-inline:var(--shell-pad);flex:none;order:1;padding-block:clamp(2.5rem,7vw,3.5rem) 0}.hero-copy{max-width:none}.hero-video-bg{aspect-ratio:9/16;border-radius:var(--radius-lg);width:clamp(200px,62vw,270px);box-shadow:var(--shadow-2);flex:none;order:2;margin:clamp(1.5rem,6vw,2.5rem) auto clamp(2.5rem,7vw,3.5rem)}.hero-video-bg:after{content:none}}.scroll-cue{color:var(--color-muted);flex-direction:column;align-items:center;gap:10px;text-decoration:none;transition:opacity .48s ease-out,transform .48s ease-out;display:flex;position:absolute;bottom:clamp(20px,4vh,40px);left:50%;transform:translate(-50%)}.scroll-cue.is-hidden{opacity:0;pointer-events:none;transform:translate(-50%)translateY(10px)}.scroll-cue:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px;border-radius:var(--radius-sm)}.scroll-cue-mouse{border:2px solid color-mix(in oklch, var(--color-muted) 60%, transparent);border-radius:var(--radius-full);justify-content:center;width:24px;height:38px;padding-top:6px;display:flex}.scroll-cue-wheel{border-radius:var(--radius-full);background:var(--color-accent);width:3px;height:7px;animation:1.8s cubic-bezier(.4,0,.2,1) infinite scroll-cue-wheel}@keyframes scroll-cue-wheel{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}70%{opacity:0;transform:translateY(9px)}to{opacity:0;transform:translateY(9px)}}.scroll-cue-label{letter-spacing:.22em;text-transform:uppercase;font-size:.6875rem;font-weight:600}@media (prefers-reduced-motion:reduce){.scroll-cue-wheel{opacity:.85;animation:none}}@media (max-width:900px){.scroll-cue{display:none}}.gift-page{background:linear-gradient(160deg, color-mix(in oklch, var(--theme-color,var(--color-accent)) 12%, var(--color-bg)), var(--color-bg) 65%);justify-content:center;align-items:center;min-height:100dvh;padding:0;display:flex}.gift-page .reveal-wrap{width:100%}.gift-page .reveal-card{aspect-ratio:auto;width:100%;height:100dvh;box-shadow:none;border:none;border-radius:0}.gift-page .reveal-card.opened .confetti-piece{animation-name:confetti-fall-full;animation-duration:2.2s}@keyframes confetti-fall-full{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(200deg)}}.gift-page.love-notes-vday{--vday-background:#fbf4f5;--vday-primary:#db7094;--vday-rose-glow:#f28cae;--vday-lavender:#d3b8e0;--vday-cream:#faf4eb;--vday-blush:#f5d6db;--vday-card:#faebed;--vday-gold:#e0b152;--vday-foreground:#42242e;--font-vday-display:"Dancing Script", cursive;--font-vday-body:"Quicksand", sans-serif;background:linear-gradient(180deg, var(--vday-background), var(--vday-blush), var(--vday-cream));position:relative;overflow:hidden}.floating-hearts{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.floating-heart{color:var(--vday-primary);opacity:.25;animation:linear infinite heart-rise;position:absolute;bottom:-40px}@keyframes heart-rise{0%{opacity:.15;transform:translateY(0)rotate(0)}50%{opacity:.35}to{opacity:0;transform:translateY(-110vh)rotate(360deg)}}.gift-page.love-notes-vday .reveal-wrap{z-index:1;position:relative}.gift-page.love-notes-vday .reveal-card{padding:clamp(24px, calc(5 * var(--gift-unit)), 48px);background:0 0}.gift-page.love-notes-vday .envelope-heading{font-family:var(--font-vday-display);font-style:normal;font-weight:700;font-size:clamp(2.5rem, calc(6 * var(--gift-unit)), 4rem);background:linear-gradient(135deg, var(--vday-primary), var(--vday-rose-glow), var(--vday-lavender));color:#0000;margin-bottom:clamp(24px, calc(4 * var(--gift-unit)), 40px);-webkit-background-clip:text;background-clip:text;line-height:1.15}.gift-page.love-notes-vday .envelope-vday{z-index:0;width:min(320px, calc(78 * var(--gift-unit)));height:min(224px, calc(54 * var(--gift-unit)));margin-top:clamp(60px, calc(20 * var(--gift-unit)), 96px);cursor:pointer;filter:drop-shadow(0 14px 26px #b851703d)drop-shadow(0 0 44px #f39bb242);animation:3s ease-in-out infinite envelope-float;position:relative}@keyframes envelope-float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.gift-page.love-notes-vday .reveal-card.opened .envelope-vday{animation:none}.gift-page.love-notes-vday .envelope-back{z-index:0;background:linear-gradient(160deg,#e486a1,#d3698c);border-radius:0 0 12px 12px;position:absolute;inset:0}.gift-page.love-notes-vday .envelope-front{z-index:1;isolation:isolate;background:linear-gradient(165deg,#e88da5,#dd7897 60%,#d46e90);border-radius:0 0 12px 12px;position:absolute;inset:0;overflow:hidden}.gift-page.love-notes-vday .reveal-card.opened .envelope-front{overflow:visible}.gift-page.love-notes-vday .envelope-front:before{content:"";z-index:0;opacity:0;background:linear-gradient(#fdf4e6 0%,#fbe9d1 30%,#eebfcb 62%,#e298ae 100%);transition:opacity .38s ease-out .32s;position:absolute;inset:0}.gift-page.love-notes-vday .envelope-front:after{content:"";z-index:1;pointer-events:none;opacity:0;background:repeating-conic-gradient(from 182deg at 50% 62%,#fef6dc33 0deg 1.6deg,#0000 1.6deg 8deg),radial-gradient(52% 46% at 50% 56%,#fffdf5 0%,#fef3d7cc 22%,#fbe7c157 46%,#edb6c400 74%);height:72%;transition:opacity .62s ease-out .4s;position:absolute;top:2%;left:4%;right:4%;-webkit-mask:radial-gradient(60% 56% at 50% 56%,#000 0% 30%,#0000 78%);mask:radial-gradient(60% 56% at 50% 56%,#000 0% 30%,#0000 78%)}.gift-page.love-notes-vday .reveal-card.opened .envelope-front:before,.gift-page.love-notes-vday .reveal-card.opened .envelope-front:after{opacity:1}.gift-page.love-notes-vday .envelope-flap-vday{z-index:2;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);backface-visibility:visible;filter:drop-shadow(0 2px 3px #913b5629);will-change:transform;background:linear-gradient(#ef9fb3 0%,#e486a1 58%,#da7796 100%);height:50%;transition:transform .9s cubic-bezier(.5,0,.22,1),filter .7s ease-in-out;position:absolute;top:0;left:0;right:0;transform:perspective(1100px)rotateX(0);box-shadow:inset 0 1px #ffffff2e}.gift-page.love-notes-vday .reveal-card.opened .envelope-flap-vday{filter:drop-shadow(0 -6px 14px #6e2b4047)brightness(.98);transform:perspective(1100px)rotateX(173deg)}.gift-page.love-notes-vday .envelope-fold{z-index:3;clip-path:polygon(0% 0%,50% 52%,100% 0%,100% 100%,0% 100%);background:linear-gradient(200deg,#d97895,#c95e84);position:absolute;inset:0}.gift-page.love-notes-vday .envelope-fold:after{content:"";clip-path:polygon(0% 100%,50% 52%,100% 100%);background:linear-gradient(#c0547800,#bd4c7647);position:absolute;inset:0}.gift-page.love-notes-vday .envelope-to-label{max-width:78%;font-family:var(--font-vday-display);font-size:clamp(1.0625rem, calc(2.375 * var(--gift-unit)), 1.25rem);color:#6f3348;text-shadow:0 1px #ffffff40;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;font-weight:700;position:absolute;top:24%;left:50%;overflow:hidden;transform:translate(-50%,-50%)rotate(-3deg)}.gift-page.love-notes-vday .envelope-seal-vday{z-index:4;justify-content:center;align-items:center;width:30px;height:30px;animation:1.6s ease-in-out infinite seal-pulse;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-4deg)}.gift-page.love-notes-vday .envelope-seal-vday-icon{color:#a1546d;filter:drop-shadow(0 2px 2px #57233547);width:100%;height:100%;transform:rotate(4deg)}@keyframes seal-pulse{0%,to{transform:translate(-50%,-50%)rotate(-4deg)scale(1)}50%{transform:translate(-50%,-50%)rotate(-4deg)scale(1.08)}}.gift-page.love-notes-vday .reveal-card.opened .envelope-seal-vday,.gift-page.love-notes-vday .reveal-card.opened .envelope-to-label{opacity:0;transition:opacity .32s ease-out;animation:none}.gift-page.love-notes-vday .envelope-sparkle{z-index:4;color:var(--vday-gold);font-size:.875rem;animation:2s ease-in-out infinite sparkle-twinkle;position:absolute}.gift-page.love-notes-vday .envelope-sparkle:nth-child(4){top:8%;left:12%}.gift-page.love-notes-vday .envelope-sparkle:nth-child(5){bottom:22%;left:6%}.gift-page.love-notes-vday .envelope-sparkle:nth-child(6){bottom:12%;right:14%}.gift-page.love-notes-vday .envelope-sparkle:nth-child(7){top:42%;left:-4%}.gift-page.love-notes-vday .envelope-sparkle:nth-child(8){top:38%;right:-2%}@keyframes sparkle-twinkle{0%,to{opacity:0;transform:scale(0)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}}.gift-page.love-notes-vday .envelope-reveal .reveal-message{top:clamp(16px, calc(4.5 * var(--gift-unit)), 40px);bottom:clamp(32px, calc(8 * var(--gift-unit)), 64px);background-color:#fff9f2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.38 0 0 0 0 0.29 0 0 0 0 0.25 0 0 0 0.05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:140px 140px;border:1px solid #d194a82e;border-radius:12px;width:min(99%,660px);padding:0;transition:transform .55s cubic-bezier(.34,1.2,.64,1);left:50%;right:auto;transform:translate(-50%,40px)scale(.88);box-shadow:0 24px 56px -24px #85475c29,0 6px 20px -8px #3b302b14}.gift-page.love-notes-vday .envelope-reveal.reveal-card.opened .reveal-message{transform:translate(-50%)scale(1)}.gift-page.love-notes-vday .envelope-reveal.opened.stage-letter .reveal-message{flex-direction:column;width:min(99%,660px);margin:4vh auto 8vh;padding-left:0;padding-right:0;display:flex;position:relative;inset:auto;transform:none}.gift-page.love-notes-vday .envelope-reveal.opened.stage-letter .reveal-message:has(.letter-body-placeholder){min-height:38vh}.gift-page.love-notes-vday .envelope-reveal.opened.stage-letter .letter-content{flex-direction:column;flex:1 0 auto;height:auto;display:flex;overflow-y:visible}.gift-page.love-notes-vday .envelope-reveal.opened.stage-letter .letter-signoff{margin-top:auto}.gift-page.love-notes-vday .envelope-reveal.opened.stage-letter .reveal-message{transform-origin:50%;will-change:transform, opacity;animation:1.2s cubic-bezier(.16,.8,.28,1) both vday-letter-emerge}.gift-page.love-notes-vday .envelope-reveal.opened.stage-letter .envelope-vday{pointer-events:none;will-change:transform, opacity;animation:1.1s cubic-bezier(.22,.7,.28,1) .18s both vday-envelope-hide}@keyframes vday-envelope-hide{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-34px)scale(.9)}}@keyframes vday-letter-emerge{0%{opacity:0;transform:scale(.12)}26%{opacity:1}to{opacity:1;transform:scale(1)}}.gift-page.love-notes-vday .reveal-card.opened.stage-letter .reveal-ribbon{opacity:0;transform-origin:50%;transition:opacity .64s ease-out .24s,transform .76s cubic-bezier(.4,0,.2,1) .24s;transform:scale(.16)}.gift-page.love-notes-vday .envelope-reveal .reveal-message:before,.gift-page.love-notes-vday .envelope-reveal .reveal-message:after{background:linear-gradient(90deg,#0000,#da819e8c,#0000);height:3px}.gift-page.love-notes-vday:has(.stage-letter) .floating-hearts{opacity:.35;transition:opacity .5s ease-out}.gift-page.love-notes-vday .letter-content{padding:clamp(16px, calc(3.4 * var(--gift-unit)), 32px) clamp(10px, calc(2 * var(--gift-unit)), 18px) clamp(24px, calc(5 * var(--gift-unit)), 40px)}.gift-page.love-notes-vday .letter-greeting{font-family:var(--font-vday-display);font-style:normal;font-weight:500;font-size:clamp(1.5rem, calc(2.9 * var(--gift-unit)), 1.7rem);background:linear-gradient(135deg, var(--vday-primary), var(--vday-rose-glow));color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:10px}.gift-page.love-notes-vday .letter-content .msg-title{font-family:var(--font-vday-display);font-weight:500;font-size:clamp(.9rem, calc(1.9 * var(--gift-unit)), 1.05rem);color:#c9748a;text-align:left;margin-bottom:12px}.gift-page.love-notes-vday .letter-body p{font-family:var(--font-vday-body);color:#655458;font-size:.8125rem;font-weight:400;line-height:1.7}.gift-page.love-notes-vday .letter-body-placeholder p{font-size:.9375rem}.gift-page.love-notes-vday .letter-signoff{font-family:var(--font-vday-display);font-style:normal;font-weight:500;font-size:clamp(1rem, calc(2.3 * var(--gift-unit)), 1.15rem);color:var(--vday-primary)}.gift-page.love-notes-vday .letter-hint,.gift-page.love-notes-vday .reveal-hint,.gift-page.love-notes-vday .flip-card-hint{font-family:var(--font-vday-body);color:#c9748a;opacity:.75}.gift-page.love-notes-vday .reveal-cardflip .envelope-heading{text-align:center;font-size:clamp(1.625rem, calc(3.8 * var(--gift-unit)), 2.375rem);display:block}.gift-page.love-notes-vday .flip-card{width:min(288px, calc(72 * var(--gift-unit)));height:min(384px, calc(96 * var(--gift-unit)))}.gift-page.love-notes-vday .heart-burst{top:calc(50% - 90px)}.gift-page.love-notes-vday .flip-card-front,.gift-page.love-notes-vday .flip-card-back{padding:clamp(20px, calc(4 * var(--gift-unit)), 28px);background:linear-gradient(145deg, var(--vday-card), var(--vday-blush));border-color:#db709433;border-radius:16px;box-shadow:0 8px 32px -8px #db709440,0 4px 16px -4px #f28cae26}.gift-page.love-notes-vday .flip-card-icon{color:#df4f70;width:49px;height:49px}.gift-page.love-notes-vday .flip-card-title{font-family:var(--font-vday-display);font-style:normal;font-weight:700;font-size:clamp(1.5rem, calc(3.4 * var(--gift-unit)), 1.9375rem);text-wrap:balance;color:var(--vday-primary);line-height:1.25}.gift-page.love-notes-vday .flip-heading-heart{color:#c9748a;vertical-align:.08em;font-size:.62em}.gift-page.love-notes-vday .flip-card-caption{font-family:var(--font-vday-display);font-size:clamp(1.125rem, calc(2.4 * var(--gift-unit)), 1.25rem);color:#704d58;margin-top:-84px;line-height:1.35}.gift-page.love-notes-vday .see-memories-btn{font-family:var(--font-vday-body);font-weight:600;font-size:clamp(.8rem, calc(1.8 * var(--gift-unit)), .9rem);color:var(--vday-cream);background:linear-gradient(135deg, var(--vday-primary), color-mix(in oklch, var(--vday-primary) 60%, white));box-shadow:0 7px 18px -8px color-mix(in oklch, var(--vday-primary) 36%, transparent), 0 2px 6px -2px color-mix(in oklch, var(--vday-primary) 26%, transparent);padding:7px 16px}@media (hover:hover) and (pointer:fine){.gift-page.love-notes-vday .reveal-card:hover .see-memories-btn{box-shadow:0 10px 21px -8px color-mix(in oklch, var(--vday-primary) 41%, transparent), 0 3px 8px -2px color-mix(in oklch, var(--vday-primary) 30%, transparent)}}.gift-page.love-notes-vday .reveal-photos{top:calc(-1 * clamp(24px, calc(5 * var(--gift-unit)), 48px));right:calc(-1 * clamp(24px, calc(5 * var(--gift-unit)), 48px));bottom:calc(-1 * clamp(24px, calc(5 * var(--gift-unit)), 48px));left:calc(-1 * clamp(24px, calc(5 * var(--gift-unit)), 48px))}.gift-page.love-notes-vday .reveal-photos-signoff{font-family:var(--font-vday-display);font-style:normal;font-weight:600;font-size:clamp(1.375rem, calc(3.8 * var(--gift-unit)), 2.125rem);background:linear-gradient(135deg, var(--vday-primary), var(--vday-rose-glow), var(--vday-lavender));color:#0000;-webkit-background-clip:text;background-clip:text;line-height:1.25;animation:2.6s ease-in-out infinite signoff-zoom}@keyframes signoff-zoom{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.gift-page.love-notes-vday .reveal-photo-frame{border-color:#db709433;border-radius:12px;box-shadow:0 8px 32px -8px #db709440,0 4px 16px -4px #f28cae26}.gift-page.love-notes-vday .reveal-photos-content{gap:clamp(10px, calc(2.5 * var(--gift-unit)), 18px);padding-top:clamp(48px, calc(11 * var(--gift-unit)), 76px)}.gift-page.love-notes-vday .reveal-photos-content .envelope-heading{font-size:clamp(1.55rem, calc(3.8 * var(--gift-unit)), 2.4rem);margin-bottom:0}.gift-page.love-notes-vday .reveal-photos-grid{align-items:center;gap:clamp(16px, calc(4 * var(--gift-unit)), 28px);flex-direction:column;width:100%;max-width:460px;padding:2px 0 0;display:flex}.gift-page.love-notes-vday .photo-polaroid{background:var(--vday-card);width:74%;transform:translateY(24px) rotate(calc(var(--rot,0deg) - 3.5deg)) scale(.975);border-color:#db709426;border-radius:4px;align-self:center;padding:6px 6px 20px;transition:opacity .64s ease-out,transform .68s cubic-bezier(.22,.61,.36,1),box-shadow .25s ease-out;box-shadow:0 16px 32px -16px #9b3b5b6b,0 4px 12px -5px #43342d21}.gift-page.love-notes-vday .photo-polaroid.in-view{opacity:1;transform:translateY(0) rotate(var(--rot,0deg)) scale(1)}.gift-page.love-notes-vday .photo-polaroid:nth-child(3n+1){width:clamp(72%, calc(20 * var(--gift-unit)), 80%);--rot:-2deg}.gift-page.love-notes-vday .photo-polaroid:nth-child(6n+1){--rot:2.25deg;margin-left:6%}.gift-page.love-notes-vday .photo-polaroid:nth-child(6n+4){--rot:-2.5deg;margin-right:6%}.gift-page.love-notes-vday .photo-polaroid:nth-child(3n+2){width:53%;margin-left:clamp(4px, calc(1.6 * var(--gift-unit)), 14px);--rot:-3.5deg;align-self:flex-start}.gift-page.love-notes-vday .photo-polaroid:nth-child(3n+3){width:50%;margin-right:clamp(4px, calc(1.6 * var(--gift-unit)), 14px);margin-top:clamp(-44px, calc(-10 * var(--gift-unit)), -24px);--rot:3.5deg;z-index:1;align-self:flex-end}.gift-page.love-notes-vday .reveal-photos .reveal-photos-grid>.photo-polaroid:last-child{width:clamp(70%, calc(19 * var(--gift-unit)), 78%);align-self:center;margin-top:0;margin-left:0;margin-right:0}@media (hover:hover) and (pointer:fine){.gift-page.love-notes-vday .photo-polaroid.in-view:hover{z-index:2;transform:translateY(-4px)rotate(0)scale(1.06);box-shadow:0 20px 38px -16px #9b3b5b80,0 5px 14px -5px #43342d29}}.gift-page.love-notes-vday .photo-polaroid img{border-radius:2px}.gift-page.love-notes-vday .reveal-closing-inner{gap:clamp(12px, calc(3 * var(--gift-unit)), 18px)}.gift-page.love-notes-vday .reveal-closing-line,.gift-page.love-notes-vday .reveal-closing-signoff{font-family:var(--font-vday-display);font-style:normal;font-weight:600;font-size:clamp(1.5rem, calc(4 * var(--gift-unit)), 2.125rem);background:linear-gradient(135deg, var(--vday-primary), var(--vday-rose-glow), var(--vday-lavender));color:#0000;-webkit-background-clip:text;background-clip:text;line-height:1.3}.gift-page.love-notes-vday .reveal-closing-signoff{margin-top:clamp(28px, calc(8 * var(--gift-unit)), 56px)}.gift-page.love-notes-vday .confetti-piece{color:var(--vday-primary)}.gift-page.love-notes-vday .envelope-ambient{display:none}.gift-page.birthday-confetti{--bday-cream:#fbf7ee;--bday-cream-deep:#f3e6d8;--bday-coral:#ea6657;--bday-coral-deep:#c03530;--bday-red:#df362a;--bday-gold:#f3c049;--bday-ink:#4d372d;--bday-card:#fefdfb;--bday-char-mid:var(--bday-coral);background:linear-gradient(170deg, var(--bday-cream), var(--bday-cream-deep));color:var(--bday-ink);overflow:hidden}.gift-page.birthday-confetti .reveal-card{background:0 0}.birthday-reveal .stage{overflow:hidden}.bday-open{justify-content:center;align-items:center;gap:clamp(14px, calc(3.5 * var(--gift-unit)), 24px);text-align:center;flex-direction:column;padding:24px;transition:opacity .4s ease-out,transform .4s ease-out;display:flex;position:absolute;inset:0}.birthday-reveal.opened .bday-open{opacity:0;pointer-events:none;transform:scale(.94)}.bday-giftbox{width:clamp(140px, calc(40 * var(--gift-unit)), 208px);aspect-ratio:1;transform-origin:50% 90%;position:relative}.birthday-reveal:not(.opened) .bday-giftbox{animation:2.4s ease-in-out 1s infinite bday-box-idle}@keyframes bday-box-idle{0%,to{transform:translateY(0)rotate(0)}30%{transform:translateY(-5px)rotate(-2.2deg)}60%{transform:translateY(-2px)rotate(2.2deg)}}.bday-giftbox-body{background:linear-gradient(160deg, var(--bday-coral), var(--bday-coral-deep));border-radius:8px;height:62%;position:absolute;bottom:0;left:6%;right:6%;box-shadow:0 14px 30px -14px #a335298c}.bday-giftbox-lid{background:linear-gradient(160deg, #ea7466, var(--bday-coral-deep));border-radius:6px;height:16%;transition:transform .52s cubic-bezier(.34,1.56,.64,1),opacity .4s ease-out;position:absolute;top:30%;left:0;right:0}.bday-giftbox-ribbon-v{background:var(--bday-gold);border-radius:2px;position:absolute;inset:30% 45% 0}.bday-giftbox-ribbon-h{background:var(--bday-gold);height:8%;transition:transform .52s cubic-bezier(.34,1.56,.64,1),opacity .4s ease-out;position:absolute;top:34%;left:0;right:0}.bday-giftbox-bow{width:46%;height:22%;transition:transform .52s cubic-bezier(.34,1.56,.64,1),opacity .4s ease-out;position:absolute;top:30%;left:50%;transform:translate(-50%,-70%)}.bday-giftbox-bow:before,.bday-giftbox-bow:after{content:"";border:4px solid var(--bday-gold);border-radius:60% 60% 40% 40%;width:52%;height:100%;position:absolute;top:0}.bday-giftbox-bow:before{left:0;transform:rotate(-16deg)}.bday-giftbox-bow:after{right:0;transform:rotate(16deg)}.birthday-reveal.opened .bday-giftbox-lid{opacity:0;transform:translateY(-160%)rotate(-18deg)}.birthday-reveal.opened .bday-giftbox-ribbon-h{opacity:0;transform:translateY(-160%)}.birthday-reveal.opened .bday-giftbox-bow{opacity:0;transform:translate(-50%,-220%)rotate(12deg)}.birthday-reveal:not(.opened) .bday-giftbox-lid,.birthday-reveal:not(.opened) .bday-giftbox-ribbon-h{animation:.95s cubic-bezier(.16,1,.3,1) both bday-lid-drop}.birthday-reveal:not(.opened) .bday-giftbox-bow{animation:.95s cubic-bezier(.16,1,.3,1) 70ms both bday-bow-drop}@keyframes bday-lid-drop{0%{opacity:0;transform:translateY(-240px)}12%{opacity:1}to{opacity:1;transform:translateY(0)}}@keyframes bday-bow-drop{0%{opacity:0;transform:translate(-50%,-70%)translateY(-240px)}12%{opacity:1}to{opacity:1;transform:translate(-50%,-70%)}}.bday-open-heading{font-family:var(--font-playful);font-size:clamp(1rem, calc(2.6 * var(--gift-unit)), 1.2rem);color:var(--bday-ink);max-width:22ch;font-weight:600}.bday-open-btn{background:var(--bday-coral);color:var(--bday-cream);font-family:var(--font-playful);border-radius:999px;padding:10px 22px;font-size:.95rem;font-weight:700;animation:2s ease-in-out infinite bday-pulse;display:inline-block;box-shadow:0 10px 24px -10px #b83c2e99}@keyframes bday-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}.bday-stagebox{position:absolute;inset:0}.bday-stage{justify-content:center;align-items:center;gap:clamp(10px, calc(2.6 * var(--gift-unit)), 18px);padding:clamp(18px, calc(4.2 * var(--gift-unit)), 36px) clamp(6px, calc(1.6 * var(--gift-unit)), 14px);text-align:center;opacity:0;pointer-events:none;flex-direction:column;transition:opacity .46s ease-out,transform .46s ease-out;display:flex;position:absolute;inset:0;transform:translateY(10px)scale(.98)}.birthday-reveal.bstage-greeting .bday-stage-greeting,.birthday-reveal.bstage-photos .bday-stage-photos,.birthday-reveal.bstage-message .bday-stage-message,.birthday-reveal.bstage-memory .bday-stage-memory,.birthday-reveal.bstage-wish .bday-stage-wish,.birthday-reveal.bstage-finale .bday-stage-finale{opacity:1;pointer-events:auto;transform:none}.bday-greeting{z-index:1;flex-direction:column;align-items:center;margin:0;line-height:1;display:flex;position:relative;transform:rotate(-1deg)}.bday-greeting-lead{font-family:Dancing Script,Pacifico,cursive;font-weight:600;font-size:clamp(2.4rem, calc(7 * var(--gift-unit)), 3.8rem);color:var(--bday-coral);z-index:2;margin-bottom:-.12em;transform:rotate(-4deg)}.bday-greeting-emph{font-family:var(--font-display);font-weight:700;font-size:clamp(3.9rem, calc(12 * var(--gift-unit)), 7rem);letter-spacing:-.02em;color:var(--bday-coral-deep);text-shadow:2px 3px #f7ead4,5px 8px 12px #9e392e38}.bday-greeting-name{font-family:Pacifico,Dancing Script,cursive;font-weight:400;font-size:clamp(2.9rem, calc(9.2 * var(--gift-unit)), 5.8rem);color:var(--bday-coral);z-index:2;margin-top:-.16em;transform:rotate(-2deg)}.bday-greeting-envelope{width:clamp(156px, calc(44 * var(--gift-unit)), 244px);aspect-ratio:7/5;margin-top:clamp(14px, calc(3.4 * var(--gift-unit)), 26px);filter:drop-shadow(0 14px 24px #9b3c3138);animation:4.2s ease-in-out infinite bday-greeting-envelope-bob;display:block;position:relative}.bday-greeting-envelope-body{background:linear-gradient(165deg, var(--bday-cream), var(--bday-cream-deep));border:1.5px solid #d5c0ae;border-radius:8px;position:absolute;inset:0}.bday-greeting-envelope-flap{background:linear-gradient(160deg, #eb786b, var(--bday-coral));clip-path:polygon(0 0,100% 0,50% 100%);border-radius:8px 8px 0 0;height:62%;position:absolute;top:0;left:0;right:0}.bday-greeting-envelope-seal{aspect-ratio:1;background:var(--bday-gold);border-radius:50%;width:15%;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 -2px 4px -2px #af7e1d80}@keyframes bday-greeting-envelope-bob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-6px)rotate(1deg)}}.bday-greeting-hint{font-family:var(--font-playful);font-size:clamp(.9rem, calc(2.1 * var(--gift-unit)), 1.05rem);color:#9d554d;margin:clamp(6px, calc(1.6 * var(--gift-unit)), 12px) 0 0;max-width:24ch}.bday-floaters{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bday-floaters-soft{opacity:.55}.bday-floater{color:var(--bday-gold);animation:bday-float var(--float-dur,5s) ease-in-out infinite;place-items:center;font-size:.8em;display:grid;position:absolute}.bday-floater-balloon{background:radial-gradient(circle at 34% 30%, #f39186, var(--bday-coral) 70%);border-radius:50% 50% 48% 48%/46% 46% 54% 54%;box-shadow:inset -3px -4px 6px #a6343059}.bday-floater-balloon:after{content:"";background:#ba615e99;width:1px;height:14px;position:absolute;top:100%}.bday-floater-star{background:var(--bday-gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 4px #f6c65599)}@keyframes bday-float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-12px)rotate(4deg)}}.bday-stage-heading{font-family:Dancing Script,Pacifico,cursive;font-weight:600;font-size:clamp(2rem, calc(5.6 * var(--gift-unit)), 3.2rem);color:var(--bday-coral);transform:translateY(clamp(-24px, calc(-5 * var(--gift-unit)), -8px)) rotate(-4deg);margin:0;line-height:1}.birthday-reveal .bday-stage-message{padding-left:clamp(4px, calc(1.1 * var(--gift-unit)), 9px);padding-right:clamp(4px, calc(1.1 * var(--gift-unit)), 9px)}.bday-letter-combo{justify-content:flex-start;align-items:center;gap:clamp(6px, calc(1.4 * var(--gift-unit)), 14px);flex-wrap:nowrap;width:100%;max-width:620px;max-height:100%;margin-inline:auto;display:flex}.bday-letter{flex:1;min-width:0;position:relative}.bday-letter-confetti{opacity:.85;pointer-events:none;z-index:1;border-radius:1.5px;width:7px;height:7px;position:absolute}.bday-letter-confetti.c1{background:var(--bday-coral);top:-12px;left:24%;transform:rotate(24deg)}.bday-letter-confetti.c2{background:var(--bday-gold);width:6px;height:6px;bottom:22%;left:-13px;transform:rotate(-16deg)}.bday-letter-confetti.c3{background:var(--bday-coral-deep);border-radius:50%;width:5px;height:5px;bottom:-11px;left:40%}.bday-letter-music{left:clamp(-12px, calc(-2 * var(--gift-unit)), -2px);bottom:clamp(-22px, calc(-3.8 * var(--gift-unit)), -10px);color:var(--bday-coral);opacity:.92;z-index:1;line-height:0;position:absolute;transform:rotate(-6deg)}.bday-letter-music svg{width:clamp(46px, calc(12 * var(--gift-unit)), 68px);height:auto;display:block}.bday-letter-sheet{padding:clamp(13px, calc(3.2 * var(--gift-unit)), 22px);filter:drop-shadow(0 22px 46px #a63c304d);position:relative;transform:rotate(-1.2deg)}.bday-letter-sheet:before{content:"";z-index:0;background:var(--bday-card);filter:url(#bday-paper-edge);position:absolute;inset:0}.bday-letter-sheet>*{z-index:1;position:relative}.bday-letter-stars{pointer-events:none;z-index:0;position:absolute;inset:0}.bday-letter-star{color:var(--bday-gold);pointer-events:none;animation:bday-letter-star-twinkle var(--star-dur,3.8s) ease-in-out infinite;font-size:13px;line-height:1;position:absolute}@keyframes bday-letter-star-twinkle{0%,to{opacity:.4;transform:scale(.8)rotate(-6deg)}50%{opacity:1;transform:scale(1.14)rotate(9deg)}}.bday-polaroids{align-items:center;gap:clamp(8px, calc(2 * var(--gift-unit)), 14px);width:clamp(88px, calc(23 * var(--gift-unit)), 128px);z-index:2;flex-direction:column;flex:none;display:flex}.bday-polaroid{background:#fff;border-radius:3px;width:100%;padding:5px 5px 15px;box-shadow:0 12px 24px -12px #7a31296b}.bday-polaroid-1{transform:rotate(4deg)}.bday-polaroid-2{transform:rotate(-4deg)}.bday-polaroid-3{transform:rotate(3deg)}.bday-polaroid img{aspect-ratio:1;object-fit:cover;border-radius:2px;width:100%;display:block}@media (max-width:560px){.bday-letter-combo{flex-wrap:wrap}.bday-polaroids{flex-flow:wrap;justify-content:center;width:100%;margin:-6px 0 0}.bday-polaroids .bday-polaroid{width:clamp(96px,40%,140px)}}.device-frame-mobile .bday-letter-combo{flex-wrap:nowrap}.device-frame-mobile .bday-polaroids{width:clamp(72px, calc(19.5 * var(--gift-unit)), 104px);flex-flow:column;margin:0}.device-frame-mobile .bday-polaroids .bday-polaroid{width:100%}.bday-card-title{font-family:var(--font-playful);font-weight:700;font-size:clamp(.9rem, calc(2.2 * var(--gift-unit)), 1.05rem);color:var(--bday-coral-deep);margin:0 0 10px}.bday-card-body p{font-family:var(--font-playful);font-size:clamp(.85rem, calc(2.15 * var(--gift-unit)), 1rem);color:var(--bday-ink);margin:0 0 8px;line-height:1.55}.bday-card-body p:last-child{margin-bottom:0}.bday-card-signoff{font-family:var(--font-display);font-style:italic;font-size:clamp(.8rem, calc(1.85 * var(--gift-unit)), .9rem);color:var(--bday-coral-deep);margin:18px 0 0}.bday-word{white-space:nowrap}.bday-char{opacity:0}.birthday-reveal.bstage-message .bday-char{animation:.42s ease-out both bday-char-in}@keyframes bday-char-in{0%{opacity:0}1%{color:var(--bday-char-mid);opacity:1}45%{color:var(--bday-char-mid);opacity:1}to{color:inherit;opacity:1}}.bday-stage-memory{padding-top:clamp(24px, calc(6 * var(--gift-unit)), 52px);justify-content:flex-start}.bday-memory-heading{font-family:var(--font-display);font-weight:800;font-size:clamp(1.15rem, calc(3 * var(--gift-unit)), 1.55rem);color:var(--bday-coral-deep);z-index:1;max-width:22ch;margin:0;line-height:1.25}.bday-memory-stack{min-height:0;padding-block:clamp(6px, calc(1.8 * var(--gift-unit)), 14px);flex:1;justify-content:center;align-self:stretch;align-items:stretch;display:flex;overflow:visible}.bday-filmstrip{justify-content:center;align-items:stretch;gap:clamp(8px, calc(2.4 * var(--gift-unit)), 16px);flex-direction:row;display:flex}.birthday-reveal.bstage-memory .bday-filmstrip{animation:.72s cubic-bezier(.16,1,.3,1) both bday-filmstrip-in}@keyframes bday-filmstrip-in{0%{opacity:0;transform:translateY(30px)scale(.94)}to{opacity:1;transform:none}}.bday-filmstrip-col{gap:clamp(4px, calc(1.1 * var(--gift-unit)), 7px);width:clamp(120px, calc(33 * var(--gift-unit)), 164px);padding:clamp(8px, calc(2.2 * var(--gift-unit)), 13px) clamp(13px, calc(3.6 * var(--gift-unit)), 20px);background:var(--bday-ink);filter:drop-shadow(0 4px 9px #772b2238)drop-shadow(0 13px 28px #6b2b2424);height:calc(100% - clamp(16px, calc(4.5 * var(--gift-unit)), 34px));border-radius:4px;flex-direction:column;display:flex;position:relative}.bday-filmstrip-col:nth-child(odd){align-self:flex-end;transform:rotate(-2.5deg)}.bday-filmstrip-col:nth-child(2n){align-self:flex-start;transform:rotate(2.5deg)}.bday-filmstrip[data-cols="1"] .bday-filmstrip-col{width:clamp(196px, calc(56 * var(--gift-unit)), 292px);align-self:center;height:auto;transform:rotate(-2deg)}.bday-filmstrip[data-cols="1"]{align-items:center}.bday-filmstrip[data-cols="1"] .bday-filmstrip-frame{flex:none}.bday-filmstrip[data-cols="1"] .bday-filmstrip-frame>img{aspect-ratio:1;height:auto;max-height:none}.bday-filmstrip-col:before,.bday-filmstrip-col:after{content:"";background-image:radial-gradient(circle at 50% 3.2px, var(--bday-cream) 0 2.1px, transparent 2.6px);background-repeat:repeat-y;background-size:100% 11px;width:6px;position:absolute;top:7px;bottom:7px}.bday-filmstrip-col:before{left:4px}.bday-filmstrip-col:after{right:4px}.bday-filmstrip-frame{min-height:0;padding:clamp(3px, calc(.9 * var(--gift-unit)), 5px);background:#f4ede1;border-radius:2px;flex:1 1 0;position:relative;overflow:hidden}.bday-filmstrip-frame>img{width:100%;height:100%;min-height:clamp(40px, calc(11 * var(--gift-unit)), 72px);max-height:clamp(132px, calc(38 * var(--gift-unit)), 200px);object-fit:cover;opacity:0;will-change:opacity, transform;border-radius:1px;transition:opacity .62s,transform .72s cubic-bezier(.16,1,.3,1);display:block;transform:scale(1.06)}.bday-filmstrip-frame.placed>img{opacity:1;transform:scale(1)}.bday-memory-closer{font-family:var(--font-display);font-style:italic;font-size:clamp(.95rem, calc(2.3 * var(--gift-unit)), 1.1rem);color:var(--bday-coral-deep);margin:0 0 clamp(22px, calc(6 * var(--gift-unit)), 44px);opacity:0;z-index:1;transition:opacity .52s ease-out,transform .52s cubic-bezier(.16,1,.3,1);transform:translateY(8px)}.bday-memory-closer[data-shown=true]{opacity:1;transform:none}.bday-stage-wish{padding-bottom:clamp(44px, calc(13 * var(--gift-unit)), 96px)}.bday-candle{appearance:none;cursor:pointer;background:0 0;border:none;padding:16px;display:block}.bday-candle:focus-visible{outline:2px solid var(--bday-coral-deep);outline-offset:4px;border-radius:10px}.bday-cake{width:clamp(220px, calc(68 * var(--gift-unit)), 340px);padding-top:clamp(26px, calc(6.5 * var(--gift-unit)), 42px);margin:0 auto;display:block;position:relative}.birthday-reveal.bstage-wish .bday-cake{transform-origin:50% 74%;animation:1.5s cubic-bezier(.16,1,.3,1) both bday-cake-settle}@keyframes bday-cake-settle{0%{opacity:0;transform:scale(1.3)}22%{opacity:1}to{opacity:1;transform:scale(1)}}.bday-cake>img{filter:drop-shadow(0 14px 22px #93392f33);width:100%;height:auto;display:block}.bday-candle-stick{left:50%;top:clamp(6px, calc(1.5 * var(--gift-unit)), 18px);width:clamp(15px, calc(3.8 * var(--gift-unit)), 20px);height:clamp(46px, calc(10.5 * var(--gift-unit)), 66px);background:repeating-linear-gradient(-45deg, var(--bday-coral) 0 6px, #f9eedc 6px 12px);border-radius:5px;display:block;position:absolute;transform:translate(-50%);box-shadow:inset 0 -6px 9px -5px #a3352966}.birthday-reveal.bstage-wish .bday-candle-stick{animation:1.3s cubic-bezier(.16,1,.3,1) .16s both bday-candle-drop}@keyframes bday-candle-drop{0%{opacity:0;transform:translate(-50%)translateY(-320px)}14%{opacity:1}to{opacity:1;transform:translate(-50%)translateY(0)}}.bday-candle-stick:after{content:"";background:var(--bday-ink);width:2px;height:6px;position:absolute;top:-5px;left:50%;transform:translate(-50%)}.bday-candle-flame{transform-origin:bottom;filter:drop-shadow(0 0 5px #ffd166e6)drop-shadow(0 0 12px #ffad3399)drop-shadow(0 0 22px #ff8c1a59);background:radial-gradient(at 50% 78%,#fffbeb 0%,#ffe8a3 24%,#ffc552 52%,#fb8823 82%,#f5510a 100%);border-radius:50% 50% 45% 45%/72% 72% 40% 40%;width:11px;height:18px;transition:opacity .26s ease-out,transform .26s ease-out;animation:.78s ease-in-out infinite alternate bday-flicker;position:absolute;top:-19px;left:50%;transform:translate(-50%)}.bday-candle-flame:before{content:"";pointer-events:none;background:radial-gradient(circle,#ffd47080 0%,#ffb13d42 38%,#0000 70%);border-radius:50%;width:340%;height:300%;animation:1.5s ease-in-out infinite alternate bday-glow;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}@keyframes bday-flicker{0%{transform:translate(-50%)scaleX(.98)rotate(-3deg)}to{transform:translate(-50%)scale(1.06,1.1)rotate(3deg)}}@keyframes bday-glow{0%{opacity:.7;transform:translate(-50%,-50%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1.06)}}.bday-candle-smoke{filter:blur(1.5px);opacity:0;background:#7b6c65a8;border-radius:50%;width:9px;height:9px;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.bday-candle-smoke:after{content:"";filter:blur(1.5px);background:#7b6c657a;border-radius:50%;width:7px;height:7px;position:absolute;top:-11px;left:50%;transform:translate(-60%)}.birthday-reveal.wish-made .bday-candle-flame{animation:.44s cubic-bezier(.4,0,.7,.2) forwards bday-flame-out}@keyframes bday-flame-out{0%{opacity:1;transform:translate(-50%)scaleY(1)scaleX(1)}55%{opacity:1;transform:translate(-50%)translateY(4px)scaleY(.5)scaleX(.8)}to{opacity:0;transform:translate(-50%)translateY(8px)scaleY(.08)scaleX(.5)}}.birthday-reveal.wish-made .bday-candle-smoke{animation:2.2s ease-out .3s forwards bday-smoke}@keyframes bday-smoke{0%{opacity:0;transform:translate(-50%)scale(.5)}16%{opacity:.78}55%{opacity:.58;transform:translate(calc(5px - 50%),-30px)scale(1.8)}to{opacity:0;transform:translate(calc(-50% - 4px),-66px)scale(3.1)}}.bday-wish-instruction{font-family:var(--font-playful);font-size:clamp(.85rem, calc(2 * var(--gift-unit)), .95rem);color:#8e7367;max-width:26ch;margin:0}.bday-wish-hint{font-family:var(--font-playful);font-size:clamp(.85rem, calc(2 * var(--gift-unit)), .95rem);color:#7e6358;margin:0}.bday-wish-caption{justify-items:center;display:grid}.bday-wish-caption-slot{align-items:center;gap:clamp(6px, calc(1.6 * var(--gift-unit)), 12px);opacity:0;pointer-events:none;flex-direction:column;grid-area:1/1;transition:opacity .26s ease-out;display:flex}.bday-wish-caption-slot[data-shown=true]{opacity:1;pointer-events:auto}.bday-wish-done{flex-direction:column;gap:6px;display:flex}.bday-wish-caption-slot[data-shown=true] .bday-wish-done{animation:.48s ease-out both bday-wish-done-in}@keyframes bday-wish-done-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.bday-wish-done-title{font-family:var(--font-display);font-weight:800;font-size:clamp(1.15rem, calc(3 * var(--gift-unit)), 1.5rem);color:var(--bday-coral-deep);margin:0}.bday-wish-done-sub{font-family:var(--font-playful);font-size:clamp(.9rem, calc(2.1 * var(--gift-unit)), 1rem);color:var(--bday-ink);margin:0}.birthday-reveal .bday-burst{pointer-events:none;z-index:20;perspective:900px;position:absolute;inset:0;overflow:hidden}.birthday-reveal .bday-burst-piece{opacity:0;will-change:transform, opacity;transform-style:preserve-3d;border-radius:1.5px;position:absolute;box-shadow:inset 0 0 0 9999px #0000000f,0 1px 1.5px #682e2724}.birthday-reveal .bday-burst-piece.shape-strip{border-radius:1px}.birthday-reveal .bday-burst-piece.shape-circle{border-radius:50%}.birthday-reveal .bday-burst-piece.shape-irregular{clip-path:polygon(16% 0%,100% 24%,82% 100%,0% 72%);border-radius:0}.birthday-reveal .bday-burst-piece.tint-coral{background:var(--bday-coral)}.birthday-reveal .bday-burst-piece.tint-red{background:var(--bday-red)}.birthday-reveal .bday-burst-piece.tint-pink{background:#ec7e9c}.birthday-reveal .bday-burst-piece.tint-gold{background:var(--bday-gold)}.birthday-reveal .bday-burst-piece.tint-cream{background:#ead6ae}.bday-finale-lead{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(.9rem, calc(2.1 * var(--gift-unit)), 1.02rem);color:var(--bday-coral);margin:0 0 clamp(8px, calc(2 * var(--gift-unit)), 14px)}.bday-stage-finale{gap:clamp(18px, calc(4.4 * var(--gift-unit)), 30px)}.bday-finale-heading{font-family:var(--font-display);font-weight:800;font-size:clamp(1.7rem, calc(4.4 * var(--gift-unit)), 2.2rem);color:var(--bday-coral-deep);z-index:1;max-width:20ch;margin:0;line-height:1.22;position:relative}.bday-finale-signoff{font-family:var(--font-display);font-style:italic;font-size:clamp(1.1rem, calc(2.7 * var(--gift-unit)), 1.25rem);color:var(--bday-ink);z-index:1;margin:0;line-height:1.5;position:relative}.bday-finale-signature{letter-spacing:.005em;color:var(--bday-coral-deep);margin-top:.4em;font-size:1.24em;font-style:normal;font-weight:700;display:inline-block}.bday-finale-sparkles{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.bday-finale-sparkle{background:var(--bday-gold);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 5px #f6c85a8c);opacity:0;animation:bday-finale-sparkle var(--sparkle-dur,5.6s) ease-in-out infinite;position:absolute;transform:scale(.3)}@keyframes bday-finale-sparkle{0%{opacity:0;transform:scale(.3)rotate(-12deg)}12%{opacity:.9;transform:scale(1)rotate(0)}38%{opacity:0;transform:scale(.62)rotate(10deg)}to{opacity:0;transform:scale(.3)rotate(10deg)}}.bday-replay-btn{appearance:none;color:#8d6c5e;font-family:var(--font-playful);letter-spacing:.01em;cursor:pointer;background:0 0;border:none;border-radius:999px;margin-top:14px;padding:6px 14px;font-size:.8rem;font-weight:600;transition:color .15s,background .15s}.bday-replay-btn:hover{color:var(--bday-coral-deep);background:#f7eede}.bday-replay-btn:focus-visible{outline:2px solid var(--bday-coral-deep);outline-offset:2px}.birthday-reveal .reveal-photos{opacity:1;pointer-events:auto;position:absolute;inset:0;overflow:hidden}.gift-page.birthday-confetti .reveal-photos-content{gap:clamp(12px, calc(3 * var(--gift-unit)), 20px);padding:clamp(20px, calc(5 * var(--gift-unit)), 40px);justify-content:center}.bday-collage{aspect-ratio:4/5;width:min(86%,320px);margin:6px auto 0;position:relative}.bday-collage-photo{aspect-ratio:4/5;opacity:0;width:68%;transform:translate(-50%, -50%) translate(var(--cx,0), var(--cy,0)) rotate(var(--rot,0deg)) scale(.78);background:#fff;border-radius:4px;padding:6px 6px 20px;transition:opacity .48s ease-out,transform .62s cubic-bezier(.34,1.42,.64,1);position:absolute;top:50%;left:50%;box-shadow:0 16px 34px -12px #7a31296b}.bday-collage-photo.in-view{opacity:1;transform:translate(-50%, -50%) translate(var(--cx,0), var(--cy,0)) rotate(var(--rot,0deg)) scale(1)}.bday-collage-photo img{object-fit:cover;border-radius:2px;width:100%;height:100%;display:block}.gift-page.birthday-confetti .bday-stage-heading{margin-bottom:2px}.reveal-card.birthday-reveal.opened .reveal-hint{animation:2.4s ease-in-out infinite bday-hint-breathe;display:block}@keyframes bday-hint-breathe{0%,to{opacity:.5}50%{opacity:1}}.gift-page.birthday-confetti .reveal-hint{color:#84685c;font-size:clamp(.8125rem, calc(2 * var(--gift-unit)), .9375rem);letter-spacing:.02em}.gift-page.birthday-confetti .confetti-piece{background-color:var(--bday-gold)!important}.gift-page.birthday-confetti .confetti-piece:nth-child(3n){background-color:var(--bday-coral)!important}.gift-page.birthday-confetti .confetti-piece:nth-child(3n+1){background-color:var(--bday-coral-deep)!important}.passcode-gate-birthday .btn-primary{background:var(--bday-coral);color:var(--bday-cream)}.passcode-gate-birthday .pin-mask-heart:not(.filled){color:var(--bday-cream-deep)}@media (prefers-reduced-motion:reduce){.bday-open-btn,.bday-candle-flame,.bday-candle-flame:before,.birthday-reveal.bstage-wish .bday-cake,.birthday-reveal.bstage-wish .bday-candle-stick,.birthday-reveal.wish-made .bday-candle-flame,.birthday-reveal.wish-made .bday-candle-smoke,.birthday-reveal:not(.opened) .bday-giftbox,.birthday-reveal:not(.opened) .bday-giftbox-lid,.birthday-reveal:not(.opened) .bday-giftbox-ribbon-h,.birthday-reveal:not(.opened) .bday-giftbox-bow,.bday-greeting-envelope,.bday-letter-star,.birthday-reveal.bstage-message .bday-char,.reveal-card.birthday-reveal.opened .reveal-hint,.bday-finale-sparkle,.bday-floater{animation:none}.bday-finale-sparkles{display:none}.bday-char{color:inherit;opacity:1}.birthday-reveal .bday-burst{display:none}.birthday-reveal.wish-made .bday-candle-flame{opacity:0}.birthday-reveal.bstage-memory .bday-filmstrip{animation:none}.bday-giftbox-lid,.bday-giftbox-ribbon-h,.bday-giftbox-bow,.bday-collage-photo,.bday-filmstrip-frame>img,.bday-memory-closer,.bday-stage{transition-duration:1ms}}.reveal-wrap{justify-content:center;display:flex}.reveal-card{aspect-ratio:9/16;border-radius:var(--radius-lg);background:linear-gradient(160deg, var(--color-accent-soft), var(--color-bg-alt));border:1px solid var(--color-border);width:min(340px,100%);box-shadow:var(--shadow-2);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2px;display:flex;position:relative;overflow:hidden}.reveal-card .stage{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.reveal-ribbon{flex-direction:column;justify-content:center;align-items:center;gap:16px;transition:opacity .4s ease-out,transform .4s ease-out;display:flex;position:absolute;inset:0}.reveal-ribbon .box{border-radius:var(--radius-md);background:var(--color-accent);width:96px;height:96px;box-shadow:var(--shadow-1);justify-content:center;align-items:center;display:flex}.reveal-ribbon .box svg{width:44px;height:44px;color:var(--color-accent-fg)}.reveal-message{opacity:0;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px;transition:opacity .45s ease-out,transform .45s ease-out;display:flex;position:absolute;inset:0;transform:scale(.94)}.reveal-card.opened .reveal-ribbon{opacity:0;pointer-events:none;transform:scale(.9)}.gift-page.love-notes-vday .reveal-card.opened.stage-flap .reveal-ribbon{opacity:1;pointer-events:auto;transform:none}.reveal-card.opened .reveal-message{opacity:1;transform:scale(1)}.reveal-message .heart{width:36px;height:36px;color:var(--color-accent)}.reveal-message p.msg{font-family:var(--font-display);font-size:1.25rem;line-height:1.3}.reveal-message .from{color:var(--color-muted);font-size:.8125rem}.confetti-piece{opacity:0;border-radius:2px;width:8px;height:14px;position:absolute;top:-10%}.confetti-piece.confetti-icon{background:0 0;width:16px;height:16px}.confetti-piece.confetti-icon svg{width:100%;height:100%}.reveal-card.opened .confetti-piece{animation:1.4s ease-in forwards confetti-fall}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(340px)rotate(200deg)}}.reveal-hint{text-align:center;color:var(--color-muted);font-size:.8125rem;font-weight:600;position:absolute;bottom:18px;left:0;right:0}.reveal-card.opened .reveal-hint{display:none}.envelope-reveal .reveal-ribbon{gap:8px}.gift-page.love-notes-vday .reveal-card:not(.opened) .reveal-ribbon{transform:translateY(-5%)}.envelope-heading{z-index:1;font-family:var(--font-display);background:linear-gradient(100deg, var(--theme-color,var(--color-accent)), #b48ce0 85%);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.375rem;font-style:italic;font-weight:600;line-height:1.2;position:relative}.envelope-subtitle{z-index:1;margin-bottom:16px;position:relative}.envelope{z-index:1;width:136px;height:94px;position:relative}.envelope-body{border-radius:3px 3px var(--radius-sm) var(--radius-sm);background:linear-gradient(155deg, color-mix(in oklch, var(--color-accent) 60%, white) 0%, var(--color-accent) 55%);box-shadow:var(--shadow-2);position:absolute;inset:0;overflow:hidden}.envelope-body:before{content:"";background-color:#0000;background-image:linear-gradient(115deg,#0000 49%,#00000024 50%,#0000 51%),linear-gradient(65deg,#0000 49%,#00000024 50%,#0000 51%);background-image:linear-gradient(115deg,#0000 49%,lab(0% 0 0/.14) 50%,#0000 51%),linear-gradient(65deg,#0000 49%,lab(0% 0 0/.14) 50%,#0000 51%);background-position:0 100%,100% 100%;background-repeat:no-repeat;background-size:60% 100%,60% 100%;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.envelope-flap{background:linear-gradient(155deg, color-mix(in oklch, var(--color-accent) 55%, white) 0%, var(--color-accent) 70%);clip-path:polygon(0 0,100% 0,50% 92%);height:54px;box-shadow:var(--shadow-1);transform-origin:top;border-radius:3px 3px 0 0;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .4s ease-out;position:absolute;top:0;left:0;right:0}.envelope-seal{width:24px;height:24px;color:var(--color-accent-fg);filter:drop-shadow(0 1px 1px #00000026);filter:drop-shadow(0 1px 1px lab(0% 0 0/.15));position:absolute;top:10px;left:50%;transform:translate(-50%)}.reveal-card.opened .envelope-flap{opacity:0;transform:translateY(-10px)scaleY(.4)}.envelope-ambient{z-index:0;pointer-events:none;position:absolute;inset:0}.envelope-ambient .amb-heart{color:var(--theme-color,var(--color-accent));opacity:.3;animation:amb-float var(--amb-duration,4s) ease-in-out infinite;position:absolute}.envelope-ambient .amb-heart svg{width:100%;height:100%}@keyframes amb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.reveal-card.opened .envelope-ambient{opacity:0;transition:opacity .3s ease-out}.envelope-reveal .reveal-message{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);justify-content:flex-start;align-items:stretch;width:min(96%,560px);padding:0;inset:5% auto 8% 50%;overflow:hidden;transform:translate(-50%,16px)scale(.85)}.envelope-reveal.reveal-card.opened .reveal-message{transform:translate(-50%)scale(1)}.envelope-reveal .reveal-message:before,.envelope-reveal .reveal-message:after{content:"";background:var(--theme-color,var(--color-accent));height:5px;position:absolute;left:0;right:0}.envelope-reveal .reveal-message:before{top:0}.envelope-reveal .reveal-message:after{bottom:0}.letter-content{scrollbar-width:none;-ms-overflow-style:none;text-align:left;width:100%;height:100%;padding:22px 18px;overflow-y:auto}.letter-content::-webkit-scrollbar{display:none}.gift-page .reveal-card.stage-letter{height:auto;min-height:100dvh}.gift-page .envelope-reveal.opened.stage-letter .reveal-message{margin:8vh auto;position:relative;inset:auto;transform:none}.gift-page .envelope-reveal.opened.stage-letter .letter-content{height:auto;overflow-y:visible}.gift-page .envelope-reveal.opened.stage-letter .stage{flex-direction:column}.gift-page .envelope-reveal.opened.stage-letter .letter-hint{margin:-4vh 0 2vh;position:static}.letter-greeting{text-align:left;font-family:var(--font-display);color:var(--theme-color,var(--color-accent));margin:0 0 12px;font-size:1.125rem;font-style:italic;font-weight:600}.letter-content .msg-title{text-align:center;margin-bottom:10px}.letter-body p{color:var(--color-fg);margin:0 0 10px;font-size:.875rem;line-height:1.6}.letter-body-placeholder p{font-size:.975rem}.letter-signoff{text-align:right;font-family:var(--font-display);color:var(--theme-color,var(--color-accent));margin:12px 0 0;font-size:1rem;font-style:italic;font-weight:600;line-height:1.4}.letter-hint{text-align:center;color:var(--color-muted);margin:0;font-size:.8125rem;font-weight:600;position:absolute;bottom:28px;left:0;right:0}.letter-fade-item,.letter-fade-item-plain{opacity:0;animation-duration:.9s;animation-timing-function:ease-out;animation-play-state:paused;animation-fill-mode:forwards}.letter-fade-item{animation-name:letter-fade-slide-in}.letter-fade-item-plain{animation-name:letter-fade-in}.envelope-reveal.opened.stage-letter .letter-fade-item,.envelope-reveal.opened.stage-letter .letter-fade-item-plain{animation-play-state:running}@keyframes letter-fade-slide-in{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:translate(0)}}@keyframes letter-fade-in{0%{opacity:0}to{opacity:1}}.envelope-reveal.stage-flap .reveal-message,.envelope-reveal.stage-card .reveal-message,.envelope-reveal.stage-photos .reveal-message,.envelope-reveal.stage-closing .reveal-message{opacity:0;pointer-events:none}.reveal-closing{opacity:0;pointer-events:none;justify-content:center;align-items:center;padding:24px;transition:opacity .6s ease-out;display:flex;position:absolute;inset:0}.envelope-reveal.stage-closing .reveal-closing{opacity:1;pointer-events:auto}.reveal-closing-inner{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:18px;max-width:30ch;display:flex;position:relative}.reveal-closing-hearts{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden}.reveal-letter-hearts{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}.reveal-letter-burst-heart{color:var(--theme-color,var(--color-accent));opacity:0;will-change:transform, opacity;animation:reveal-letter-burst var(--b-dur,1.9s) cubic-bezier(.16, .7, .3, 1) var(--b-delay,0s) 1 both;display:block;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)scale(.4)}.reveal-letter-burst-heart svg{fill:currentColor;width:100%;height:100%;display:block}@keyframes reveal-letter-burst{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(0)}16%{opacity:var(--b-op,.5)}66%{opacity:var(--b-op,.5)}to{opacity:0;transform:translate(calc(-50% + var(--bx,0px)), calc(-50% + var(--by,0px))) scale(1) rotate(var(--b-rot,0deg))}}.reveal-closing-rise-heart{opacity:0;will-change:transform, opacity;animation:reveal-closing-heart-lift var(--h-dur,2.2s) cubic-bezier(.22, .5, .28, 1) var(--h-delay,0s) 1 both;display:block;position:absolute;bottom:-12%}.reveal-closing-rise-heart-inner{width:100%;height:100%;color:var(--theme-color,var(--color-accent));will-change:transform;animation:reveal-closing-heart-sway var(--h-dur,2.2s) ease-in-out var(--h-delay,0s) 1 both;display:block}.reveal-closing-rise-heart-inner svg{fill:currentColor;width:100%;height:100%;display:block}@keyframes reveal-closing-heart-lift{0%{opacity:0;transform:translate(0,0)scale(.64)}12%{opacity:var(--h-op,.45)}68%{opacity:var(--h-op,.45)}to{opacity:0;transform:translate3d(0, calc(var(--h-rise,200) * -1 * var(--gift-unit)), 0) scale(1)}}@keyframes reveal-closing-heart-sway{0%{transform:translate(0)rotate(0)}34%{transform:translateX(calc(var(--h-drift,0px) * .62)) rotate(calc(var(--h-rot,0deg) * .55))}68%{transform:translateX(calc(var(--h-drift,0px) * -.28)) rotate(calc(var(--h-rot,0deg) * -.2))}to{transform:translateX(var(--h-drift,0px)) rotate(var(--h-rot,0deg))}}.reveal-closing-line,.reveal-closing-signoff{opacity:0;margin:0}.envelope-reveal.stage-closing .reveal-closing-line,.envelope-reveal.stage-closing .reveal-closing-signoff{animation:.7s ease-out both reveal-closing-in}@keyframes reveal-closing-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reveal-closing-line,.reveal-closing-signoff{font-family:var(--font-display);color:var(--theme-color,var(--color-accent));font-size:1.05rem;font-style:italic;font-weight:600;line-height:1.4}.reveal-closing-line:first-child{animation-delay:.26s}.reveal-closing-line:nth-child(2){animation-delay:.62s}.reveal-closing-signoff{margin-top:clamp(24px, calc(7 * var(--gift-unit)), 48px);animation-delay:1.02s}.reveal-cardflip{opacity:0;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:20px;padding:20px;transition:opacity .4s ease-out;display:flex;position:absolute;inset:0}.envelope-reveal.stage-card .reveal-cardflip{opacity:1;pointer-events:auto}.reveal-cardflip .envelope-heading{align-items:center;gap:6px;animation:.4s ease-out cardflip-heading-in;display:inline-flex}@keyframes cardflip-heading-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.flip-heading-heart{color:#a78bd6;flex-shrink:0;width:18px;height:18px}.cardflip-stage{justify-content:center;align-items:center;display:flex;position:relative}.flip-card{perspective:1200px;width:152px;height:196px;animation:.9s ease-out .5s both flip-card-invite}@keyframes flip-card-invite{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.flip-card:hover .flip-card-inner:not(.flipped){transform:translateY(-5px)rotate(.7deg)}.flip-card:hover .flip-card-inner:not(.flipped) .flip-card-front{box-shadow:var(--shadow-2), 0 30px 44px -16px color-mix(in oklch, var(--theme-color,var(--color-accent)) 55%, transparent)}}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.34,1.56,.64,1);position:relative}.flip-card-inner.flipped{transform:rotateY(180deg)}.flip-card-front,.flip-card-back{backface-visibility:hidden;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-2), 0 22px 36px -16px color-mix(in oklch, var(--theme-color,var(--color-accent)) 45%, transparent);padding:18px;position:absolute;inset:0;overflow:hidden}.flip-card-front{background:linear-gradient(160deg, var(--color-accent-soft), var(--color-bg-alt));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:box-shadow .25s ease-out;display:flex}.flip-card-icon{width:35px;height:35px;color:var(--theme-color,var(--color-accent));filter:drop-shadow(0 6px 12px color-mix(in oklch, currentColor 50%, transparent));transform-origin:50%;margin-bottom:2px;animation:.9s ease-in-out .9s both flip-heartbeat;display:block}@keyframes flip-heartbeat{0%,to{transform:scale(1)}20%{transform:scale(1.08)}35%{transform:scale(1)}50%{transform:scale(1.04)}65%{transform:scale(1)}}.flip-card-icon-outline{stroke-dasharray:1;stroke-dashoffset:0}.flip-card-icon-fill{opacity:0}.flip-card-icon.heart-activated{animation:.24s ease-in-out .32s both heart-tap-pulse,.16s ease-in .56s both heart-tap-dissolve}.flip-card-icon.heart-activated .flip-card-icon-outline{animation:.18s ease-out both heart-tap-draw}.flip-card-icon.heart-activated .flip-card-icon-fill{animation:.2s ease-out .12s both heart-tap-fill}@keyframes heart-tap-draw{0%{stroke-dashoffset:0}40%{stroke-dashoffset:.16px}to{stroke-dashoffset:0}}@keyframes heart-tap-fill{0%{opacity:0}to{opacity:1}}@keyframes heart-tap-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.22)}}@keyframes heart-tap-dissolve{0%{opacity:1}to{opacity:0}}.heart-burst{pointer-events:none;width:0;height:0;position:absolute;top:calc(50% - 46px);left:50%}.heart-burst-piece{opacity:0;width:9px;height:15px;transform:rotate(var(--burst-angle,0deg)) translateX(0) scale(calc(var(--burst-scale,1) * .5));background-color:#c9748a;border-radius:50% 50% 50% 4%;margin:-7.5px 0 0 -4.5px;animation:4s ease-out .5s both heart-burst-out;position:absolute;top:0;left:0}@keyframes heart-burst-out{0%{opacity:0;transform:rotate(var(--burst-angle,0deg)) translateX(0) scale(calc(var(--burst-scale,1) * .3));background-color:#c9748a}25%{opacity:1}to{opacity:0;transform:rotate(var(--burst-angle,0deg)) translateX(var(--burst-distance,60vh)) scale(calc(var(--burst-scale,1) * 1.15));background-color:#fbe1ea}}.flip-card-title{font-family:var(--font-display);color:var(--theme-color,var(--color-accent));text-wrap:balance;margin:0;font-size:1.125rem;font-style:italic;font-weight:600;line-height:1.25}.flip-card-hint{color:var(--color-muted);text-align:center;margin:0;font-size:.8125rem;font-weight:600}.see-memories-btn{background:var(--theme-color,var(--color-accent));color:var(--color-surface);cursor:pointer;opacity:0;box-shadow:0 7px 18px -8px color-mix(in oklch, var(--theme-color,var(--color-accent)) 40%, transparent), 0 2px 6px -2px color-mix(in oklch, var(--theme-color,var(--color-accent)) 30%, transparent);border:0;border-radius:999px;align-items:center;gap:6px;margin:0;padding:10px 22px;font-family:inherit;font-size:.875rem;font-weight:600;line-height:1.2;transition:transform .2s ease-out,box-shadow .2s ease-out;animation:.4s ease-out 2.25s both see-memories-in;display:inline-flex}.see-memories-btn:after{content:"→";transition:transform .2s ease-out}@media (hover:hover) and (pointer:fine){.reveal-card:hover .see-memories-btn{box-shadow:0 10px 21px -8px color-mix(in oklch, var(--theme-color,var(--color-accent)) 45%, transparent), 0 3px 8px -2px color-mix(in oklch, var(--theme-color,var(--color-accent)) 34%, transparent);transform:translateY(-2px)}.reveal-card:hover .see-memories-btn:after{transform:translate(4px)}}.reveal-card:active .see-memories-btn{box-shadow:0 4px 10px -6px color-mix(in oklch, var(--theme-color,var(--color-accent)) 38%, transparent), 0 1px 3px -1px color-mix(in oklch, var(--theme-color,var(--color-accent)) 26%, transparent);transform:translateY(0)scale(.97)}.reveal-card:active .see-memories-btn:after{transform:translate(4px)}.see-memories-btn:focus-visible{outline:2px solid var(--color-surface);outline-offset:2px}@keyframes see-memories-in{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.flip-card-back{background:var(--color-surface);transition:background .5s ease-out,border-color .5s ease-out,box-shadow .5s ease-out;transform:rotateY(180deg)}.cardflip-stage.flipped .flip-card-back{box-shadow:none;background:0 0;border-color:#0000;transition-delay:.15s}.bouquet-reveal{pointer-events:none;width:clamp(240px,74vw,420px);height:auto;filter:drop-shadow(0 18px 32px color-mix(in oklch, var(--theme-color,var(--color-accent)) 30%, transparent));opacity:0;position:absolute;top:calc(50% - 26px);left:50%;transform:translate(-50%,-50%)scale(.4)rotate(-8deg)translateY(-70px)}.cardflip-stage.flipped .bouquet-reveal{animation:.9s ease-out .65s both bouquet-reveal-in}@keyframes bouquet-reveal-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-8deg)translateY(-70px)}55%{opacity:1;transform:translate(-50%,-50%)scale(1.08)rotate(3deg)translateY(-6px)}80%{transform:translate(-50%,-50%)scale(.96)rotate(-1.5deg)translateY(2px)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)translateY(0)}}.flip-card-caption{font-family:var(--font-display);color:var(--color-muted);opacity:0;max-width:260px;margin:4px 0 2px;font-size:.9375rem;font-style:italic;line-height:1.4;animation:.5s ease-out 1.85s both flip-card-caption-in}@keyframes flip-card-caption-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.reveal-photos{opacity:0;pointer-events:none;-webkit-overflow-scrolling:touch;transition:opacity .4s ease-out;position:absolute;inset:0;overflow-y:auto}.envelope-reveal.stage-photos .reveal-photos{opacity:1;pointer-events:auto}.reveal-photos-content{flex-direction:column;align-items:center;gap:14px;min-height:100%;padding:28px 20px 40px;display:flex}.reveal-photos-signoff{text-align:center;font-family:var(--font-display);color:var(--theme-color,var(--color-accent));margin:8px 0 0;font-size:1rem;font-style:italic;font-weight:600;line-height:1.4}.reveal-photo-frame{aspect-ratio:4/5;border-radius:var(--radius-md);border:1px solid var(--color-border);width:78%;box-shadow:var(--shadow-2);position:relative;overflow:hidden}.reveal-photo-frame img{object-fit:cover;width:100%;height:100%}.reveal-photos-grid{grid-template-columns:repeat(2,1fr);align-items:start;gap:14px 8px;width:100%;max-width:520px;padding:4px;display:grid}.photo-polaroid{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-1);opacity:0;transform:translateY(40px) rotate(var(--reveal-rotate-from,0deg)) scale(var(--reveal-scale-from,1));border-radius:4px;padding:5px 5px 14px;transition:opacity .95s ease-out,transform .95s cubic-bezier(.34,1.56,.64,1),box-shadow .25s ease-out}.photo-polaroid.in-view{opacity:1;transform:translateY(0) rotate(var(--rot,0deg)) scale(1)}@media (hover:hover) and (pointer:fine){.photo-polaroid.in-view:hover{z-index:2;box-shadow:var(--shadow-2);transition-delay:0s;transform:rotate(0)scale(1.05)}}.photo-polaroid img{border-radius:2px;width:100%;height:auto;display:block}.reveal-photos-grid>.photo-polaroid:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:50%}@media (min-width:861px){.reveal-photos-grid{grid-template-columns:repeat(3,1fr);max-width:1200px}.photo-polaroid{justify-self:center;width:80%}.reveal-photos-grid>.photo-polaroid:last-child:nth-child(odd){grid-column:auto;width:80%}}.split-2{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,3vw,2rem);display:grid}@media (max-width:760px){.split-2{grid-template-columns:1fr}}.section-head{max-width:640px;margin-bottom:clamp(2.5rem,5vw,3.5rem)}.section-head.center{text-align:center;margin-inline:auto}.section-head h2{margin-bottom:14px}.kicker{color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:.8125rem;font-weight:700;display:block}.why-how{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);display:grid}@media (max-width:760px){.why-how{grid-template-columns:1fr}}.why-how-col h2{margin:0 0 20px}.why-how-col+.why-how-col{border-left:1px solid var(--color-border);padding-left:clamp(2rem,5vw,4rem)}@media (max-width:760px){.why-how-col+.why-how-col{border-left:none;padding-left:0}}.compare-list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.compare-list li{align-items:flex-start;gap:10px;font-size:.9375rem;display:flex}.compare-list svg{width:20px;height:20px;color:var(--color-accent);flex-shrink:0;margin-top:1px}.steps-list{flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;display:flex}.steps-list li{align-items:flex-start;gap:14px;display:flex}.steps-list h3{margin-bottom:4px;font-size:1.0625rem}.steps-list p{color:var(--color-muted);margin:0}.step-num{border-radius:var(--radius-full);background:var(--color-accent);width:32px;height:32px;color:var(--color-accent-fg);font-family:var(--font-display);flex-shrink:0;justify-content:center;align-items:center;font-size:.9375rem;font-weight:700;display:flex}.feature-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}@media (max-width:980px){.feature-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.feature-grid{grid-template-columns:1fr}}.feature-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:clamp(1.5rem,2.5vw,2rem);display:flex}.feature-icon{border-radius:var(--radius-md);background:var(--color-accent-soft);width:44px;height:44px;color:var(--color-accent);justify-content:center;align-items:center;display:flex}.feature-icon svg{width:22px;height:22px}.feature-card p{color:var(--color-muted);font-size:.9375rem}.price-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;padding:clamp(1.75rem,3vw,2.5rem);display:flex;position:relative}.price-card.single{border-color:var(--color-accent);max-width:420px;box-shadow:var(--shadow-2);margin-inline:auto}.price-card h3{margin-bottom:6px}.price-card .plan-desc{color:var(--color-muted);margin-bottom:24px;font-size:.875rem}.limited-offer{color:var(--color-accent);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:.75rem;font-weight:700;display:block}.price-amount{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.price-amount .price-original{color:var(--color-muted);font-size:1.125rem;text-decoration:line-through}.price-amount .num{font-family:var(--font-display);font-size:clamp(2.25rem,2rem + 1vw,2.75rem);font-weight:700}.price-amount .per{color:var(--color-muted);font-size:.875rem}.price-card .fx-note{color:var(--color-muted);margin-bottom:24px;font-size:.75rem}.price-list{flex-direction:column;flex-grow:1;gap:12px;margin:0 0 28px;padding:0;list-style:none;display:flex}.price-list li{align-items:flex-start;gap:10px;font-size:.9375rem;display:flex}.price-list svg{width:18px;height:18px;color:var(--color-accent);flex-shrink:0;margin-top:2px}#create{--builder-shell-max:var(--shell-max)}.builder-shell{max-width:var(--builder-shell-max);margin-inline:auto}.builder-grid{grid-template-columns:minmax(0,6fr) minmax(0,4fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}@media (max-width:860px){.builder-grid{grid-template-columns:1fr}}@media (min-width:861px){#create:has(.builder-grid){--builder-shell-max:94vw;padding-block:0}#create .builder-form{overscroll-behavior:contain;padding-left:6px;padding-block:clamp(3.5rem,6vw,7rem);scrollbar-gutter:stable;border-right:1px solid var(--color-border);width:calc(100% + clamp(2rem,5vw,4rem) - 5rem);max-width:none;height:100dvh;padding-right:3rem;position:sticky;top:0;overflow:clip auto}}.success-grid{grid-template-columns:1fr min(300px,42%);align-items:start;gap:clamp(2rem,5vw,3.5rem);display:grid}@media (max-width:780px){.success-grid{grid-template-columns:1fr}}.qr-card{aspect-ratio:1;background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:300px;box-shadow:var(--shadow-1);border-radius:14px;justify-content:center;align-items:center;margin:0 auto;padding:4px;display:flex}.qr-card img{object-fit:contain;width:100%;height:100%;display:block}.success-qr-title{text-align:center;margin-top:16px;font-size:.9375rem;font-weight:700}.success-qr-caption{text-align:center;color:var(--color-muted);margin-top:2px;font-size:.8125rem}.edit-link-warning{border:1px solid color-mix(in oklch, #bb5d00 40%, var(--color-border));border-radius:var(--radius-md);background:color-mix(in oklch, #bb5d00 10%, var(--color-surface));border-left:3px solid oklch(58% .16 55);align-items:flex-start;gap:10px;margin-top:10px;padding:12px 14px;font-size:.8125rem;line-height:1.5;display:flex}@supports (color:lab(0% 0 0)){.edit-link-warning{border:1px solid color-mix(in oklch, lab(50.3696% 38.4681 74.3112) 40%, var(--color-border));background:color-mix(in oklch, lab(50.3696% 38.4681 74.3112) 10%, var(--color-surface))}}.edit-link-warning svg{color:#bb5d00;color:lab(50.3696% 38.4681 74.3112);flex-shrink:0;width:18px;height:18px;margin-top:1px}.builder-occasion-switch{max-width:280px;margin:0 0 clamp(1.5rem,4vw,2rem)}.builder-occasion-switch-label{margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.select-wrap{position:relative}.select-wrap select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-fg);cursor:pointer;min-height:44px;padding:12px 40px 12px 14px;font-size:1rem;font-weight:600}.select-wrap .select-chevron{width:18px;height:18px;color:var(--color-muted);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.builder-preview-slot{width:100%}@media (max-width:860px){.builder-preview-slot{display:none}}.builder-preview-pane{top:24px;right:calc(max((100vw - var(--builder-shell-max)) / 2, 0px) + var(--shell-pad));width:calc((min(var(--builder-shell-max), 100vw) - 2 * var(--shell-pad) - clamp(2rem, 5vw, 4rem)) * .4);overscroll-behavior:contain;z-index:10;flex-direction:column;align-items:center;gap:14px;max-height:calc(100vh - 48px);display:flex;position:fixed;overflow-y:auto}@media (max-width:860px){.builder-preview-pane{display:none}}.builder-preview-pane .device-frame-mobile{aspect-ratio:9/17.25;max-width:310px;box-shadow:var(--shadow-1);border-width:3px;border-color:#a2a5a8;border-color:lab(67.501% -.314951 -2.24329)}.preview-toolbar{justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.device-toggle{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);gap:2px;padding:3px;display:inline-flex}.device-toggle-icon button{border-radius:var(--radius-full);width:34px;height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .2s ease-out,color .2s ease-out;display:flex}.device-toggle-icon button svg{width:16px;height:16px}.device-toggle-icon button[aria-selected=true]{background:var(--color-accent);color:var(--color-accent-fg)}.device-toggle-icon button:not([aria-selected=true]):hover{color:var(--color-fg);background:color-mix(in oklch, var(--color-accent) 10%, transparent)}.preview-toolbar-actions{align-items:center;gap:6px;display:flex}.preview-toolbar-btn{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-muted);cursor:pointer;justify-content:center;align-items:center;transition:background-color .2s ease-out,color .2s ease-out,transform .15s ease-out;display:flex}.preview-toolbar-btn:hover{color:var(--color-fg);background:var(--color-bg-alt);transform:translateY(-1px)}.preview-toolbar-btn svg{width:16px;height:16px}.device-frame-mobile{aspect-ratio:9/19.5;contain:layout;width:100%;max-width:250px;box-shadow:var(--shadow-2);border:5px solid #474141;border:5px solid lab(27.9926% 2.61796 .76555);border-radius:44px;position:relative;overflow:hidden}.device-frame-mobile .device-frame-screen{isolation:isolate;position:absolute;inset:0}.device-frame-notch{border-radius:var(--radius-full);z-index:5;background:#474141;background:lab(27.9926% 2.61796 .76555);justify-content:flex-end;align-items:center;width:72px;height:20px;padding-right:4px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.device-frame-notch:after{content:"";background:radial-gradient(circle at 35% 32%,#607489 0%,#12161d 55%,#020306 100%);background:radial-gradient(circle at 35% 32%,lab(47.7277% -3.62048 -13.9472) 0%,lab(7.16596% -.441141 -5.41423) 55%,lab(.892191% -.0545979 -.999779) 100%);border-radius:50%;width:6px;height:6px}.device-frame-home-indicator{border-radius:var(--radius-full);z-index:5;background:#ffffff8c;background:lab(100% 0 0/.55);width:34%;height:4px;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.device-frame-desktop{aspect-ratio:16/10;contain:layout;background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;max-width:620px;box-shadow:var(--shadow-2);flex-direction:column;display:flex;overflow:hidden}.device-frame-chrome{background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;gap:6px;padding:10px 14px;display:flex}.device-frame-chrome span{background:var(--color-border);border-radius:50%;width:9px;height:9px}.device-frame-desktop .music-toggle-btn{top:32px}.device-frame-desktop .device-frame-screen{flex:1;min-height:0;position:relative}.device-frame-mobile .gift-page,.device-frame-mobile .reveal-wrap{height:100%;min-height:0}.device-frame-mobile .reveal-photos-grid{grid-template-columns:repeat(2,1fr)}.device-frame-mobile .photo-polaroid{width:100%}.device-frame-mobile .reveal-photos-grid>.photo-polaroid:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:50%}.device-frame-desktop .gift-page{min-height:0;width:calc(100% / var(--preview-scale,.5));height:calc(100% / var(--preview-scale,.5));transform:scale(var(--preview-scale,.5));transform-origin:0 0;position:absolute;inset:0}.device-frame-desktop .device-frame-screen{overflow:hidden}.device-frame-desktop .reveal-wrap{align-self:stretch}.device-frame-mobile .reveal-card,.device-frame-desktop .reveal-card{width:100%;height:100%;box-shadow:none;border:none;border-radius:0;position:absolute;inset:0}.device-frame-mobile .device-frame-screen:has(.stage-letter){-webkit-overflow-scrolling:touch;overflow-y:auto}:is(.device-frame-mobile .gift-page:has(.stage-letter),.device-frame-mobile .reveal-wrap:has(.stage-letter)){height:auto;min-height:100%}.device-frame-mobile .reveal-card.stage-letter{height:auto;min-height:100%;position:static}.device-frame-desktop .reveal-card.stage-letter{height:auto;min-height:100%}.device-frame-caption{letter-spacing:.02em;color:var(--color-muted);font-size:.75rem;font-weight:600}.builder-form{max-width:560px}@media (max-width:860px){.builder-form{max-width:none}}.builder-progress{margin-bottom:clamp(1.75rem,4vw,2.5rem)}.builder-progress-meta{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.builder-progress-count{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);font-size:.75rem;font-weight:700}.builder-progress-title{font-family:var(--font-display);font-size:1.125rem;font-weight:600}.builder-progress-track{border-radius:var(--radius-full);background:var(--color-border);height:4px;overflow:hidden}.builder-progress-fill{background:var(--color-accent);border-radius:var(--radius-full);height:100%;transition:width .3s cubic-bezier(.16,1,.3,1)}.mobile-preview-btn{display:none}@media (max-width:860px){.mobile-preview-btn{z-index:150;box-shadow:var(--shadow-2);align-items:center;gap:8px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.mobile-preview-btn svg{width:18px;height:18px}}.gift-preview-overlay{z-index:250;background:var(--color-bg);flex-direction:column;align-items:center;gap:12px;padding:56px 24px;display:flex;position:fixed;inset:0;overflow:hidden}.gift-preview-overlay .device-frame-screen,.gift-preview-overlay .reveal-photos{overscroll-behavior:contain}.gift-preview-overlay .device-frame-caption{margin-top:auto}.gift-preview-overlay .device-frame{margin-bottom:auto}.gift-preview-overlay .device-frame-mobile{aspect-ratio:9/17.25;width:100%;max-width:250px;height:auto;box-shadow:var(--shadow-1);border-width:3px;border-color:#a2a5a8;border-color:lab(67.501% -.314951 -2.24329)}@media (max-width:860px){.gift-preview-overlay{padding:36px 20px}.gift-preview-overlay .device-frame-mobile{max-width:min(88vw,40dvh)}}.gift-preview-overlay .device-frame-desktop{aspect-ratio:16/10;width:100%;max-width:min(1180px,94vw)}.gift-preview-close{z-index:251;border-radius:var(--radius-full);border:1px solid color-mix(in oklch, var(--color-border) 60%, transparent);background:color-mix(in oklch, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:36px;height:36px;color:var(--color-fg);cursor:pointer;box-shadow:var(--shadow-1);justify-content:center;align-items:center;display:flex;position:fixed;top:16px;right:16px}.gift-preview-close svg{width:16px;height:16px}.gift-preview-close:hover{background:var(--color-surface)}.gift-preview-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.step-panel{display:none}.step-panel.active{animation:.3s ease-out step-in;display:block}@keyframes step-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.occasion-showcase{grid-template-columns:minmax(0,400px) 1fr;align-items:center;gap:clamp(2rem,5vw,3.5rem);display:grid}@media (max-width:900px){.occasion-showcase{grid-template-columns:60% 40%;align-items:start;gap:1.25rem}.occasion-tab{gap:10px;padding:12px 14px}.occasion-tab-icon{width:34px;height:34px}.occasion-tab-icon svg{width:17px;height:17px}.occasion-tab-title{font-size:.8125rem}.occasion-tab-desc{font-size:.75rem}.occasion-preview{gap:12px}.occasion-preview .btn{white-space:normal;text-align:center;height:auto;min-height:44px;padding:10px 12px;font-size:.75rem;line-height:1.3}}.occasion-tab-list{flex-direction:column;gap:12px;display:flex}.entry-occasion-list{max-width:480px;margin-inline:auto}.occasion-tab{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-left-width:3px;align-items:flex-start;gap:14px;padding:16px 18px;transition:border-color .2s ease-out,background-color .2s ease-out,transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden}.occasion-tab:hover{transform:translate(2px)}.occasion-tab.active{border-color:color-mix(in oklch, var(--theme-color,var(--color-accent)) 35%, var(--color-border));border-left-color:var(--theme-color,var(--color-accent));background:color-mix(in oklch, var(--theme-color,var(--color-accent)) 7%, var(--color-surface));box-shadow:var(--shadow-1)}.occasion-tab.disabled{cursor:not-allowed;opacity:.55}.occasion-tab.disabled:hover{transform:none}.occasion-tab.disabled .occasion-tab-icon{filter:grayscale(45%)}.occasion-tab-badge{background:color-mix(in oklch, var(--color-muted) 16%, var(--color-surface));color:var(--color-muted);letter-spacing:.02em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:.6875rem;font-weight:700;display:inline-block}.occasion-tab-icon{border-radius:var(--radius-md);background:color-mix(in oklch, var(--theme-color,var(--color-accent)) 18%, var(--color-surface));width:42px;height:42px;color:var(--theme-color,var(--color-accent));flex-shrink:0;justify-content:center;align-items:center;display:flex}.occasion-tab-icon svg{width:21px;height:21px}.occasion-tab-copy{flex-direction:column;gap:2px;padding-top:2px;display:flex}.occasion-tab-title{font-size:.9375rem;font-weight:700}.occasion-tab-desc{color:var(--color-muted);font-size:.8125rem;line-height:1.45}.occasion-tab-progress{background:var(--theme-color,var(--color-accent));transform-origin:0;width:100%;height:3px;animation:9s linear forwards occasion-progress;position:absolute;bottom:0;left:0;transform:scaleX(0)}@keyframes occasion-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.occasion-soon-row{display:none}.occasion-preview{flex-direction:column;gap:18px;width:min(340px,100%);margin-inline:auto;display:flex}.occasion-preview .reveal-card{width:100%}.occasion-explore{color:var(--color-accent);border-radius:var(--radius-full);align-self:center;align-items:center;gap:6px;margin-top:-4px;font-size:.875rem;font-weight:600;text-decoration:none;transition:opacity .16s ease-out;display:inline-flex}.occasion-explore svg{width:15px;height:15px}.occasion-explore:hover{opacity:.72;text-decoration:underline}.occasion-explore:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.occasion-explore:active{opacity:.85}.occasion-preview .device-frame{align-self:center}.occasion-preview .device-frame-mobile{aspect-ratio:9/17.25;max-width:310px;box-shadow:var(--shadow-1);border-width:3px;border-color:#a2a5a8;border-color:lab(67.501% -.314951 -2.24329)}@media (max-width:767px){.occasion-showcase{grid-template-columns:1fr;align-items:stretch;gap:1.25rem}.occasion-tab-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.occasion-tab.disabled{display:none}.occasion-tab{text-align:center;border-left-width:1.5px;flex-direction:column;align-items:center;gap:8px;padding:14px 12px}.occasion-tab:hover{transform:none}.occasion-tab.active{border-color:var(--theme-color,var(--color-accent));box-shadow:0 0 0 3px color-mix(in oklch, var(--theme-color,var(--color-accent)) 22%, transparent)}.occasion-tab-icon{width:40px;height:40px}.occasion-tab-icon svg{width:20px;height:20px}.occasion-tab-copy{align-items:center;padding-top:0}.occasion-tab-title{font-size:.9375rem}.occasion-tab-desc,.occasion-tab-progress{display:none}.occasion-soon-row{text-align:center;color:var(--color-muted);flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 8px;margin:0;font-size:.75rem;display:flex}.occasion-soon-row span{color:color-mix(in oklch, var(--color-muted) 80%, var(--color-fg));font-weight:600}.occasion-preview{gap:14px;width:100%}.occasion-preview .device-frame-mobile{max-width:300px}.occasion-preview .btn{width:100%;max-width:320px;min-height:48px;margin-inline:auto;padding:12px 16px;font-size:.875rem}}.theme-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (max-width:620px){.theme-grid{grid-template-columns:repeat(2,1fr)}}.theme-card{border:2px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);width:100%;color:inherit;font:inherit;cursor:pointer;text-align:center;flex-direction:column;align-items:center;gap:10px;padding:clamp(1.25rem,2.5vw,1.5rem) 1rem;text-decoration:none;transition:border-color .15s ease-out,transform .3s cubic-bezier(.16,1,.3,1);display:flex}.theme-card:hover{transform:translateY(-2px)}.theme-card.selected{border-color:var(--theme-color,var(--color-accent));box-shadow:0 0 0 3px color-mix(in oklch, var(--theme-color,var(--color-accent)) 25%, transparent)}.theme-card .theme-icon{border-radius:var(--radius-full);background:color-mix(in oklch, var(--theme-color,var(--color-accent)) 18%, var(--color-surface));width:48px;height:48px;color:var(--theme-color,var(--color-accent));justify-content:center;align-items:center;display:flex}.theme-card .theme-icon svg{width:24px;height:24px}.theme-card span.label{font-size:.875rem;font-weight:600}.music-list{flex-direction:column;gap:8px;display:flex}.music-row{border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;align-items:center;gap:12px;width:100%;padding:10px 14px;transition:border-color .15s ease-out,background-color .15s ease-out;display:flex}.music-row:hover{background:var(--color-bg-alt)}.music-row.selected{border-color:var(--theme-color,var(--color-accent));background:color-mix(in oklch, var(--theme-color,var(--color-accent)) 8%, var(--color-surface))}.music-play-btn{border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-alt);width:32px;height:32px;color:var(--theme-color,var(--color-accent));cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s ease-out,transform .15s ease-out;display:flex}.music-play-btn:hover{background:color-mix(in oklch, var(--theme-color,var(--color-accent)) 14%, var(--color-bg-alt));transform:scale(1.06)}.music-play-btn:disabled{opacity:.35;cursor:not-allowed}.music-play-btn:disabled:hover{background:var(--color-bg-alt);transform:none}.music-play-btn svg{width:13px;height:13px}.music-row-label{text-align:left;flex:1;align-items:center;gap:10px;font-size:.9375rem;font-weight:600;display:flex}.music-row-icon{color:var(--theme-color,var(--color-accent));flex-shrink:0;display:flex}.music-row-icon svg{width:18px;height:18px}.music-row-check{border-radius:var(--radius-full);border:2px solid var(--color-border);flex-shrink:0;width:20px;height:20px;transition:border-color .15s ease-out,background-color .15s ease-out}.music-row.selected .music-row-check{border-color:var(--theme-color,var(--color-accent));background:var(--theme-color,var(--color-accent));box-shadow:inset 0 0 0 3px var(--color-surface)}.field{margin-bottom:20px}.field label{margin-bottom:8px;font-size:.875rem;font-weight:600;display:block}.field .optional{color:var(--color-muted);font-weight:400}.field .required{color:var(--color-accent)}.field input[type=text],.field input[type=password],.field input[type=datetime-local],.field textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-fg);resize:vertical;min-height:44px;padding:12px 14px;font-size:1rem}.field textarea{min-height:120px;line-height:1.5}.field .char-count{text-align:right;color:var(--color-muted);margin-top:6px;font-size:.75rem;display:block}.field .field-hint{color:var(--color-muted);margin-top:8px;font-size:.8125rem;display:block}.field .field-hint.field-error{color:#d64545}.pin-field label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-size:.75rem;font-weight:700}.pin-field .pin-input{text-align:center;width:auto;max-width:168px;font-family:var(--font-display);letter-spacing:.5em;min-height:56px;padding:16px 14px 16px 20px;font-size:1.75rem;font-weight:700}.pin-field .pin-input::placeholder{color:var(--color-border);letter-spacing:.5em}.pin-mask-wrap{display:inline-block;position:relative}.field input.pin-input-masked[type=text]{color:#0000;caret-color:#0000}.pin-mask-hearts{pointer-events:none;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}.pin-mask-slot{padding-bottom:6px;display:flex;position:relative}.pin-mask-slot.active:after{content:"";background:var(--theme-color,var(--color-accent));border-radius:1px;width:14px;height:2px;animation:1s step-end infinite pin-mask-caret-blink;position:absolute;bottom:0;left:50%;transform:translate(-50%)}@keyframes pin-mask-caret-blink{0%,to{opacity:1}50%{opacity:0}}.pin-mask-heart{width:18px;height:18px;color:var(--color-border);transition:transform .2s cubic-bezier(.34,1.56,.64,1),color .15s ease-out}.pin-mask-heart.filled{color:var(--theme-color,var(--color-accent));transform:scale(1.15)}.radio-card-group{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.radio-card{border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;align-items:flex-start;gap:14px;padding:14px 16px;transition:border-color .15s ease-out;display:flex}.radio-card:hover{border-color:color-mix(in oklch, var(--color-accent) 45%, var(--color-border))}.radio-card.selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.radio-card .radio{border:2px solid var(--color-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;display:flex}.radio-card.selected .radio{border-color:var(--color-accent)}.radio-card.selected .radio:after{content:"";background:var(--color-accent);border-radius:50%;width:10px;height:10px}.radio-card-title{margin-bottom:2px;font-size:.9375rem;font-weight:700}.radio-card-desc{color:var(--color-muted);font-size:.8125rem}.toggle-row{cursor:pointer;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toggle-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer}.toggle-row span{font-size:.9375rem;font-weight:600}.passcode-status{color:var(--color-text);align-items:center;gap:8px;margin-bottom:10px;font-size:.875rem;font-weight:600;display:flex}.passcode-status svg{width:15px;height:15px;color:var(--color-accent);flex-shrink:0}.radio-row-group{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.radio-row{cursor:pointer;align-items:center;gap:8px;font-size:.875rem;display:flex}.radio-row input[type=radio]{width:16px;height:16px;accent-color:var(--color-accent);cursor:pointer}.photo-upload{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.photo-thumb{border-radius:var(--radius-md);background:var(--color-bg-alt);border:1px solid var(--color-border);flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;position:relative;overflow:hidden}.photo-thumb img{object-fit:cover;width:100%;height:100%}.photo-thumb .remove-photo{border-radius:var(--radius-full);color:#fff;cursor:pointer;background:#16161699;background:lab(7.22637% -.0000149012 0/.6);border:none;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;top:2px;right:2px}.photo-thumb .remove-photo svg{width:12px;height:12px}.photo-reorder{background:#1616168c;background:lab(7.22637% -.0000149012 0/.55);display:flex;position:absolute;bottom:0;left:0;right:0}.photo-reorder-btn{color:#fff;cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;height:22px;transition:background-color .12s ease-out;display:flex}.photo-reorder-btn:hover:not(:disabled){background:#1616164d;background:lab(7.22637% -.0000149012 0/.3)}.photo-reorder-btn:disabled{color:#ffffff59;color:lab(100% 0 0/.35);cursor:default}.photo-reorder-btn svg{width:13px;height:13px}.photo-count-badge{border-radius:var(--radius-full);color:#fff;background:#161616a6;background:lab(7.22637% -.0000149012 0/.65);padding:2px 6px;font-size:.6875rem;font-weight:700;position:absolute;bottom:4px;right:4px}.msg-title{font-family:var(--font-display);margin-bottom:4px;font-size:1.0625rem;font-weight:700}.music-toggle-btn{z-index:40;border-radius:var(--radius-full);border:1px solid color-mix(in oklch, var(--theme-color,var(--color-accent)) 35%, transparent);background:color-mix(in oklch, var(--color-surface) 82%, transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:44px;height:44px;color:var(--theme-color,var(--color-accent));cursor:pointer;box-shadow:var(--shadow-1);justify-content:center;align-items:center;transition:transform .15s cubic-bezier(.34,1.56,.64,1),opacity .15s ease-out;display:flex;position:fixed;top:16px;right:16px}.music-toggle-btn svg{width:20px;height:20px}.music-toggle-btn:hover{transform:scale(1.08)}.music-toggle-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.music-toggle-btn.muted{opacity:.6}.builder-nav{justify-content:space-between;gap:12px;margin-top:28px;display:flex}.builder-share-note{color:var(--color-muted);max-width:44ch;margin-bottom:24px;font-size:.9375rem}.modal-overlay{z-index:200;background:#13080780;background:lab(2.95733% 3.34903 1.82357/.5);justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0}.modal-overlay.open{display:flex}.modal-card{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-2);overscroll-behavior:contain;width:min(400px,100% - 32px);max-height:90vh;padding:clamp(1.5rem,4vw,2.25rem);position:relative;overflow-y:auto}.modal-close{border-radius:var(--radius-full);border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-fg);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:flex;position:absolute;top:16px;right:16px}.modal-close svg{width:16px;height:16px}.modal-card h3{margin-bottom:6px;padding-right:40px}.modal-card .modal-sub{color:var(--color-muted);margin-bottom:20px;font-size:.9375rem}.create-resume{min-height:100dvh;padding:clamp(1.5rem, 6vw, 4rem) var(--shell-pad);background:var(--color-bg-alt);place-items:center;display:grid}.create-entry{min-height:100dvh}.resume-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(440px,100%);box-shadow:var(--shadow-2);padding:clamp(1.75rem,5vw,2.75rem)}.resume-eyebrow{color:var(--color-accent);text-transform:uppercase;letter-spacing:.08em;margin-bottom:12px;font-size:.8125rem;font-weight:700}.resume-card h1{font-family:var(--font-display);letter-spacing:-.01em;margin-bottom:10px;font-size:clamp(1.5rem,1.3rem + 1vw,1.875rem);line-height:1.2}.resume-sub{color:var(--color-muted);margin-bottom:24px;font-size:.9375rem;line-height:1.6}.resume-actions{flex-direction:column;gap:10px;display:flex}.passcode-gate-icon{border-radius:var(--radius-full);background:color-mix(in oklch, var(--theme-color,var(--color-accent)) 14%, var(--color-surface));width:64px;height:64px;color:var(--theme-color,var(--color-accent));justify-content:center;align-items:center;margin:0 auto 16px;animation:2.4s ease-in-out infinite passcode-gate-bounce;display:flex;position:relative}.passcode-gate-icon>svg:first-child{width:26px;height:26px}@keyframes passcode-gate-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.passcode-gate-sparkle{color:#ddac3c;width:14px;height:14px;animation:1.8s ease-in-out infinite passcode-gate-sparkle-twinkle;position:absolute}.passcode-gate-sparkle-1{animation-delay:0s;top:-2px;right:2px}.passcode-gate-sparkle-2{width:10px;height:10px;animation-delay:.7s;bottom:2px;left:-4px}@keyframes passcode-gate-sparkle-twinkle{0%,to{opacity:0;transform:scale(.5)rotate(0)}50%{opacity:1;transform:scale(1)rotate(90deg)}}.passcode-gate-title{color:var(--theme-color,var(--color-accent));font-family:var(--font-playful);letter-spacing:0;font-weight:800}.passcode-gate-sub{font-family:var(--font-playful);font-weight:500}.spinner{border:2.5px solid color-mix(in oklch, var(--color-accent-fg) 40%, transparent);border-top-color:var(--color-accent-fg);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.processing-overlay{z-index:300;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;background:#0000008c;background:lab(0% 0 0/.55);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:.9375rem;font-weight:600;display:flex;position:fixed;inset:0}.processing-overlay-spinner{border:3px solid #fff;border-color:#fff oklch(100% 5.96046e-8 none/.3) oklch(100% 5.96046e-8 none/.3) oklch(100% 5.96046e-8 none/.3);border-radius:50%;width:34px;height:34px;animation:.7s linear infinite spin}.success-icon{border-radius:var(--radius-full);background:var(--color-accent-soft);width:56px;height:56px;color:var(--color-accent);justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.success-icon svg{width:28px;height:28px}.share-link-row{gap:8px;margin:20px 0;display:flex}.share-link-row input{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);height:44px;color:var(--color-fg);flex-grow:1;padding:0 14px;font-size:.875rem}.faq-list{flex-direction:column;gap:8px;max-width:760px;margin-inline:auto;display:flex}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:18px 22px;font-weight:600;list-style:none;transition:background-color .15s ease-out;display:flex}.faq-item summary:hover{background:var(--color-bg-alt)}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary .chev{width:20px;height:20px;color:var(--color-muted);flex-shrink:0;transition:transform .2s ease-out}.faq-item[open] summary .chev{transform:rotate(180deg)}.faq-item .faq-body{color:var(--color-muted);padding:0 22px 20px;font-size:.9375rem}.final-cta{background:var(--color-accent);color:var(--color-accent-fg);border-radius:var(--radius-lg);text-align:center;margin-inline:clamp(1.25rem,4vw,3rem);padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,5vw,3rem);position:relative;overflow:hidden}.final-cta>*{position:relative}.final-cta h2{color:var(--color-accent-fg);margin-bottom:16px}.final-cta p{color:color-mix(in oklch, var(--color-accent-fg) 85%, transparent);margin-bottom:28px}.final-cta .btn-primary{background:var(--color-accent-fg);color:var(--color-accent)}.final-cta .btn-primary:hover{box-shadow:0 8px 24px #0003;box-shadow:0 8px 24px lab(0% 0 0/.2)}.final-cta:before,.reveal-card:before{content:"";opacity:.05;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}footer.site{border-top:1px solid var(--color-border);margin-top:clamp(3.5rem,6vw,7rem);padding-block:clamp(3rem,5vw,4rem) 2rem}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2.5rem;display:grid}@media (max-width:760px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:480px){.footer-grid{grid-template-columns:1fr}}.footer-grid h3{text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);margin-bottom:16px;font-size:.8125rem;font-weight:700}.footer-grid ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.footer-grid a{color:var(--color-fg);font-size:.9375rem;text-decoration:none}.footer-grid a:hover{color:var(--color-accent)}.footer-bottom{border-top:1px solid var(--color-border);color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-top:1.5rem;font-size:.8125rem;display:flex}.region-note{align-items:center;gap:6px;display:inline-flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
