.gx{background:var(--g-bg);min-height:100dvh;color:var(--g-ink);-webkit-font-smoothing:antialiased;font-family:Manrope,system-ui,sans-serif;position:relative;overflow-x:hidden;container-type:inline-size}.gx-preview{height:100%;min-height:100%;overflow-y:auto}.gx *,.gx :before,.gx :after{box-sizing:border-box}.gx-display{font-family:var(--g-display);font-style:var(--g-display-style);font-weight:var(--g-display-weight);overflow-wrap:anywhere;margin:0}.gx-script{font-family:var(--g-script);font-size:calc(30px * var(--g-script-scale));color:var(--g-accent);margin:0}.gx-eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--g-accent);font-size:12px;font-weight:700}.gx-eyebrow-light{color:#fff8f0}.gx-small{color:var(--g-muted);margin:0;font-size:13px}.gx-error{color:var(--g-accent)}.gx-body{font-family:var(--g-body);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:19px;line-height:1.7}.gx-btn{background:var(--g-accent);min-height:48px;color:var(--g-on-accent);font:inherit;letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0 24px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.gx-btn:disabled{opacity:.45;cursor:not-allowed}.gx-btn-lg{min-height:56px;box-shadow:0 12px 26px color-mix(in srgb, var(--g-accent) 30%, transparent);padding:0 32px}.gx-btn-ink{background:var(--g-ink);color:var(--g-bg)}.gx-btn:focus-visible,.gx button:focus-visible,.gx a:focus-visible,.gx textarea:focus-visible{outline:3px solid var(--g-accent);outline-offset:3px}.gx-stage{min-height:100dvh;padding:72px 24px calc(48px + env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 30%, var(--g-glow), var(--g-bg) 70%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gx-preview .gx-stage{min-height:100%}.gx-date{top:calc(30px + env(safe-area-inset-top));text-align:center;letter-spacing:3px;color:var(--g-accent);font-size:11px;position:absolute;left:0;right:0}.gx-skip{top:calc(16px + env(safe-area-inset-top));min-height:44px;font:inherit;letter-spacing:2px;text-transform:uppercase;color:var(--g-muted);cursor:pointer;background:0 0;border:none;padding:0 14px;font-size:12px;font-weight:600;position:absolute;right:12px}.gx-closed,.gx-opening{text-align:center;z-index:1;flex-direction:column;align-items:center;gap:36px;max-width:440px;display:flex;position:relative}.gx-waiting{font-size:clamp(28px,8cqi,40px);line-height:1.18}.gx-box-btn{cursor:pointer;background:0 0;border:none;padding:0}.gx-sparkles{pointer-events:none;color:color-mix(in srgb, var(--g-accent) 45%, var(--g-bg));position:absolute;inset:0}.gx-sparkles svg{animation:3s ease-in-out infinite gx-glint;position:absolute}@keyframes gx-glint{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.15)}}.gx-box{display:block;position:relative}.gx-box>span{display:block;position:absolute}.gx-bob{animation:2.6s ease-in-out infinite gx-bob}@keyframes gx-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.gx-box-body{background:linear-gradient(90deg, var(--g-box-dark), var(--g-box) 30%, var(--g-box) 70%, var(--g-box-dark));height:60%;box-shadow:0 26px 40px color-mix(in srgb, var(--g-box-dark) 35%, transparent);border-radius:8px;bottom:7%;left:5.8%;right:5.8%}.gx-box-lid{background:linear-gradient(180deg, var(--g-box), var(--g-box-dark));border-radius:7px;height:17.6%;top:25.6%;left:0;right:0;box-shadow:0 6px 10px #0000002e}.gx-ribbon-v{background:linear-gradient(90deg, var(--g-ribbon-shade), var(--g-ribbon) 50%, var(--g-ribbon-shade));width:11.6%;top:25.6%;bottom:7%;left:44.2%}.gx-ribbon-h{background:linear-gradient(180deg, var(--g-ribbon-shade), var(--g-ribbon) 50%, var(--g-ribbon-shade));height:8.8%;top:60%;left:5.8%;right:5.8%}.gx-bow{border:2px solid var(--g-bow-line);border-radius:50%;width:23.3%;height:16.8%;top:4%}.gx-bow-l{background:linear-gradient(160deg, var(--g-bow), var(--g-bow-shade));left:27.5%;transform:rotate(-22deg)}.gx-bow-r{background:linear-gradient(200deg, var(--g-bow), var(--g-bow-shade));left:49.2%;transform:rotate(22deg)}.gx-bow-tail{background:var(--g-bow-shade);border-radius:0 0 3px 3px;width:5.8%;height:12%;top:16%}.gx-bow-tail-l{left:43.3%;transform:rotate(18deg)}.gx-bow-tail-r{left:50.8%;transform:rotate(-18deg)}.gx-bow-knot{background:linear-gradient(var(--g-bow), var(--g-bow-shade));border:2px solid var(--g-bow-line);border-radius:50%;width:11.6%;height:8.8%;top:11.2%;left:44.2%}.gx-open-box .gx-box-lid,.gx-open-box .gx-bow,.gx-open-box .gx-bow-knot,.gx-open-box .gx-bow-tail{animation:1s cubic-bezier(.3,.6,.3,1) forwards gx-lid}.gx-open-box .gx-bow,.gx-open-box .gx-bow-knot,.gx-open-box .gx-bow-tail{animation-name:gx-bow-fly;animation-duration:1.1s}@keyframes gx-lid{to{opacity:0;transform:translateY(-170px)rotate(-16deg)}}@keyframes gx-bow-fly{to{opacity:0;transform:translateY(-240px)rotate(24deg)}}.gx-reduced .gx-open-box{display:none}.gx-reveal{flex-direction:column;align-items:center;gap:12px;display:flex}.gx-reveal-name{font-size:clamp(44px,14cqi,64px);line-height:1}.gx-confetti{pointer-events:none;position:absolute;inset:-40px 0 0;overflow:hidden}.gx-confetti span{border-radius:2px;animation-name:gx-fall;animation-timing-function:ease-in;animation-fill-mode:both;position:absolute;top:0}@keyframes gx-fall{0%{opacity:0;transform:translateY(-40px)rotate(0)}15%{opacity:1}to{opacity:0;transform:translateY(110vh)rotate(320deg)}}.gx-in{animation:.7s ease-out both gx-in}@keyframes gx-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.gx-page{flex-direction:column;max-width:640px;margin:0 auto;display:flex}.gx-hero{background:var(--g-bg2);align-items:flex-end;min-height:min(78vh,620px);display:flex;position:relative;overflow:hidden}.gx-preview .gx-hero{min-height:480px}.gx-hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.gx-hero-text{color:#fff8f0;background:linear-gradient(#0000,#1e0a0e9e);flex-direction:column;gap:6px;width:100%;padding:30px 24px;display:flex;position:relative}.gx-hero-name{font-size:clamp(48px,15cqi,72px);line-height:1}.gx-hero-date{letter-spacing:2px;font-size:13px}.gx-hero-plain{text-align:center;color:var(--g-ink);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:min(64vh,520px);padding:60px 24px}.gx-hero-plain .gx-hero-date{color:var(--g-muted)}.gx-section{flex-direction:column;gap:18px;padding:52px 26px 44px;display:flex}.gx-sign{font-size:calc(30px * var(--g-script-scale))}.gx-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:0;display:grid}.gx-gallery img{aspect-ratio:4/5;object-fit:cover;border-radius:8px;width:100%}.gx-prayers{text-align:center;background:linear-gradient(var(--g-bg), var(--g-bg2));align-items:center}.gx-prayers-title{color:var(--g-accent);font-size:clamp(30px,9cqi,40px);line-height:1.1}.gx-hint{font-size:calc(22px * var(--g-script-scale));color:var(--g-muted);margin-bottom:10px}.gx-envelopes{grid-template-columns:minmax(0,1fr);gap:18px;width:100%;max-width:420px;display:grid}@container (width>=720px){.gx-envelopes{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:22px;width:min(980px,92cqi);max-width:none}.gx-prayers{background:0 0}}.gx-envelope{aspect-ratio:8/5;cursor:pointer;width:100%;height:auto;min-height:150px;font:inherit;background:var(--g-env);color:var(--g-ink);border:none;border-radius:6px;padding:0;transition:transform .2s;position:relative;overflow:hidden;box-shadow:0 14px 26px #3c0e1a1f}.gx-envelope:hover{transform:translateY(-2px)!important}.gx-flap-a,.gx-flap-b{display:block;position:absolute;inset:0}.gx-flap-a{background:var(--g-flap-a);clip-path:polygon(0 0,100% 0,50% 58%)}.gx-flap-b{background:var(--g-flap-b);clip-path:polygon(0 100%,50% 46%,100% 100%)}.gx-env-no{font-family:var(--g-display);color:var(--g-muted);font-size:14px;font-style:italic;position:absolute;top:14px;left:16px}.gx-seal{color:#fff3f5;background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--seal) 75%, #fff), var(--seal) 70%);border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin:-30px 0 0 -26px;animation:2.6s ease-in-out infinite gx-seal;display:flex;position:absolute;top:50%;left:50%;box-shadow:0 6px 12px #280a144d,inset 0 -3px 6px #0000002e}@keyframes gx-seal{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.gx-env-title{text-align:center;font-family:var(--g-display);text-overflow:ellipsis;white-space:nowrap;font-size:22px;font-weight:600;position:absolute;bottom:18px;left:12px;right:12px;overflow:hidden}.gx-letter-card{aspect-ratio:8/5;border:1px solid var(--g-line);background:var(--g-card);width:100%;min-height:0;color:var(--g-ink);cursor:pointer;text-align:left;font:inherit;border-radius:6px;flex-direction:column;gap:12px;padding:22px;animation:.5s ease-out both gx-in;display:flex;overflow-y:auto;box-shadow:0 14px 26px #3c0e1a1a}.gx-letter-no{font-family:var(--g-display);color:var(--g-accent);font-size:14px;font-style:italic}.gx-letter-text{font-family:var(--g-body);white-space:pre-line;overflow-wrap:anywhere;font-size:19px;line-height:1.6}.gx-finale{text-align:center;align-items:center;gap:26px}.gx-finale-line{font-size:clamp(28px,8cqi,36px);line-height:1.15}.gx-thanks{text-align:left;background:var(--g-card);border:1px solid var(--g-line);border-radius:18px;flex-direction:column;gap:10px;width:100%;padding:20px;display:flex}.gx-thanks-label{font-family:var(--g-display);font-style:var(--g-display-style);font-size:22px}.gx-thanks textarea{border:1.5px solid var(--g-line);width:100%;font:inherit;background:var(--g-bg);color:var(--g-ink);resize:vertical;border-radius:12px;padding:12px;font-size:16px}.gx-thanks-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.gx-endcard{border:1px solid var(--g-line);color:#f6e9dc;background:#1a120e;border-radius:24px;flex-direction:column;gap:12px;margin:8px 16px 0;padding:34px 26px;display:flex}.gx-endcard-line{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:30px;line-height:1.15}.gx-endcard-sub{color:#c9bba8;margin:0;font-size:15px}.gx-endcard-btn{color:#1a120e;background:#f6e9dc;border-radius:999px;align-self:flex-start;align-items:center;min-height:52px;margin-top:6px;padding:0 26px;font-weight:700;text-decoration:none;display:inline-flex}.gx-footer{padding:18px 24px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--g-line);color:var(--g-muted);justify-content:space-between;align-items:center;gap:12px;margin-top:24px;font-size:12px;display:flex}.gx-footer a{color:var(--g-muted);align-items:center;min-height:44px;font-weight:700;display:inline-flex}.gx-footer-links{align-items:center;gap:18px;display:flex}.gx-replay{min-height:44px;color:var(--g-muted);font:inherit;cursor:pointer;background:0 0;border:none;align-self:center;margin:0 0 24px;font-size:13px;text-decoration:underline}.gx-photo-slot{z-index:1;aspect-ratio:4/5;background:var(--g-card);border-radius:4px;width:62%;max-width:230px;margin-bottom:10px;padding:10px 10px 34px;position:relative;transform:rotate(-3deg);box-shadow:0 16px 30px #280a1429}.gx-photo-slot:before{content:"";background:color-mix(in srgb, var(--g-accent) 28%, transparent);border-radius:2px;width:70px;height:22px;margin-left:-35px;position:absolute;top:-10px;left:50%;transform:rotate(4deg)}.gx-photo-slot-inner{border:2px dashed color-mix(in srgb, var(--g-ink) 30%, transparent);background:var(--g-bg2);width:100%;height:100%;color:var(--g-muted);text-align:center;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:8px;font-size:12px;font-weight:600;display:flex}.gx-jar-section{text-align:center;align-items:center}.gx-jar-wrap{flex-direction:column;align-items:center;gap:18px;width:100%;display:flex}.gx-jar{cursor:pointer;background:0 0;border:none;width:170px;height:220px;padding:0;position:relative}.gx-jar:active .gx-jar-body{transform:rotate(-4deg)}.gx-jar>span{display:block;position:absolute}.gx-jar-lid{background:linear-gradient(180deg, var(--g-box), var(--g-box-dark));z-index:2;border-radius:8px;height:26px;top:0;left:38px;right:38px;box-shadow:0 4px 8px #00000026}.gx-jar-neck{background:color-mix(in srgb, var(--g-card) 55%, transparent);border:2px solid color-mix(in srgb, var(--g-ink) 18%, transparent);border-bottom:none;height:16px;top:22px;left:46px;right:46px}.gx-jar-body{background:color-mix(in srgb, var(--g-card) 45%, transparent);border:2px solid color-mix(in srgb, var(--g-ink) 18%, transparent);box-shadow:inset 0 -12px 24px color-mix(in srgb, var(--g-accent) 10%, transparent), 0 18px 30px #280a141f;border-radius:34px 34px 40px 40px;transition:transform .25s;inset:36px 8px 0;overflow:hidden}.gx-jar-note{border-radius:3px;width:34px;height:24px;position:absolute;box-shadow:0 2px 4px #0000001f}.gx-jar-shine{background:linear-gradient(#ffffff8c,#fff0);border-radius:10px;width:14px;height:70%;position:absolute;top:18px;left:16px}.gx-note-card{background:var(--g-card);border:1px solid var(--g-line);border-radius:6px;flex-direction:column;gap:10px;width:100%;max-width:360px;padding:24px 22px 18px;animation:.55s cubic-bezier(.2,.8,.3,1.2) both gx-note;display:flex;transform:rotate(-1.2deg);box-shadow:0 14px 26px #3c0e1a1f}@keyframes gx-note{0%{opacity:0;transform:translateY(-40px)scale(.6)rotate(-8deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(-1.2deg)}}.gx-note-text{font-family:var(--g-display);font-style:var(--g-display-style);overflow-wrap:anywhere;margin:0;font-size:24px;line-height:1.3}@media (prefers-reduced-motion:reduce){.gx *,.gx :before,.gx :after{transition:none!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.gx-hero-title{text-align:center;padding:calc(72px + env(safe-area-inset-top)) 24px 60px;background:radial-gradient(circle at 50% 35%, var(--g-glow), var(--g-bg) 75%);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:min(64vh,520px);display:flex;position:relative;overflow:hidden}.gx-hero-title.with-photo{min-height:0;padding-bottom:28px}.gx-hero-title>:not(.gx-sparkles){position:relative}.gx-hero-title .gx-hero-name{color:var(--g-ink)}.gx-hero-title .gx-hero-date{color:var(--g-muted)}.gx-portrait{justify-content:center;padding:18px 22px 30px;display:flex}.gx-print{background:var(--g-card);border-radius:4px;flex-direction:column;align-items:center;max-width:100%;margin:0;padding:12px 12px 0;animation:.9s cubic-bezier(.2,.8,.3,1) both gx-print-in;display:inline-flex;position:relative;transform:rotate(-1.5deg);box-shadow:0 24px 44px #1e08102e,0 2px 6px #1e081014}.gx-print img{object-fit:contain;border-radius:2px;width:auto;max-width:100%;height:auto;max-height:min(72vh,620px);display:block}.gx-preview .gx-print img{max-height:400px}.gx-print-caption{font-family:var(--g-script);font-size:calc(30px * var(--g-script-scale));color:var(--g-accent);overflow-wrap:anywhere;text-align:center;padding:10px 6px 14px;line-height:1.2}.gx-tape{background:color-mix(in srgb, var(--g-accent) 26%, transparent);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);border-radius:2px;width:92px;height:26px;margin-left:-46px;position:absolute;top:-12px;left:50%;transform:rotate(-3deg)}@keyframes gx-print-in{0%{opacity:0;transform:translateY(24px)rotate(2deg)}to{opacity:1;transform:rotate(-1.5deg)}}.gx-btn-wa{color:#fff;letter-spacing:1px;background:#1f7a4d;align-self:flex-start;gap:8px;margin-top:6px}.gx-watermark{z-index:30;color:#f6e9dc;letter-spacing:2px;pointer-events:none;white-space:nowrap;background:#1a120ed1;border-radius:999px;width:max-content;margin:-44px auto 14px;padding:6px 14px;font-size:10px;font-weight:700;display:block;position:sticky;bottom:12px}.gx-heart-stage{color:#f6e9dc;min-height:100dvh;padding:40px 20px calc(110px + env(safe-area-inset-bottom));background:#0b0807;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.gx-preview .gx-heart-stage{min-height:100%}.gx-heart-stars{pointer-events:none;position:absolute;inset:0}.gx-heart-stars span{background:#f6e9dc;border-radius:50%;width:2px;height:2px;animation:4s ease-in-out infinite gx-star;position:absolute}@keyframes gx-star{0%,to{opacity:.15}50%{opacity:.8}}.gx-countdown{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gx-countdown span{opacity:0;font-family:Cormorant Garamond,Georgia,serif;font-size:96px;font-weight:300;animation:.9s ease-out both gx-blink;position:absolute}.gx-countdown span.word{letter-spacing:10px;font-size:clamp(38px,13cqi,54px)}@keyframes gx-blink{0%{opacity:0;transform:scale(.92)}20%{opacity:1;transform:scale(1)}80%{opacity:1}to{opacity:0;transform:scale(1.04)}}.gx-heart-art{width:300px;height:300px;position:relative}.gx-heart-inner{position:absolute;inset:0}.gx-heart-inner .particle{position:absolute}.gx-for-you{text-align:center;font-family:Cormorant Garamond,Georgia,serif;font-size:42px;font-style:italic;font-weight:300;animation:1.2s ease-out 8.6s both gx-fade;position:absolute;top:112px;left:0;right:0}.gx-heart-name{text-align:center;flex-direction:column;align-items:center;gap:6px;max-width:100%;margin-top:18px;animation:1.2s ease-out 9.6s both gx-fade;display:flex}.gx-heart-name .small{letter-spacing:7px;font-family:Cormorant Garamond,Georgia,serif;font-size:22px;font-weight:300}.gx-heart-name .big{letter-spacing:6px;overflow-wrap:anywhere;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(30px,10cqi,40px);font-weight:400;line-height:1.1}.gx-heart-name .tiny{letter-spacing:3px;color:#c9bba8;font-size:10px}@keyframes gx-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.gx-heart-actions{left:0;right:0;bottom:calc(28px + env(safe-area-inset-bottom));justify-content:center;gap:10px;display:flex;position:absolute}.gx-heart-stage .gx-ghost-btn{color:#c9bba8;border:1px solid #4a3a30}.gx-heart-stage .gx-btn{color:#0b0807;background:#f6e9dc}.gx-btn-quiet{border:1px solid #4a3a30;color:#c9bba8!important;background:0 0!important}.gx-ghost-btn{border:1px solid var(--g-line);min-height:44px;color:var(--g-ink);font:inherit;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:13px;font-weight:600;display:inline-flex}.gx-ghost-btn:disabled{opacity:.5}.gx-sealed{text-align:center;color:#f6e9dc;background:radial-gradient(circle at 50% 30%,#2a1a22,#0e0a0c 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:60px 24px;display:flex}.gx-preview .gx-sealed{min-height:100%}.gx-seal-orb{color:#fff3f5;background:radial-gradient(circle at 35% 30%,#d9475e,#7a1426 70%);border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;animation:2.6s ease-in-out infinite gx-seal;display:flex;box-shadow:0 0 40px #d9475e59,inset 0 -4px 8px #00000040}.gx-sealed-eyebrow{letter-spacing:3px;text-transform:uppercase;color:#e2c48e;font-size:11px;font-weight:700}.gx-sealed-title{overflow-wrap:anywhere;max-width:440px;margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(28px,9cqi,40px);font-weight:400;line-height:1.15}.gx-sealed-count{gap:12px;display:flex}.gx-sealed-count div{background:#f6e9dc0d;border:1px solid #f6e9dc2e;border-radius:14px;flex-direction:column;align-items:center;gap:4px;width:82px;padding:14px 0 10px;display:flex}.gx-sealed-count b{font-variant-numeric:tabular-nums;font-family:Cormorant Garamond,Georgia,serif;font-size:40px;font-weight:400;line-height:1}.gx-sealed-count span{letter-spacing:2px;color:#c9bba8;font-size:10px}.gx-sealed-note{color:#c9bba8;max-width:320px;margin:0;font-size:14px;line-height:1.5}.gx-sealed .gx-btn{color:#0e0a0c;background:#f6e9dc}.gx-music-pill-wrap{top:calc(10px + env(safe-area-inset-top));z-index:20;justify-content:flex-end;height:0;padding:0 12px;display:flex;position:sticky}.gx-music-pill{border:1px solid var(--g-line);background:color-mix(in srgb, var(--g-card) 92%, transparent);min-height:40px;color:var(--g-ink);font:inherit;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 6px 16px #280a141f}.gx-mini-bars{align-items:flex-end;gap:2px;height:14px;display:inline-flex}.gx-mini-bars span{background:var(--g-accent);transform-origin:bottom;border-radius:2px;width:3px;height:14px;animation:.8s ease-in-out infinite alternate gx-bar}@keyframes gx-bar{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}.gx-song{text-align:center;align-items:center;gap:16px}.gx-record{background:#120a0c;border-radius:50%;width:230px;height:230px;margin:6px 0;position:relative;box-shadow:0 24px 40px #3c0e1a47}.gx-record.spinning{animation:6s linear infinite gx-spin}@keyframes gx-spin{to{transform:rotate(360deg)}}.gx-record>span{border-radius:50%;display:block;position:absolute}.gx-record-grooves{background:repeating-radial-gradient(circle,#1d1216 0 2px,#120a0c 2px 4px);inset:8px}.gx-record-label{background:radial-gradient(circle at 35% 30%, color-mix(in srgb, var(--g-accent) 70%, #fff), var(--g-accent));background-position:50%;background-size:cover;border:3px solid #f6e9dc;width:92px;height:92px;margin:-46px 0 0 -46px;top:50%;left:50%}.gx-record-hole{background:var(--g-bg);width:10px;height:10px;margin:-5px 0 0 -5px;top:50%;left:50%}.gx-song-title{font-size:clamp(24px,7.5cqi,30px);line-height:1.15}.gx-progress{background:var(--g-line);border-radius:4px;width:100%;max-width:300px;height:4px;overflow:hidden}.gx-progress span{background:var(--g-accent);height:100%;display:block}.gx-progress-times{width:100%;max-width:300px;color:var(--g-muted);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:-8px;font-size:11px;display:flex}.gx-player{align-items:center;gap:22px;display:flex}.gx-round{border:1px solid var(--g-line);background:var(--g-card);width:48px;height:48px;color:var(--g-ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.gx-play{background:var(--g-accent);width:72px;height:72px;color:var(--g-on-accent);cursor:pointer;box-shadow:0 12px 26px color-mix(in srgb, var(--g-accent) 35%, transparent);border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.gx-play.glow{animation:2s ease-in-out infinite gx-pulse}@keyframes gx-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--g-accent) 40%, transparent)}50%{box-shadow:0 0 0 14px color-mix(in srgb, var(--g-accent) 0%, transparent)}}.gx-photoheart{text-align:center;align-items:center;gap:8px;padding-left:0;padding-right:0}.gx-heart-collage{width:390px;max-width:100%;margin-top:18px;position:relative}.gx-polaroid{cursor:pointer;background:#fffdfb;border:none;border-radius:3px;padding:4px 4px 11px;animation:.7s cubic-bezier(.2,.8,.3,1.1) both gx-tile;position:absolute;box-shadow:0 8px 16px #3c0e1a2e}.gx-safe-photo{background:linear-gradient(110deg,#efe4e0 30%,#f8f0ed 50%,#efe4e0 70%) 0 0/200% 100%;border-radius:2px;width:100%;height:100%;animation:1.4s linear infinite gx-shimmer;display:block;position:relative;overflow:hidden}.gx-safe-photo.loaded{background:0 0;animation:none}@keyframes gx-shimmer{to{background-position:-200% 0}}.gx-safe-photo img{object-fit:cover;transform-origin:0 0;width:200%;max-width:none;height:200%;display:block;position:absolute;top:0;left:0;transform:scale(.5)}.gx-polaroid.centre{z-index:2;padding:5px 5px 13px;animation-duration:.8s;animation-delay:.85s;transform:rotate(-2deg);box-shadow:0 14px 26px #3c0e1a38}@keyframes gx-tile{0%{opacity:0;translate:var(--fx) var(--fy);scale:.4}to{opacity:1;translate:0;scale:1}}@container (width<=370px){.gx-heart-collage{zoom:.88}}.gx-lightbox{box-sizing:border-box;z-index:50;padding:24px 16px calc(24px + env(safe-area-inset-bottom));background:#1e0a10e6;flex-direction:column;justify-content:center;align-items:center;gap:18px;font-family:Manrope,system-ui,sans-serif;animation:.3s ease-out both gx-in;display:flex;position:fixed;inset:0}.phone-screen>.gx-lightbox,.preview-overlay-body>.gx-lightbox{position:absolute}.gx-lightbox img{object-fit:contain;border-radius:4px;max-width:100%;max-height:calc(100% - 90px);box-shadow:0 24px 50px #0006}.gx-lightbox-nav{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.gx-lightbox-nav button{color:#fff8f0;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff6;border-radius:999px;padding:0 18px;font-weight:600}.gx-lightbox-nav .close{color:#5c1a2b;background:#fff8f0;border:none;font-weight:700}.gx-cake-section{text-align:center;background:radial-gradient(circle at 50% 35%, var(--g-glow), var(--g-bg) 75%);align-items:center;gap:14px;padding-bottom:56px;position:relative;overflow:hidden}.gx-cake{width:280px;height:250px;margin:26px 0 18px;position:relative}.gx-cake>span{display:block;position:absolute}.gx-cake .plate{background:linear-gradient(#fbf5ee,#e2d6c8);border-radius:50%;width:280px;height:26px;bottom:0;left:0;box-shadow:0 10px 22px #5c1a2b38}.gx-cake .tier1{background:linear-gradient(90deg, var(--g-box-dark), var(--g-box) 50%, var(--g-box-dark));border-radius:0 0 10px 10px;width:220px;height:96px;bottom:13px;left:30px}.gx-cake .top1{background:var(--g-box);border-radius:50%;width:220px;height:28px;bottom:95px;left:30px}.gx-cake .tier2{background:linear-gradient(90deg, var(--g-box-dark), var(--g-box) 50%, var(--g-box-dark));border-radius:0 0 8px 8px;width:130px;height:80px;bottom:105px;left:75px}.gx-cake .top2{background:var(--g-box);border-radius:50%;width:130px;height:22px;bottom:172px;left:75px}.gx-cake .drips{justify-content:space-between;align-items:flex-start;display:flex}.gx-cake .drips i{background:#f3e6d6;border-radius:0 0 5px 5px;width:8px;display:block}.gx-cake .d1{width:208px;height:20px;bottom:84px;left:36px}.gx-cake .d2{width:120px;height:18px;bottom:163px;left:80px}.gx-cake .pearls{justify-content:space-between;display:flex}.gx-cake .pearls i{background:#fff8f0;border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 1px 1px #00000026}.gx-cake .p1{width:216px;bottom:10px;left:32px}.gx-cake .p2{width:128px;bottom:102px;left:76px}.gx-cake .cherry{background:radial-gradient(circle at 35% 35%,#d9475e,#7a1426);border-radius:50%;width:12px;height:12px;bottom:182px}.gx-cake .c1{left:82px}.gx-cake .c2{left:186px}.gx-cake .candle{flex-direction:column;align-items:center;width:10px;display:flex;bottom:186px}.gx-cake .stick{background:repeating-linear-gradient(135deg,#fff8f0 0 5px,#d98a9a 5px 9px);border-radius:3px;width:8px;height:40px;display:block}.gx-cake .flame{transform-origin:50% 100%;background:radial-gradient(circle at 50% 75%,#cfe3f0 0 18%,#fff3c4 30%,#f2b33d 65%,#e8788a);border-radius:50%/60% 60% 40% 40%;width:10px;height:18px;margin-bottom:2px;animation:1s ease-in-out infinite gx-flame;display:block;box-shadow:0 0 18px 6px #f2b33d73}@keyframes gx-flame{0%,to{transform:scaleY(1)translate(0)}50%{transform:scaleY(1.15)translate(.5px)}}.gx-cake .smoke{width:10px;height:18px;margin-bottom:2px;display:block;position:relative}.gx-cake .smoke:after{content:"";background:#8c787d80;border-radius:50%;width:10px;height:10px;animation:1.6s ease-out both gx-smoke;position:absolute;top:4px;left:0}@keyframes gx-smoke{0%{opacity:.7;transform:translateY(0)scale(.6)}to{opacity:0;transform:translateY(-40px)scale(1.4)}}.gx-cake-section .gx-confetti span{animation-name:gx-fall}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light only;--ink:#0e0a08;--night:#17110d;--night-line:#2a201a;--cream:#f4ede2;--cream-2:#ede3d5;--paper:#fffdf8;--text-dark:#1a120e;--text-mid:#4a3a30;--text-light:#ede4d6;--text-light-mid:#c9bba8;--text-light-dim:#b9aa97;--wine:#7a1f2e;--wine-deep:#4a1220;--rose:#e8788a;--blush:#f2b5be;--gold:#e2c48e;--line:#dccdb9;--serif:"Cormorant Garamond", Georgia, serif;--sans:Manrope, system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--ink);color:var(--text-light);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%}a{color:var(--gold)}button{font:inherit}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-light{background:var(--text-light);color:var(--ink)}.btn-dark{background:var(--text-dark);color:var(--cream)}.btn-wine{background:var(--wine);color:#fff6ec}.btn-ghost{color:inherit;background:0 0;border-color:currentColor}.btn-outline-light{color:var(--text-light);background:0 0;border-color:#5a473b;font-weight:600}.btn-whatsapp{color:#fff;background:#1f7a4d}.btn-lg{min-height:56px;padding:0 30px}.btn-danger{color:#a3263c;background:0 0;border-color:#e3b9c1}.link-btn{color:inherit;cursor:pointer;background:0 0;border:none;min-height:44px;padding:0;text-decoration:underline}.eyebrow{letter-spacing:4px;text-transform:uppercase;color:var(--gold);align-items:center;gap:12px;font-size:11px;font-weight:600;display:inline-flex}.eyebrow:before{content:"";background:currentColor;width:34px;height:1px}.eyebrow.wine{color:var(--wine)}.display{font-family:var(--serif);letter-spacing:-.5px;margin:0;font-weight:300}.display em{font-style:italic}.hint{color:var(--text-mid);margin:0;font-size:13px;line-height:1.5}.landing{overflow-x:hidden}.wrap{max-width:1240px;margin:0 auto;padding-left:20px;padding-right:20px}.hero{border-bottom:1px solid var(--night-line);position:relative;overflow:hidden}.stars{pointer-events:none;position:absolute;inset:0}.stars span{background:#f6e9dc;border-radius:50%;animation:4s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.15}50%{opacity:.8}}.hero-glow{pointer-events:none;background:radial-gradient(circle,#7a1f2e52,#0000 60%);width:900px;height:900px;position:absolute;top:40%;left:55%;transform:translate(-50%,-50%)}.site-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;padding-bottom:20px;display:flex;position:relative}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{object-fit:contain;width:48px;height:48px}.brand-name{flex-direction:column;line-height:1.1;display:flex}.brand-name b{font-family:var(--serif);font-size:23px;font-weight:500}.brand-name small{letter-spacing:3px;text-transform:uppercase;color:var(--text-light-dim);font-size:10px}.site-nav{letter-spacing:1.5px;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:22px;font-size:12px;display:flex}.site-nav a{color:var(--text-light);text-decoration:none}.site-nav .pill{border:1px solid #4a3a30;border-radius:999px;padding:10px 16px}.hero-grid{flex-wrap:wrap;align-items:center;gap:40px;padding-top:36px;padding-bottom:96px;display:flex;position:relative}.hero-copy{flex-direction:column;flex:440px;gap:26px;min-width:0;display:flex}.hero-title{font-size:clamp(48px,9vw,84px);line-height:.96}.hero-title em{color:var(--blush)}.hero-sub{color:var(--text-light-mid);max-width:470px;margin:0;font-size:18px;line-height:1.7}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero-note{color:var(--text-light-dim);margin:0;font-size:13px}.hero-art{flex-direction:column;flex:380px;align-items:center;gap:8px;min-width:0;display:flex}.heart-stage{aspect-ratio:420/400;width:420px;max-width:100%;position:relative}.heart-inner{transform-origin:top;width:420px;height:400px;position:absolute;top:0;left:50%}.heart-stage .for-you{text-align:center;font-family:var(--serif);color:#f6e9dc;font-size:46px;font-style:italic;font-weight:300;animation:1.2s ease-out 2.6s both fade-up;position:absolute;top:41%;left:0;right:0}.particle{border-radius:50%;animation:2.4s cubic-bezier(.2,.7,.2,1) both form,3s ease-in-out infinite glow;position:absolute}@keyframes form{0%{transform:translate(var(--sx), var(--sy)) scale(.4);opacity:0}25%{opacity:1}to{opacity:1;transform:none}}@keyframes glow{0%,to{opacity:1}50%{opacity:.4}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.ghost-btn{min-height:44px;color:var(--text-light-dim);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;padding:0 18px;font-size:12px}.section{padding-top:100px;padding-bottom:100px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;display:flex}.section-title{max-width:660px;font-size:clamp(40px,6vw,60px);line-height:1}.section-title em{color:var(--blush)}.section-lede{max-width:340px;color:var(--text-light-mid);margin:0;font-size:16px;line-height:1.7}.scenes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.scene{flex-direction:column;gap:16px;display:flex}.scene-art{border-radius:22px;justify-content:center;align-items:center;height:300px;display:flex;position:relative;overflow:hidden}.scene-kicker{letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:0 0 6px;font-size:11px}.scene h3{font-family:var(--serif);margin:0 0 6px;font-size:28px;font-weight:500}.scene p{color:var(--text-light-mid);margin:0;font-size:15px;line-height:1.6}.mini-env{background:#f3d7dd;border-radius:5px;width:190px;height:128px;position:relative;overflow:hidden;transform:rotate(-2deg);box-shadow:0 14px 24px #7a14262e}.mini-env .a,.mini-env .b{position:absolute;inset:0}.mini-env .a{clip-path:polygon(0 0,100% 0,50% 58%);background:#efcbd3}.mini-env .b{clip-path:polygon(0 100%,50% 46%,100% 100%);background:#f6dfe4}.mini-env .seal{color:#fff3f5;background:radial-gradient(circle at 35% 30%,#d9475e,#b42c46 70%);border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin:-24px 0 0 -20px;animation:2.4s ease-in-out infinite pulse;display:flex;position:absolute;top:50%;left:50%}@keyframes pulse{0%,to{box-shadow:0 0 #d9475e73}50%{box-shadow:0 0 0 12px #d9475e00}}.cream{background:var(--cream);color:var(--text-dark)}.cream .section-title em,.cream em{color:var(--wine)}.personalise{flex-wrap:wrap;align-items:center;gap:56px;display:flex}.personalise-copy{flex-direction:column;flex:380px;gap:22px;min-width:0;display:flex}.personalise-copy p{color:var(--text-mid);max-width:420px;margin:0;font-size:16px;line-height:1.7}.picker-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-mid);margin:0 0 10px;font-size:12px;font-weight:700}.chips{flex-wrap:wrap;gap:10px;display:flex}.chip{border:2px solid var(--line);min-height:44px;color:var(--text-dark);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 16px 0 12px;font-size:13px;font-weight:600;display:inline-flex}.chip[aria-pressed=true]{border-color:var(--text-dark)}.chip .dot{border:1px solid #00000026;border-radius:50%;width:18px;height:18px}.chip .dot+.dot{margin-left:-12px}.phone{aspect-ratio:300/600;background:#1a120e;border-radius:46px;width:300px;max-width:100%;padding:11px;box-shadow:0 40px 80px #1a120e47}.phone-screen{border-radius:36px;width:100%;height:100%;position:relative;overflow:hidden}.personalise-phone{flex:320px;justify-content:center;display:flex}.extras-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;display:grid}.extra-card{background:var(--night);border:1px solid var(--night-line);border-radius:24px;flex-direction:column;display:flex;overflow:hidden}.extra-art{background:#0b0807;justify-content:center;align-items:center;height:220px;display:flex;position:relative;overflow:hidden}.extra-body{flex-direction:column;gap:8px;padding:22px 24px 24px;display:flex}.extra-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.extra-top h3{font-family:var(--serif);margin:0;font-size:28px;font-weight:500}.price{color:var(--gold);white-space:nowrap;font-weight:600}.extra-body p{color:var(--text-light-mid);margin:0;font-size:15px;line-height:1.6}.soon{letter-spacing:1.5px;text-transform:uppercase;min-height:32px;color:var(--gold);border:1px solid #4a3a30;border-radius:999px;align-self:flex-start;align-items:center;padding:4px 10px;font-size:11px;text-decoration:none;display:inline-flex}.bars{align-items:center;gap:5px;height:60px;display:flex}.bars span{border-radius:2px;width:4px;height:60px;animation:1.2s ease-in-out infinite bar}@keyframes bar{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}.collage{grid-template-columns:repeat(7,20px);gap:4px;display:grid}.collage span{border-radius:4px;width:20px;height:20px}.orb{background:radial-gradient(circle at 35% 35%,#e8788a,#7a1f2e);border-radius:50%;width:60px;height:60px;animation:2.4s ease-in-out infinite pulse}.midnight-num{font-family:var(--serif);letter-spacing:4px;color:#f6e9dc;font-size:40px;font-weight:300}.flame{transform-origin:50% 100%;animation:1s ease-in-out infinite flame}@keyframes flame{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.18)}}.bundle{background:linear-gradient(120deg, var(--wine), var(--wine-deep));color:#fff6ec;border-radius:28px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:40px 34px;display:flex}.bundle h3{font-family:var(--serif);margin:0;font-size:44px;font-weight:300;line-height:1}.bundle p{color:#f2d9d2;margin:0}.bundle-price{font-family:var(--serif);font-size:54px}.steps3{border-top:1px solid var(--night-line);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.steps3>div{padding:34px 28px 0 0}.steps3 i{font-family:var(--serif);color:var(--gold);font-size:22px}.steps3 h3{font-family:var(--serif);margin:10px 0;font-size:36px;font-weight:400}.steps3 p{color:var(--text-light-mid);margin:0;line-height:1.7}.faq{flex-wrap:wrap;gap:48px;display:flex}.faq h2{flex:280px}.faq-list{flex:2 520px;min-width:0}.faq details{border-top:1px solid #d9cbb8;padding:20px 0}.faq details:last-child{border-bottom:1px solid #d9cbb8}.faq summary{cursor:pointer;min-height:32px;font-size:18px;font-weight:600}.faq details p{color:var(--text-mid);margin:12px 0 0;line-height:1.7}.site-footer{text-align:center;flex-direction:column;align-items:center;gap:24px;padding-top:80px;padding-bottom:36px;display:flex}.site-footer .closing{font-family:var(--serif);margin:0;font-size:clamp(30px,5vw,40px);font-style:italic;font-weight:300}.footer-bar{border-top:1px solid var(--night-line);width:100%;color:var(--text-light-dim);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:36px;padding-top:22px;font-size:13px;display:flex}.footer-bar nav{flex-wrap:wrap;gap:20px;display:flex}.app{background:var(--cream);min-height:100dvh;color:var(--text-dark)}.app-top{background:var(--ink);color:var(--text-light)}.app-top .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;min-height:68px;display:flex}.app-top nav{flex-wrap:wrap;align-items:center;gap:18px;font-size:14px;display:flex}.app-top nav a{color:var(--text-light);text-decoration:none}.panel{background:var(--paper);border:1px solid #e5d8c6;border-radius:22px;padding:26px;box-shadow:0 8px 24px #1a120e0d}.field{flex-direction:column;gap:8px;display:flex}.field-label{color:var(--text-dark);font-size:13px;font-weight:700}.field-help{color:var(--text-mid);font-size:12px}.input,.textarea{width:100%;font:inherit;color:var(--text-dark);background:#fff;border:1.5px solid #cdbca6;border-radius:12px;padding:12px 14px;font-size:16px}.input:focus,.textarea:focus{border-color:var(--wine);outline:none;box-shadow:0 0 0 3px #7a1f2e26}.textarea{resize:vertical;line-height:1.6}.error{color:#a3263c;margin:0;font-size:14px}.notice{color:#5a4320;background:#fff6e5;border:1px solid #ecd6a8;border-radius:14px;padding:12px 16px;font-size:14px;line-height:1.5}.notice.bad{color:#7a1f2e;background:#fbeaec;border-color:#eab7bf}.notice.good{color:#1f4d2b;background:#edf5ee;border-color:#bcd8c1}.auth{flex-wrap:wrap;min-height:100dvh;display:flex}.auth-art{background:var(--ink);color:var(--text-light);flex-direction:column;flex:360px;justify-content:space-between;gap:40px;padding:40px;display:flex;position:relative;overflow:hidden}.auth-art h1{font-size:clamp(40px,6vw,64px);line-height:1}.auth-form{background:var(--cream);color:var(--text-dark);flex:420px;justify-content:center;align-items:center;padding:40px 20px;display:flex}.auth-form form{flex-direction:column;gap:18px;width:100%;max-width:400px;display:flex}.editor{background:var(--cream);min-height:100dvh;color:var(--text-dark);flex-wrap:wrap;align-items:stretch;display:flex}.rail{background:var(--ink);max-width:100%;color:var(--text-light);flex-direction:column;flex:240px;gap:28px;padding:24px 20px;display:flex}.rail ol{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.rail li button{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:14px;align-items:center;gap:14px;padding:10px;display:flex}.rail li button[aria-current=step]{background:#1f1712}.badge{width:32px;height:32px;font-family:var(--serif);color:#8e7f6e;border:1px solid #3a2e26;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:16px;display:inline-flex}.badge.done{color:var(--gold);background:#2a201a;border-color:#0000}.badge.cur{background:var(--text-light);color:var(--ink);border-color:#0000;font-weight:600}.step-name{color:var(--text-light-mid);font-size:15px;font-weight:500}.rail li button[aria-current=step] .step-name{color:#fff6ec;font-weight:700}.step-sub{color:#8e7f6e;font-size:12px}.rail-foot{border-top:1px solid var(--night-line);color:var(--text-light-dim);flex-direction:column;gap:10px;margin-top:auto;padding-top:18px;font-size:13px;display:flex}.save-dot{background:#7fb38a;border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.save-dot.saving{background:var(--gold)}.save-dot.error{background:var(--rose)}.editor-main{flex-wrap:wrap;flex:999 560px;min-width:0;display:flex}.editor-form{flex-direction:column;flex:999 460px;gap:24px;min-width:0;padding:36px 32px 120px;display:flex}.editor-form h1{font-size:clamp(38px,5vw,54px);line-height:1}.editor-form h1 em{color:var(--wine)}.lede{color:var(--text-mid);max-width:540px;margin:0;font-size:16px;line-height:1.6}.editor-preview{background:var(--cream-2);border-left:1px solid #e0d2c0;flex-direction:column;flex:340px;align-self:flex-start;align-items:center;gap:14px;min-width:0;max-height:100dvh;padding:36px 28px;display:flex;position:sticky;top:0}.preview-phone{background:#1a120e;border-radius:46px;width:300px;height:610px;max-height:calc(100dvh - 160px);padding:10px;box-shadow:0 40px 70px #1a120e40}.preview-phone .phone-screen{border-radius:37px}.preview-bar{letter-spacing:3px;text-transform:uppercase;width:100%;max-width:300px;color:var(--text-mid);justify-content:space-between;font-size:11px;font-weight:600;display:flex}.grid2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.style-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.style-opt{border:2px solid var(--line);cursor:pointer;text-align:left;color:var(--text-dark);background:#fff;border-radius:18px;flex-direction:column;gap:10px;min-height:44px;padding:14px;display:flex}.style-opt[aria-pressed=true]{border-color:var(--wine);box-shadow:0 10px 24px #7a1f2e26}.swatch{border-radius:10px;height:56px;position:relative;overflow:hidden}.swatch i{border-radius:50%;width:22px;height:22px;position:absolute;bottom:10px;right:10px}.font-sample{font-size:30px;line-height:1.1}.photo-drop{background:#fff;border:2px dashed #cdbca6;border-radius:20px;flex-wrap:wrap;align-items:center;gap:18px;padding:22px;display:flex}.photo-drop img{object-fit:cover;border-radius:12px;width:120px;height:150px}.photo-ph{background:#fff;border-radius:4px;flex:none;width:132px;height:164px;padding:8px 8px 26px;position:relative;transform:rotate(-3deg);box-shadow:0 10px 22px #1a120e24}.photo-ph:before{content:"";background:#7a1f2e40;border-radius:2px;width:54px;height:18px;margin-left:-27px;position:absolute;top:-8px;left:50%;transform:rotate(4deg)}.photo-ph-inner{background:var(--cream-2);width:100%;height:100%;color:var(--text-mid);text-align:center;border:2px dashed #cdbca6;border-radius:2px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.photo-ph:hover .photo-ph-inner{border-color:var(--wine);color:var(--wine)}.wordcount{color:var(--text-mid);font-size:13px;font-weight:600}.wordcount.over{color:#a3263c}.prayer{background:#fff;border:1px solid #e5d8c6;border-radius:16px;gap:10px;padding:16px;display:grid}.form-nav{flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:8px;display:flex}.mobile-preview-btn{display:none}.preview-overlay{z-index:50;background:#0e0a08;flex-direction:column;display:flex;position:fixed;inset:0}.preview-overlay-bar{padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top));color:var(--text-light);justify-content:space-between;align-items:center;font-size:13px;display:flex}.preview-overlay-body{flex:1;min-height:0}@media (width<=860px){.editor-preview{display:none}.rail{flex-basis:100%;gap:14px;padding:14px 16px}.rail ol{flex-direction:row;gap:6px;overflow-x:auto}.rail li button{white-space:nowrap;padding:6px 10px 6px 6px}.step-sub,.rail-foot a{display:none}.rail-foot{flex-direction:row;justify-content:space-between;margin-top:0;padding-top:10px}.editor-form{padding:26px 18px 120px}.mobile-preview-btn{z-index:40;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));display:inline-flex;position:fixed;box-shadow:0 10px 24px #00000040}}.dash{flex-direction:column;gap:26px;padding-top:40px;padding-bottom:80px;display:flex}.dash-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dash-head h1{font-size:clamp(40px,6vw,56px)}.gift-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;display:grid}.gift-card{background:var(--paper);border:1px solid #e5d8c6;border-radius:22px;flex-direction:column;display:flex;overflow:hidden}.gift-card-top{flex-direction:column;gap:6px;min-height:130px;padding:22px;display:flex}.gift-card-top h2{font-family:var(--serif);overflow-wrap:anywhere;margin:0;font-size:30px;font-weight:500}.status{letter-spacing:1.5px;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:5px 10px;font-size:11px;font-weight:700}.status.published{color:#1f4d2b;background:#e5f1e7}.status.draft{color:#5a4320;background:#f1e9dc}.status.unpublished{color:#7a1f2e;background:#f4e2e5}.gift-card-actions{flex-wrap:wrap;gap:8px;padding:16px 22px 22px;display:flex}.gift-card-actions .btn{min-height:44px;padding:0 16px;font-size:14px}.empty{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:60px 20px;display:flex}.modal-back{z-index:60;background:#0e0a0899;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);width:100%;max-width:560px;max-height:calc(100dvh - 32px);color:var(--text-dark);border-radius:24px;flex-direction:column;gap:16px;padding:24px;display:flex;overflow:auto}@media (width>=700px){.modal-back{align-items:center}}.modal h2{font-family:var(--serif);margin:0;font-size:32px;font-weight:500}.note-item{white-space:pre-line;overflow-wrap:anywhere;border-top:1px solid #e5d8c6;padding:14px 0}.share{flex-direction:column;gap:12px;display:flex}.share-link{gap:8px;display:flex}.share-link input{min-width:0;font:inherit;min-height:48px;color:var(--text-dark);background:#fff;border:1.5px solid #cdbca6;border-radius:12px;flex:1;padding:0 12px;font-size:15px}.share-actions{flex-wrap:wrap;gap:8px;display:flex}.share-qr{background:#fff;border:1px solid #e5d8c6;border-radius:18px;flex-wrap:wrap;align-items:flex-start;gap:18px;padding:16px;display:flex}.share-qr img,.share-qr-ph{background:var(--cream-2);border-radius:8px;width:160px;height:160px}.share-qr-text{flex-direction:column;flex:180px;align-items:flex-start;gap:8px;display:flex}.share-qr-title{margin:0;font-weight:700}.info-page{flex-direction:column;gap:18px;max-width:760px;padding-top:48px;padding-bottom:80px;line-height:1.7;display:flex}.info-page h1{font-size:52px}.info-page h2{margin-top:18px;font-size:30px;font-weight:500}.info-page ul{flex-direction:column;gap:8px;margin:0;padding-left:20px;display:flex}.info-page p{margin:0}.info-page a{color:var(--wine)}.placeholder{background:#fff6e5;border:1px dashed #d8b46a;border-radius:12px;padding:14px 16px}.center-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100dvh;padding:24px;display:flex}.spinner{border:3px solid #0000001a;border-top-color:var(--wine);border-radius:50%;width:36px;height:36px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.idea-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.idea-chip{min-height:40px;color:var(--text-dark);cursor:pointer;background:#fff;border:1.5px solid #cdbca6;border-radius:999px;padding:0 14px;font-size:13px;font-weight:600}.idea-chip:hover{border-color:var(--wine)}.idea-chip[aria-pressed=true]{background:var(--text-dark);color:var(--cream);border-color:var(--text-dark)}.aff-row{align-items:center;gap:6px;display:flex}.aff-row .textarea{resize:none;flex:1;min-width:0}.aff-row{align-items:flex-start}.icon-btn{width:44px;height:44px;color:var(--text-mid);cursor:pointer;background:#fff;border:1.5px solid #e0d2c0;border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{color:var(--wine);border-color:var(--wine)}.art-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;display:grid}.art-tile{background:#fff;border:1px solid #e5d8c6;border-radius:18px;flex-direction:column;gap:8px;padding:14px;display:flex}.art-preview{aspect-ratio:1080/1240;background:var(--cream-2);border-radius:10px;justify-content:center;align-items:center;display:flex;overflow:hidden}.art-preview.card{aspect-ratio:1080/1350}.art-preview img{object-fit:contain;width:100%;height:100%;display:block}.art-title{margin:4px 0 0;font-weight:700}.ex-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;display:grid}.ex-card{border:2px solid var(--line);color:var(--text-dark);text-align:left;cursor:pointer;font:inherit;background:#fff;border-radius:20px;flex-direction:column;padding:0;transition:border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.ex-card.on{border-color:var(--wine);box-shadow:0 10px 24px #7a1f2e26}.ex-card:disabled{cursor:default;opacity:1}.ex-art{background:#0b0807;justify-content:center;align-items:center;height:128px;display:flex;overflow:hidden}.ex-art-inner{transform:scale(.68)}.ex-body{flex-direction:column;gap:6px;padding:14px 16px 16px;display:flex}.ex-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ex-name{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.1}.ex-price{color:var(--wine);white-space:nowrap;font-size:13px;font-weight:700}.ex-desc{color:var(--text-mid);font-size:13px;line-height:1.5}.ex-tick{letter-spacing:1px;text-transform:uppercase;color:var(--text-mid);margin-top:4px;font-size:12px;font-weight:700}.ex-card.on .ex-tick{color:var(--wine)}.ex-bundle{background:linear-gradient(120deg, var(--wine), var(--wine-deep));color:#fff6ec;text-align:left;cursor:pointer;font:inherit;border:2px solid #0000;border-radius:20px;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.ex-bundle.on{border-color:#e2c48e;box-shadow:0 12px 26px #4a12204d}.ex-bundle>span:first-child{flex-direction:column;gap:4px;display:flex}.ex-bundle-name{font-family:var(--serif);font-size:26px}.ex-bundle-sub{opacity:.8;font-size:13px}.ex-bundle-price{font-family:var(--serif);white-space:nowrap;font-size:30px}.ex-panel{background:var(--paper);border:1px solid #e5d8c6;border-radius:20px;flex-direction:column;gap:12px;padding:18px;display:flex}.ex-panel-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ex-panel-head h3{font-family:var(--serif);margin:0;font-size:26px;font-weight:400}.ex-panel-head span{color:var(--wine);font-size:13px;font-weight:700}.ex-song-ready,.ex-song-file{background:var(--cream);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.ex-song-ready svg{color:var(--wine);flex:none}.ex-song-file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ex-wave{align-items:center;gap:2px;height:60px;display:flex;position:relative}.ex-wave>span:not(.ex-wave-window){border-radius:2px;flex:1}.ex-wave-window{border:2px solid var(--wine);pointer-events:none;border-radius:8px;position:absolute;top:-2px;bottom:-2px}.ex-range{width:100%;min-height:44px;accent-color:var(--wine)}.ex-song-row{color:var(--text-mid);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.ex-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.ex-photo{aspect-ratio:1;background:var(--cream);border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ex-photo img{object-fit:cover;width:100%;height:100%}.ex-photo.main{outline:3px solid var(--wine);outline-offset:-3px}.ex-photo-tag{background:var(--wine);color:#fff6ec;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;position:absolute;bottom:4px;left:4px}.ex-photo.empty,.ex-photo.add{color:var(--text-mid);font:inherit;cursor:pointer;background:#fff;border:2px dashed #cdbca6;font-size:11px;font-weight:700}.ex-photo.add span[aria-hidden]{font-size:26px}.ex-photo-tools{background:linear-gradient(#0000,#0e0a08a6);justify-content:space-between;display:flex;position:absolute;bottom:0;left:0;right:0}.ex-photo-tools button{color:#fff;cursor:pointer;background:0 0;border:none;flex:1;min-height:34px;font-size:15px;font-weight:700}.ex-photo-tools button:disabled{opacity:.3}.ex-midnight{background:var(--ink);color:#f6e9dc;border-radius:14px;align-items:center;gap:12px;padding:14px;font-size:14px;line-height:1.4;display:flex}.ex-midnight small{color:#c9bba8;font-size:12px}.ex-midnight-orb{background:radial-gradient(circle at 35% 35%,#e8788a,#7a1f2e);border-radius:50%;flex:none;width:34px;height:34px}.ex-meter{background:#ede3d5;border-radius:3px;height:6px;overflow:hidden}.ex-meter span{background:var(--wine);height:100%;display:block}.ex-total{z-index:5;background:var(--ink);color:#ede4d6;border-radius:20px;flex-direction:column;gap:6px;padding:16px 18px;display:flex;position:sticky;bottom:12px;box-shadow:0 14px 30px #0e0a0840}.ex-total-row{color:#b9aa97;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px;display:flex}.ex-total-price{font-family:var(--serif);color:#ede4d6;font-size:32px}.ex-saving{color:#e2c48e;font-weight:700}.ex-total-note{color:#b9aa97;margin:0;font-size:12px;line-height:1.5}@media (width<=860px){.ex-total{bottom:calc(76px + env(safe-area-inset-bottom))}}.phone-screen,.preview-overlay-body{transform:translateZ(0)}.preview-overlay-body{position:relative;overflow:hidden}
