.gfx{inset:0;overflow:hidden;pointer-events:none;z-index:0}.gfx,.gfx-p{position:absolute}.gfx-p{top:-12%;left:var(--l);width:var(--s);height:var(--s);opacity:0;animation:gfx-fall var(--t) linear var(--d) infinite}@keyframes gfx-fall{0%{top:-12%;transform:translateX(0) rotate(0deg);opacity:0}10%{opacity:.95}85%{opacity:.85}to{top:112%;transform:translateX(var(--x)) rotate(300deg);opacity:0}}@keyframes gfx-rise{0%{top:112%;transform:translateX(0);opacity:0}12%{opacity:.9}85%{opacity:.8}to{top:-12%;transform:translateX(var(--x));opacity:0}}@keyframes gfx-twinkle{0%,to{transform:scale(.5);opacity:.15}50%{transform:scale(1);opacity:1}}@keyframes gfx-sway{0%{top:112%;transform:translateX(0) rotate(-6deg);opacity:0}12%{opacity:.95}50%{transform:translateX(var(--x)) rotate(6deg)}88%{opacity:.85}to{top:-14%;transform:translateX(0) rotate(-6deg);opacity:0}}.gfx-petals .gfx-p{border-radius:70% 0 70% 0;background:linear-gradient(135deg,#ffc2d1,#f47c9c)}.gfx-hearts .gfx-p,.gfx-lanterns .gfx-p{top:112%;animation-name:gfx-rise}.gfx-hearts .gfx-p{background:no-repeat 50%/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f43f5e' d='M12 21s-7.5-4.6-10-9.3C.4 8.4 2.3 4.5 6 4.5c2.1 0 3.4 1.1 4.1 2.1L12 9l1.9-2.4c.7-1 2-2.1 4.1-2.1 3.7 0 5.6 3.9 4 7.2C19.5 16.4 12 21 12 21z'/%3E%3C/svg%3E")}.gfx-snow .gfx-p{width:calc(var(--s) * .45);height:calc(var(--s) * .45);border-radius:50%;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.8)}.gfx-stars .gfx-p{top:calc(var(--l) * .8);animation-name:gfx-twinkle;animation-duration:calc(var(--t) * .4);background:no-repeat 50%/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23f5b301' d='M12 1l2.6 8.4H23l-6.8 5 2.6 8.4L12 17.7 5.2 22.8l2.6-8.4L1 9.4h8.4z'/%3E%3C/svg%3E")}.gfx-lanterns .gfx-p{width:calc(var(--s) * 1.1);height:calc(var(--s) * 1.4);border-radius:40%;background:radial-gradient(circle at 50% 40%,#ffd166 0 18%,#e63946 45%,#b5121b 100%);box-shadow:0 0 14px rgba(255,196,0,.55);animation-name:gfx-sway;animation-duration:calc(var(--t) * 1.6)}.gfx-confetti .gfx-p{width:calc(var(--s) * .5);height:calc(var(--s) * .8);border-radius:2px;background:#f59e0b}.gfx-confetti .gfx-p:nth-child(4n+1){background:#ef4444}.gfx-confetti .gfx-p:nth-child(4n+2){background:#10b981}.gfx-confetti .gfx-p:nth-child(4n+3){background:#3b82f6}@media (prefers-reduced-motion:reduce){.gfx{display:none}}.gift-banner{--gb-bg:linear-gradient(120deg,#fff1f4,#ffe3ea 55%,#ffd6e0);--gb-ink:#4a0f1c;--gb-sub:#7a2e3f;--gb-tag-bg:rgba(196,30,30,0.1);--gb-tag-ink:#9a1515;--gb-btn-bg:var(--brand,#c41e1e);--gb-btn-ink:#fff;position:relative;display:flex;align-items:center;gap:16px 24px;min-height:132px;padding:20px 24px;border-radius:14px;background:var(--gb-bg);color:var(--gb-ink);overflow:hidden;isolation:isolate;box-shadow:0 10px 28px rgba(154,21,21,.1)}.gift-banner--hearts{--gb-bg:linear-gradient(120deg,#fff0f3,#ffd9e2 60%,#ffc4d3)}.gift-banner--stars{--gb-bg:linear-gradient(120deg,#fffaf0,#fff0cc 60%,#ffe4a3);--gb-ink:#3d2a00;--gb-sub:#6b4e10;--gb-tag-bg:rgba(180,120,0,0.12);--gb-tag-ink:#7a5200}.gift-banner--confetti{--gb-bg:linear-gradient(120deg,#fffaf3,#ffedd9 60%,#ffdcbc);--gb-ink:#3b1d06;--gb-sub:#6b3b14;--gb-tag-bg:rgba(194,65,12,0.1);--gb-tag-ink:#9a3412}.gift-banner--snow{--gb-bg:linear-gradient(120deg,#0d2740,#15476b 60%,#1f5f86);--gb-ink:#fff;--gb-sub:rgba(255,255,255,0.82);--gb-tag-bg:rgba(255,255,255,0.14);--gb-tag-ink:#e0f2fe;--gb-btn-bg:#fff;--gb-btn-ink:#b91c1c}.gift-banner--lanterns{--gb-bg:linear-gradient(120deg,#8f0f12,#b3161b 55%,#d0261f);--gb-ink:#fff7e0;--gb-sub:rgba(255,240,200,0.88);--gb-tag-bg:rgba(255,209,102,0.18);--gb-tag-ink:#ffd166;--gb-btn-bg:#ffd166;--gb-btn-ink:#7a0d0d}.gift-banner-body{position:relative;z-index:1;flex:1 1;min-width:0}.gift-banner-tag{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0 0 6px;font-size:.8125rem;font-weight:700;color:var(--gb-tag-ink)}.gift-banner-count{padding:2px 10px;border-radius:999px;background:var(--gb-tag-bg);font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gift-banner-title{margin:0;font-size:clamp(1.125rem,2.4vw,1.5rem);font-weight:800;line-height:1.3;letter-spacing:-.01em}.gift-banner-text{margin:6px 0 0;font-size:.9375rem;line-height:1.55;color:var(--gb-sub)}.gift-banner-cta{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:48px;padding:12px 22px;border:none;border-radius:999px;background:var(--gb-btn-bg);color:var(--gb-btn-ink);font-family:inherit;font-size:1rem;font-weight:700;text-decoration:none;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.16);animation:gift-pulse 2.6s ease-in-out infinite}.gift-banner-cta svg{width:20px;height:20px}.gift-banner-cta:hover{filter:brightness(1.06)}@keyframes gift-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@media (max-width:640px){.gift-banner{flex-direction:column;align-items:stretch;padding:18px 16px}.gift-banner-cta{width:100%}}.gift-banner--compact{flex-direction:column;align-items:stretch;min-height:0;padding:16px;margin-bottom:14px;text-align:left}.gift-banner--compact .gift-banner-title{font-size:1.0625rem}.gift-banner--compact .gift-banner-text{font-size:.875rem}.gift-banner--compact .gift-banner-cta{width:100%;min-height:44px;font-size:.9375rem}@media (prefers-reduced-motion:reduce){.gift-banner-cta{animation:none}}.gift-form{display:flex;flex-direction:column;gap:16px}.gift-form .gift-field-label,.gift-form label.gift-field-label{display:block;margin:0 0 6px;font-size:.875rem;font-weight:700;color:var(--ink,#141414)}.gift-combos{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;border:0}.gift-combo{position:relative;display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line-strong,#d9cece);border-radius:10px;cursor:pointer;background:#fff}.gift-combo:has(input:checked){border-color:var(--brand,#c41e1e);background:var(--brand-soft,#faf2f2);box-shadow:0 0 0 1px var(--brand,#c41e1e) inset}.gift-combo input{flex-shrink:0;width:18px;height:18px;margin:2px 0 0;accent-color:var(--brand,#c41e1e)}.gift-combo-main{flex:1 1;min-width:0}.gift-combo-head{display:flex;justify-content:space-between;gap:8px;font-weight:700;color:var(--ink,#141414)}.gift-combo-price{flex-shrink:0;color:var(--brand-dk,#9a1515);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gift-combo-desc{margin:4px 0 0;color:var(--ink-mid,#4a4a4a)}.gift-combo-desc,.gift-note{font-size:.8125rem;line-height:1.5}.gift-note{margin:0;color:var(--ink-lt,#737373)}.gift-submit{min-height:48px;border:none;border-radius:10px;background:var(--brand,#c41e1e);color:#fff;font-family:inherit;font-size:1rem;font-weight:700;cursor:pointer}.gift-submit:disabled{opacity:.6;cursor:default}.gift-summary{display:flex;justify-content:space-between;align-items:baseline;font-size:.9375rem;color:var(--ink-mid,#4a4a4a)}.gift-summary strong{font-size:1.125rem;color:var(--ink,#141414);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gift-greet{position:relative;overflow:hidden;isolation:isolate;margin:0 0 16px;padding:18px 18px 18px 64px;border-radius:14px;background:linear-gradient(120deg,#fff1f4,#ffe3ea 60%,#ffd6e0);color:#4a0f1c}.gift-greet--snow{background:linear-gradient(120deg,#0d2740,#1f5f86);color:#fff}.gift-greet--lanterns{background:linear-gradient(120deg,#8f0f12,#d0261f);color:#fff7e0}.gift-greet--stars{background:linear-gradient(120deg,#fffaf0,#ffe4a3);color:#3d2a00}.gift-greet--confetti{background:linear-gradient(120deg,#fffaf3,#ffdcbc);color:#3b1d06}.gift-greet-icon{position:absolute;z-index:1;left:18px;top:18px;display:inline-flex;color:currentColor}.gift-greet-icon,.gift-greet-icon svg{width:32px;height:32px}.gift-greet-title{position:relative;z-index:1;margin:0 0 4px;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.85}.gift-greet-text{position:relative;z-index:1;margin:0;font-size:1rem;font-weight:600;line-height:1.55;white-space:pre-line}.gfx.gfx-page{position:fixed;z-index:3}.wel-gift{position:relative;z-index:2;width:min(560px,100%);margin:14px auto 24px;text-align:left}.gift-next{display:flex;align-items:center;justify-content:center;min-height:46px;margin:12px 0;padding:10px 16px;border-radius:10px;background:var(--brand-soft,#faf2f2);border:1px solid var(--brand-mid,#f0d6d6);color:var(--brand-dk,#9a1515);font-weight:700;text-decoration:none}.gift-greet-msg{position:relative;z-index:1;margin:12px 0 0;padding:10px 14px;border-left:3px solid;border-radius:8px;background:rgba(255,255,255,.55);font-size:.9375rem;font-style:italic;line-height:1.6;white-space:pre-line}.gift-greet--lanterns .gift-greet-msg,.gift-greet--snow .gift-greet-msg{background:rgba(255,255,255,.14)}.gift-greet-msg-label{display:block;margin-bottom:2px;font-size:.75rem;font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.8}.cbs-layer{position:fixed;inset:0;z-index:10005;display:flex;align-items:flex-end;justify-content:center}.cbs-backdrop{position:absolute;inset:0;background:rgba(20,10,10,.55)}.cbs-panel{position:relative;width:min(1120px,100%);max-height:94dvh;overflow-y:auto;overscroll-behavior:contain;background:var(--paper,#fff);border-radius:18px 18px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.3)}@media (min-width:900px){.cbs-layer{align-items:center;padding:24px}.cbs-panel{max-height:calc(100dvh - 48px);border-radius:16px}}.cbs-panel .sec-form.snap-panel-tall,.cbs-panel .snap-panel{min-height:0;padding-top:8px;padding-bottom:24px}.cbs-panel .snap-panel-body{padding-top:16px;padding-bottom:8px}.cbs-bar{position:-webkit-sticky;position:sticky;top:0;z-index:3;height:0}.cbs-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:1px solid var(--line,#ebe4e4);border-radius:50%;background:#fff;font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.12)}.gift-inline-recipient{margin:14px 0;padding:14px;border:1px solid var(--brand-mid,#f0d6d6);border-radius:12px;background:var(--brand-soft,#faf2f2)}.gift-inline-recipient .admin-field{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}.gift-inline-recipient .admin-field label{font-size:.8125rem;font-weight:600}.gift-inline-recipient input,.gift-inline-recipient textarea{width:100%;padding:9px 11px;border:1px solid var(--line-strong,#d9cece);border-radius:8px;background:#fff;font:inherit;font-size:1rem;box-sizing:border-box}.gift-inline-recipient .admin-note{margin:0 0 10px;font-size:.8125rem;color:var(--ink-mid,#4a4a4a)}.gift-inline-recipient button[type=submit]{width:100%;min-height:44px;border:none;border-radius:10px;background:var(--brand,#c41e1e);color:#fff;font:inherit;font-weight:700;cursor:pointer}.gift-steps{display:flex;flex-direction:column;gap:10px}.gift-step{border:1px solid var(--line,#ebe4e4);border-radius:14px;background:#fff;scroll-margin-top:8px}.gift-step.is-open{border-color:var(--brand,#c41e1e);box-shadow:0 0 0 1px var(--brand,#c41e1e) inset}.gift-step-head{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 14px;border:none;border-radius:14px;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.gift-step-head:disabled{cursor:default}.gift-step:not(.is-open):not(.is-done) .gift-step-head:disabled{opacity:.55}.gift-step-num{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--paper-muted,#f7f4f4);color:var(--ink-mid,#4a4a4a);font-size:.9375rem;font-weight:800}.gift-step.is-open .gift-step-num{background:var(--brand,#c41e1e);color:#fff}.gift-step.is-done .gift-step-num{background:#16a34a;color:#fff}.gift-step-text{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.gift-step-title{font-size:1rem;font-weight:800;color:var(--ink,#141414)}.gift-step-sum{font-size:.875rem;color:var(--ink-mid,#4a4a4a);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gift-step-edit{flex-shrink:0;font-size:.875rem;font-weight:700;color:var(--brand-dk,#9a1515)}.gift-step-body{display:flex;flex-direction:column;gap:12px;padding:0 14px 14px}.gift-occasions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.gift-occasion{position:relative;display:flex;flex-direction:column;gap:2px;min-height:64px;padding:10px 12px;border:1px solid var(--line-strong,#d9cece);border-radius:12px;background:#fff;cursor:pointer}.gift-occasion input{position:absolute;opacity:0;pointer-events:none}.gift-occasion:has(input:focus-visible){outline:2px solid var(--brand,#c41e1e);outline-offset:2px}.gift-occasion.is-on{border-color:var(--brand,#c41e1e);background:var(--brand-soft,#faf2f2);box-shadow:0 0 0 1px var(--brand,#c41e1e) inset}.gift-occasion-name{font-size:.9375rem;font-weight:700;line-height:1.3;color:var(--ink,#141414)}.gift-occasion-when{font-size:.8125rem;color:var(--ink-lt,#737373)}.gift-occasion.is-on .gift-occasion-when{color:var(--brand-dk,#9a1515)}.gift-field{display:flex;flex-direction:column;gap:4px;font-size:.8125rem;font-weight:600;color:var(--ink-mid,#4a4a4a)}.gift-field input,.gift-field textarea{width:100%;box-sizing:border-box;min-height:44px;padding:9px 11px;border:1px solid var(--line-strong,#d9cece);border-radius:10px;background:#fff;font:inherit;font-size:1rem;font-weight:400;color:var(--ink,#141414)}.gift-field input[aria-invalid=true],.gift-field textarea[aria-invalid=true]{border-color:#dc2626;box-shadow:inset 0 0 0 1px #dc2626}.gift-field-error{font-size:.8125rem;font-weight:600;color:#b91c1c}.gift-field-count{font-size:.75rem;font-weight:400;color:var(--ink-lt,#737373)}.gift-bill{display:flex;flex-direction:column;gap:8px;margin:0}.gift-bill>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:.9rem}.gift-bill dt{min-width:0;display:flex;flex-direction:column;gap:1px;color:var(--ink-mid,#4a4a4a)}.gift-bill dt small{font-size:.78rem;color:var(--ink-lt,#737373)}.gift-bill dd{margin:0;flex-shrink:0;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.gift-bill-total{padding-top:10px;border-top:1px solid var(--line,#ebe4e4)}.gift-bill-total dt{font-weight:800;color:var(--ink,#141414)}.gift-bill-total dd{font-size:1.2rem;color:var(--brand-dk,#9a1515)}.gift-saved{margin:12px 0 0}