@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2ae47f08-module__h69qWW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2ae47f08-module__h69qWW__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_eb58308d-module__w_p2Lq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_eb58308d-module__w_p2Lq__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
.type-toggle{background:#ffffff0a;border:1px solid #f7f1e824;gap:10px;padding:5px;display:inline-flex}.type-option{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;flex:1;padding:10px 16px;font-family:DM Mono,monospace;font-size:.58rem;transition:all .2s}.type-option.active{color:var(--ink);background:#d99bff2e;box-shadow:inset 0 0 0 1px #d99bff52}.photo-picker{position:relative}.photo-picker>input{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.photo-picker-heading{margin-bottom:9px;display:block}.photo-picker-box{min-height:70px;color:var(--ink);letter-spacing:0;text-transform:none;background:#d99bff14;border:1px dashed #d99bff8c;align-items:center;gap:13px;padding:12px 14px;font-family:Space Grotesk,sans-serif;font-size:.85rem;transition:border-color .2s,background .2s,transform .2s;display:flex}.photo-picker:hover .photo-picker-box,.photo-picker:focus-within .photo-picker-box{border-color:var(--coral);background:#d99bff26;transform:translateY(-2px)}.photo-picker-icon{border:1px solid var(--coral);width:34px;height:34px;color:var(--coral);border-radius:50%;flex:0 0 34px;place-items:center;font-size:1.2rem;display:grid}.photo-picker-box span:nth-child(2){text-overflow:ellipsis;white-space:nowrap;gap:4px;min-width:0;display:grid;overflow:hidden}.photo-picker-box small{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.52rem}.photo-picker-arrow{color:var(--gold);margin-left:auto;font-size:1.1rem}.photo-layout-picker{gap:10px;display:grid}.photo-layout-label{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.56rem}.photo-layout-disclaimer{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.48rem}.photo-layout-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.photo-layout-option{min-height:84px;color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#ffffff0a;border:1px solid #d99bff38;place-items:center;gap:8px;padding:10px 14px;font-family:DM Mono,monospace;font-size:.54rem;transition:border-color .2s,transform .2s,background .2s;display:grid}.photo-layout-option:hover,.photo-layout-option:focus-visible{border-color:#d99bff7a;transform:translateY(-1px)}.photo-layout-option.active{border-color:var(--coral);background:#ff907014;box-shadow:inset 0 0 0 1px #ff907040}.photo-layout-swatch{background:#ffffff14;border:1px solid #f7f1e833;border-radius:6px;width:64px;height:42px;display:block;position:relative;overflow:hidden}.photo-layout-swatch:before,.photo-layout-swatch:after{content:"";background:#f7f1e847;display:block;position:absolute}.photo-layout-swatch[data-layout=top]:before{background:#d99bffad;height:22px;inset:0 0 auto}.photo-layout-swatch[data-layout=top]:after{border-radius:3px;height:10px;inset:22px 8px 6px}.photo-layout-swatch[data-layout=left]:before{background:#d99bffad;width:28px;inset:5px auto 5px 0}.photo-layout-swatch[data-layout=left]:after{border-radius:3px;inset:9px 8px 9px 34px}.photo-crop-controls{background:#ffffff0a;border:1px solid #d99bff33;gap:12px;padding:14px 16px;display:grid}.photo-crop-header{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;font-family:DM Mono,monospace;font-size:.56rem;display:flex}.photo-crop-header small{color:var(--muted)}.photo-crop-preview{aspect-ratio:1.45;background:linear-gradient(135deg,#cdb2f1,#aa82cf);border:0;align-items:stretch;width:min(100%,820px);max-width:820px;height:clamp(160px,20vw,260px);margin:0 auto;display:grid;position:relative;overflow:hidden;box-shadow:8px 10px #42235426}.photo-crop-preview.photocard-mode{aspect-ratio:1.45;max-height:260px}.photo-crop-preview.letter-mode{aspect-ratio:1.45;background:linear-gradient(#fffdfb 0%,#fff4f2 100%);border:1px solid #c9abd975;border-radius:16px;width:min(100%,820px);height:clamp(160px,20vw,300px);max-height:300px;overflow:hidden;box-shadow:0 18px 30px #21152c1a,inset 0 0 0 1px #8862962e}.photo-crop-preview.letter-mode.layout-top{grid-template-rows:auto 1fr;grid-template-columns:1fr}.photo-crop-preview.letter-mode.layout-left{grid-template-columns:1.12fr .88fr;gap:12px;padding:12px}.photo-crop-preview.letter-mode:before,.photo-crop-preview.letter-mode:after{display:none}.photo-crop-preview:before{content:"";z-index:1;background:linear-gradient(145deg,#3717584d,#371758c2);position:absolute;inset:0}.photo-crop-preview:after{content:"";z-index:1;border:1px solid #fffaff47;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-42px;right:-34px}.photo-crop-preview-frame{background:#0000000d;border-radius:10px;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.photo-crop-preview-image{object-fit:cover;object-position:center;opacity:1;filter:none;transform-origin:50%;border-radius:10px;width:100%;height:100%;display:block}.photo-crop-preview-copy{z-index:1;background:#ffffffd1;border:1px solid #8f68a214;border-radius:10px;align-content:center;gap:9px;padding:18px 16px;display:grid;box-shadow:inset 0 0 0 1px #ffffff73}.photo-crop-preview-name{color:#5c2b5a;letter-spacing:.12em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.52rem}.photo-crop-preview-line{background:#21152c1f;border-radius:999px;height:8px;display:block}.photo-crop-preview-line.long{width:100%}.photo-crop-preview-line:not(.long){width:74%}.photo-crop-preview-line.short{width:52%}.photo-crop-preview.letter-mode.layout-left .photo-crop-preview-copy{background:linear-gradient(#ffffffd9 0%,#fff7f3e6 100%);order:2}.photo-crop-preview.letter-mode.layout-left .photo-crop-preview-image{order:1}.photo-crop-controls label{color:var(--muted);letter-spacing:.07em;text-transform:uppercase;gap:8px;font-family:DM Mono,monospace;font-size:.54rem;display:grid}.photo-crop-controls input[type=range]{width:100%;accent-color:var(--coral)}.submit-progress{gap:9px;padding:14px 0 2px;display:grid}.submit-progress-top{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;font-family:DM Mono,monospace;font-size:.58rem;display:flex}.submit-progress-top strong{color:var(--coral);font-weight:400}.submit-progress-track{background:#f7f1e824;height:5px;overflow:hidden}.submit-progress-track span{background:linear-gradient(90deg, var(--coral), var(--gold));height:100%;transition:width .45s;display:block;box-shadow:0 0 14px #d99bffbf}.photo-preview{aspect-ratio:1.35;background:linear-gradient(135deg,#cdb2f1,#aa82cf);border:0;position:relative;overflow:hidden;box-shadow:8px 10px #42235426}.photo-preview.letter-mode{aspect-ratio:1/1.15;max-height:620px;box-shadow:none;background:0 0;border:1px solid #d99bff47}.photo-preview.letter-mode:before,.photo-preview.letter-mode:after{display:none}.photo-preview:before{content:"";z-index:1;background:linear-gradient(145deg,#3717584d,#371758c2);position:absolute;inset:0}.photo-preview:after{content:"";z-index:1;border:1px solid #fffaff47;border-radius:50%;width:150px;height:150px;position:absolute;bottom:-42px;right:-34px}.photo-preview-image{filter:saturate(.85)brightness(.95);background-position:50%;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;position:absolute;inset:0}.photo-remove{border:0;border-bottom:1px solid var(--coral);color:var(--coral);text-transform:uppercase;background:0 0;justify-self:end;padding:5px 0;font-family:DM Mono,monospace;font-size:.55rem}.postcard{perspective:1000px;padding:0!important}.postcard-inner{width:100%;min-height:235px;transform-style:preserve-3d;flex:1;transition:transform .65s cubic-bezier(.2,.75,.25,1);position:relative}.postcard.is-flipped .postcard-inner{transform:rotateY(180deg)}.postcard-face{backface-visibility:hidden;flex-direction:column;align-items:flex-start;display:flex;position:absolute;inset:0}.postcard-front .postcard-image{opacity:1;filter:none}.postcard-front>.postcard-sky,.postcard-front>.postcard-mark{z-index:1;pointer-events:none;position:absolute}.postcard-front>.postcard-sky{top:18px;left:50%;transform:translate(-50%)}.postcard-front>.postcard-mark{bottom:16px;right:22px}.postcard-flip-indicator{z-index:1;color:#fffaffe0;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;background:#24163847;border:1px solid #fffaff59;border-radius:999px;padding:5px 8px;font-family:DM Mono,monospace;font-size:.5rem;position:absolute;bottom:16px;left:18px}.postcard-download{z-index:2;color:#fffaffc7;opacity:.48;border:1px solid #fffaff80;border-radius:50%;place-items:center;width:25px;height:25px;font-family:DM Mono,monospace;font-size:.85rem;line-height:1;text-decoration:none;transition:opacity .2s,background-color .2s;display:grid;position:absolute;top:15px;right:18px}.postcard-download:hover,.postcard-download:focus-visible{color:#fffaff;opacity:1;background:#24163859;outline:none}.postcard{padding:0}.postcard-inner{min-height:285px}@media (max-width:760px){.postcard-inner{min-height:220px}}.postcard-front{z-index:1}.postcard-back{justify-content:flex-start;gap:16px;padding:34px 30px 26px;transform:rotateY(180deg)}.postcard-back-image{object-fit:cover;opacity:.22;filter:none;width:100%;height:100%;position:absolute;inset:0}.postcard-back>:not(.postcard-back-image){z-index:1;position:relative}.postcard-back-sky{letter-spacing:.45em;align-self:center;font-size:1.35rem}.postcard-back strong{overflow-wrap:anywhere;margin:6px 0 0;font-size:1.5rem;line-height:1.2}.postcard-back-label,.postcard-back-hint{letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.58rem}.postcard-back-label{color:#fffaffb8}.postcard-back-mark{align-self:flex-end;margin-top:auto;font-size:2rem}.postcard-back-hint{color:#fffaff94;margin-top:0}@media (max-width:760px){.postcard-quote-long{font-size:1.2rem!important;line-height:1.08!important}.postcard-quote-longest{font-size:1rem!important;line-height:1.15!important}}:root{--ink:#f7f1e8;--muted:#bdb2c6;--night:#241638;--deep:#140d24;--coral:#d99bff;--gold:#f2c4ff;--mint:#b9e7dc;--line:#f7f1e82e}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--coral) transparent;scrollbar-width:thin;max-width:100vw;overflow-x:clip}html::-webkit-scrollbar{width:5px}html::-webkit-scrollbar-track{background:0 0}html::-webkit-scrollbar-thumb{background:var(--coral);border-radius:999px}body{max-width:100vw;color:var(--ink);background:var(--night);margin:0;font-family:Space Grotesk,sans-serif;overflow-x:clip}button,a{font:inherit}button{color:inherit;cursor:pointer}.grain{opacity:.055;pointer-events:none;z-index:5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");position:fixed;inset:0}.stars{opacity:.3;pointer-events:none;background-image:radial-gradient(#fff 1px,#0000 1px),radial-gradient(#f7c957 1px,#0000 1px);background-position:5px 17px,40px 80px;background-size:97px 101px,151px 139px;position:fixed;inset:0}.site-header{z-index:4;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;justify-content:space-between;align-items:center;gap:18px;padding:20px 2.4vw 12px;display:flex;position:relative}.site-shell{width:100%;max-width:100vw;overflow-x:clip}@media (min-width:820px) and (orientation:landscape){body{background:#140d24;display:block}.site-shell{width:100%;min-height:100vh;box-shadow:none;background:0 0;margin:0}.site-header,.hero,.letter-section,.memories-section,.postcards-section,.music-section,.promises-section,.future-section,.reasons-section,.finale-section{padding-left:28px;padding-right:28px}}.signature{color:var(--ink);font-family:Playfair Display,serif;font-size:1.25rem;font-style:italic;text-decoration:none}.signature span{color:var(--coral)}.signature i{color:var(--gold);vertical-align:top;margin-left:3px;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,EmojiOne Color,Twemoji Mozilla,sans-serif;font-size:.7rem;font-style:normal}.emoji,.satellite,.postcard-sky,.postcard-mark,.footer-note span{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,EmojiOne Color,Twemoji Mozilla,sans-serif;font-style:normal;font-weight:400;line-height:1}.sound-toggle{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;background:0 0;border:0;align-items:center;gap:9px;font-size:.68rem;display:flex}.sound-bars{align-items:center;gap:2px;height:15px;display:flex}.sound-bars b{background:var(--coral);width:2px;height:8px;display:block}.sound-bars b:nth-child(2){height:14px}.sound-bars b:nth-child(3){height:10px}.sound-toggle.is-playing b{animation:.8s ease-in-out infinite alternate sound}.sound-toggle.is-playing b:nth-child(2){animation-delay:.2s}.sound-toggle.is-playing b:nth-child(3){animation-delay:.4s}@keyframes sound{0%,to{opacity:.5;transform:scaleY(.35)}50%{opacity:1;transform:scaleY(1)}}.hero{isolation:isolate;background:#140d24;min-height:calc(100vh - 72px);padding:0;display:block;position:relative}.hero:before{content:"";background:linear-gradient(90deg,#110a1bf2 0 49.6%,#5e4076f5 49.6% 100%);position:absolute;inset:0}.hero:after{content:"";z-index:-1;border:1px solid #f7c9572e;border-radius:50%;width:36vw;height:36vw;position:absolute;top:21%;right:6%}.hero-copy{z-index:2;background:linear-gradient(90deg,#553769e6 0%,#5f3e75f5 100%);flex-direction:column;justify-content:center;width:50%;margin-top:0;padding:72px 4vw 78px;animation:.9s both rise;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:inset 1px 0 #f7f1e81f}.eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 24px;font-family:DM Mono,monospace;font-size:.68rem}.eyebrow-dot{background:var(--coral);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:8px;display:inline-block}h1,h2{letter-spacing:-.035em;margin:0;font-family:Playfair Display,serif;font-weight:500;line-height:.94}h1{font-size:clamp(4.8rem,7vw,10rem)}h1 em,h2 em{color:var(--coral);font-style:italic}.hero-note{color:var(--muted);margin:26px 0 28px;font-size:1.02rem;line-height:1.7}.primary-button,.wish-button{background:var(--coral);color:#2b172b;border:0;justify-content:space-between;align-items:center;gap:26px;padding:16px 18px 16px 21px;font-size:.8rem;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.primary-button:hover,.wish-button:hover{background:var(--gold);transform:translateY(-4px)}.button-arrow{font-size:1.3rem;line-height:.5}.orbital-art{aspect-ratio:1;pointer-events:none;width:min(36vw,540px);position:absolute;top:50%;left:22%;transform:translate(-50%,-50%)}.orbit{border:1px solid #f7f1e838;border-radius:50%;position:absolute;inset:4%;transform:rotate(-28deg)}.orbit-two{border-color:#f2c4ff52;inset:13%;transform:rotate(62deg)scaleX(.72)}.orbit-three{border-color:#d99bff59;inset:24%;transform:rotate(-18deg)scaleX(.74)}.planet{background:radial-gradient(circle at 33% 27%,#f2c4ff,#a866dc 54%,#54266f);border-radius:50%;place-items:center;animation:5s ease-in-out infinite float;display:grid;position:absolute;inset:34%;box-shadow:0 0 80px #b464e64d}.planet span{color:#fff2ff;font-size:2rem;transform:rotate(20deg)}.satellite{color:var(--gold);font-size:1.4rem;position:absolute}.satellite-one{color:var(--coral);top:5%;right:22%}.satellite-two{font-size:1rem;top:55%;left:3%}.satellite-three{color:var(--mint);bottom:8%;right:13%}.scroll-cue{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.61rem;position:absolute;bottom:35px;left:5.5vw}.scroll-cue span{background:var(--coral);vertical-align:middle;width:23px;height:1px;margin-right:9px;display:inline-block}.letter-section,.memories-section{color:#241638;background:#f6edff;padding:150px 11vw}.section-heading h2{font-size:clamp(3rem,6vw,5.9rem)}.section-heading .eyebrow{color:#8550a8}.section-heading .eyebrow-dot{background:#8550a8}.letter-card{background:#fffaff;max-width:780px;margin:75px auto 0;padding:34px clamp(28px,7vw,96px) 54px;position:relative;transform:rotate(-1.3deg);box-shadow:16px 20px #d7b5e8}.letter-topline{color:#8969a0;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #e2d0ed;justify-content:space-between;padding-bottom:15px;font-family:DM Mono,monospace;font-size:.65rem;display:flex}.letter-content{max-width:550px;padding-top:30px;font-family:Playfair Display,serif;font-size:1.12rem;line-height:1.65}.letter-greeting{color:#8550a8;font-size:1.5rem}.letter-signoff{color:#8550a8;margin-top:34px;font-size:1.3rem;line-height:1.3}.letter-signoff span{font-size:1rem}.letter-stamp{color:#b47bd3;letter-spacing:.1em;text-align:center;text-transform:uppercase;border:1px solid #b47bd3;border-radius:50%;place-items:center;width:83px;height:83px;font-family:DM Mono,monospace;font-size:.56rem;line-height:1.4;display:grid;position:absolute;bottom:11%;right:6%;transform:rotate(12deg)}.memories-section{background:#d9b7ef;padding-top:135px;padding-bottom:160px}.split-heading{justify-content:space-between;align-items:end;display:flex}.split-heading h2{color:#241638}.split-heading h2 em{color:#8550a8}.section-aside{color:#5c3f70;text-align:right;margin:0 0 6px;font-size:.8rem;line-height:1.65}.memory-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:75px;display:grid}.memory-card{text-align:left;border:0;flex-direction:column;align-items:flex-start;min-height:300px;padding:28px;transition:transform .25s,box-shadow .25s;display:flex}.memory-card:hover{transform:translateY(-9px)rotate(1deg);box-shadow:9px 10px #2416382e}.card-pink{background:#eaa8df}.card-yellow{background:#f6edff}.card-blue{background:#b9afe8}.card-number,.card-hint{letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.62rem}.card-icon{align-self:center;margin:13px 0 27px;font-family:serif;font-size:4.5rem;line-height:1}.memory-card strong{font-family:Playfair Display,serif;font-size:2.25rem;font-weight:500;line-height:.95}.card-hint{opacity:.65;margin-top:auto}.postcards-section{color:#241638;background:#f6edff;padding:145px 11vw 160px}.postcard-grid{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:72px;display:grid}.postcard{color:#fffaff;text-align:left;border:0;flex-direction:column;align-items:flex-start;min-height:285px;padding:25px 27px;transition:transform .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden;box-shadow:8px 10px #42235426}.postcard:hover{transform:translateY(-9px)rotate(-2deg);box-shadow:11px 14px #42235433}.postcard:before{content:"";background:linear-gradient(145deg,#37175852,#371758cc);position:absolute;inset:0}.postcard-image{object-fit:cover;opacity:.72;filter:saturate(.85);width:100%;height:100%;position:absolute;inset:0}.postcard-lavender{background:#cdb2f1}.postcard-plum{background:#aa82cf}.postcard-lilac{background:#e1b9e9}.postcard>span,.postcard>strong{z-index:1;position:relative}.postcard-sky{letter-spacing:.55em;align-self:center;font-family:serif;font-size:1.4rem}.postcard-place{letter-spacing:.12em;text-transform:uppercase;margin-top:29px;font-family:DM Mono,monospace;font-size:.6rem}.postcard strong{overflow-wrap:anywhere;margin-top:17px;font-family:Playfair Display,serif;font-size:2.25rem;font-weight:500;line-height:.94}.postcard-quote-long{font-size:1.7rem!important;line-height:1.02!important}.postcard-quote-longest{font-size:1.35rem!important;line-height:1.12!important}.postcard-mark{align-self:flex-end;margin-top:auto;font-family:serif;font-size:2.2rem}.postcard:after{content:"";border:1px solid #fffaff47;border-radius:50%;width:145px;height:145px;position:absolute;bottom:-45px;right:-34px}.music-section{color:var(--ink);background:linear-gradient(#241638c2,#241638db),url(/images/4.jpg) 62%/cover;padding:70px 11vw}.music-spinner-wrap{justify-content:center;align-items:center;gap:28px;display:flex}.music-record{background:repeating-radial-gradient(circle,#1c112b 0 5px,#27163d 6px 8px);border:7px solid #3b2353;border-radius:50%;place-items:center;width:94px;height:94px;display:grid;position:relative;box-shadow:0 0 0 1px #d99bff59,0 12px 25px #00000040}.music-record:after{content:"";border:3px solid var(--coral);background:#241638;border-radius:50%;width:15px;height:15px;position:absolute}.music-record span{z-index:1;color:var(--gold);font-size:1rem;position:relative}.music-record.is-playing{animation:3.5s linear infinite spin-record}.music-copy .eyebrow{margin-bottom:10px}.music-title{color:var(--ink);margin:0 0 9px;font-family:Playfair Display,serif;font-size:1.35rem;font-style:italic}.music-file{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;margin:0;font-family:DM Mono,monospace;font-size:.63rem}.music-bars{vertical-align:-2px;align-items:center;gap:3px;height:12px;margin-left:10px;display:inline-flex}.music-bars i{background:var(--coral);width:2px;height:5px;display:block}.is-playing .music-bars i{animation:.8s ease-in-out infinite alternate sound}.is-playing .music-bars i:nth-child(2){animation-delay:.16s}.is-playing .music-bars i:nth-child(3){animation-delay:.3s}.is-playing .music-bars i:nth-child(4){animation-delay:.45s}.is-playing .music-bars i:nth-child(5){animation-delay:.6s}.promises-section{color:#241638;background:#f6edff;padding:145px 11vw 160px}.promises-heading{grid-template-columns:1fr 1fr;align-items:end;gap:28px 60px;display:grid}.promises-heading .eyebrow{grid-column:1/-1;margin-bottom:0}.promises-heading h2{font-size:clamp(3rem,5.5vw,5.7rem)}.promises-heading h2 em{color:#8550a8}.promises-heading>p:last-child{color:#6a5078;max-width:250px;margin:0 0 7px;font-size:.82rem;line-height:1.65}.promise-grid{grid-template-columns:repeat(2,1fr);gap:18px;max-width:900px;margin:72px auto 0;display:grid}.promise-card{background:#fffaff;border:1px solid #8550a840;min-height:190px;padding:25px 28px;box-shadow:6px 7px #dec9ec}.promise-card>span{color:#8550a8;font-family:DM Mono,monospace;font-size:.6rem}.promise-card strong{color:#8550a8;margin:27px 0 9px;font-family:Playfair Display,serif;font-size:1.6rem;font-weight:500;display:block}.promise-card p{color:#6a5078;max-width:330px;margin:0;font-size:.78rem;line-height:1.55}.future-section{color:var(--ink);background:#241638;padding:145px 11vw 160px}.future-section .section-heading h2 em{color:var(--coral)}.future-list{border-top:1px solid var(--line);max-width:920px;margin:75px auto 0}.future-item{border-bottom:1px solid var(--line);grid-template-columns:58px 1fr 35px;align-items:center;gap:24px;padding:27px 0;display:grid}.future-number{color:var(--gold);font-family:DM Mono,monospace;font-size:.65rem}.future-item h3{color:var(--coral);text-transform:lowercase;margin:0 0 8px;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:500}.future-item p{max-width:550px;color:var(--muted);margin:0;font-size:.85rem;line-height:1.6}.future-symbol{color:var(--gold);text-align:right;font-family:serif;font-size:1.55rem}.reasons-section{background:#d9b7ef;padding:145px 11vw 160px}.reasons-card{max-width:1050px;color:var(--ink);background:#241638;margin:auto;padding:clamp(34px,6vw,82px);box-shadow:14px 16px #b88ad2}.reasons-heading{grid-template-columns:1fr 1fr;align-items:end;column-gap:50px;display:grid}.reasons-heading .eyebrow{grid-column:1/-1}.reasons-heading h2{font-size:clamp(3.4rem,6vw,6.5rem)}.reasons-heading h2 em{color:var(--coral)}.reasons-intro{max-width:230px;color:var(--muted);margin:0 0 5px;font-size:.78rem;line-height:1.65}.reasons-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);column-gap:52px;margin-top:70px;display:grid}.reasons-grid p{border-bottom:1px solid var(--line);color:#e9d8f4;align-items:center;gap:18px;min-height:70px;margin:0;font-family:Playfair Display,serif;font-size:1rem;line-height:1.3;display:flex}.reasons-grid b{color:var(--gold);font-family:DM Mono,monospace;font-size:.6rem;font-weight:400}.reasons-footer{color:#a18bb3;letter-spacing:.1em;text-transform:uppercase;justify-content:space-between;margin-top:28px;font-family:DM Mono,monospace;font-size:.6rem;display:flex}@keyframes spin-record{to{transform:rotate(360deg)}}.reveal-section,.reveal-item{opacity:1;transition:none;transform:none}.reveal-section.is-visible,.reveal-item.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal-section,.reveal-item{opacity:1;transition:none;transform:none}}.music-section{background-position:50%,62%;background-size:auto,125%}.music-caption{color:#ead8f5;opacity:1;max-width:310px;margin:-2px 0 12px;font-family:Playfair Display,serif;font-size:.92rem;font-style:italic;line-height:1.4;transition:opacity .18s,transform .18s}.music-caption.is-changing{opacity:0;transform:translateY(4px)}.cue-list{scrollbar-color:var(--coral) transparent;scrollbar-width:thin;max-height:430px;padding-right:10px;overflow-y:auto}.cue-lyric{color:#f7f1e87a;text-align:left;background:0 0;border:0;border-bottom:1px solid #f7f1e81f;grid-template-columns:32px 1fr 24px;align-items:center;gap:14px;width:100%;padding:15px 10px;font-family:Playfair Display,serif;font-size:1rem;transition:color .25s,padding .25s,background .25s;display:grid}.cue-lyric:hover{color:var(--ink);background:#d99bff14}.cue-lyric.is-active{color:var(--coral);background:#d99bff1a;padding-top:22px;padding-bottom:22px;font-size:1.45rem}.cue-lyric .cue-index{color:var(--gold);font-family:DM Mono,monospace;font-size:.55rem}.cue-jump{color:var(--gold);opacity:0;font-family:sans-serif;font-size:.9rem;transition:opacity .2s}.cue-lyric:hover .cue-jump,.cue-lyric.is-active .cue-jump{opacity:1}.cue-editor{width:min(760px,100%);margin:52px auto 0}.cue-editor-toggle{width:100%;color:var(--gold);letter-spacing:.12em;text-align:left;text-transform:uppercase;background:0 0;border:1px solid #f7f1e840;border-left:0;border-right:0;justify-content:space-between;padding:12px 0;font-family:DM Mono,monospace;font-size:.62rem;display:flex}.cue-editor-toggle span:last-child{font-size:1.1rem;line-height:.6}.cue-editor-panel{padding-top:20px}.cue-editor-head,.cue-row{grid-template-columns:30px 92px 1fr 25px;align-items:center;gap:10px;display:grid}.cue-editor-head{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:0 0 8px;font-family:DM Mono,monospace;font-size:.53rem}.cue-editor-head span:nth-child(2){grid-column:2}.cue-editor-head span:nth-child(3){grid-column:3}.cue-row{border-top:1px solid #f7f1e81f;padding:7px 0}.cue-index{color:var(--gold);font-family:DM Mono,monospace;font-size:.53rem}.cue-row input{width:100%;min-width:0;color:var(--ink);background:#ffffff0f;border:1px solid #f7f1e833;border-radius:2px;outline:none;padding:7px 8px;font-size:.72rem}.cue-row input:focus{border-color:var(--coral)}.cue-delete{color:var(--muted);background:0 0;border:0;font-size:1.1rem}.cue-delete:hover{color:var(--coral)}.cue-editor-actions{gap:18px;padding-top:20px;display:flex}.cue-editor-actions button{border:0;border-bottom:1px solid var(--coral);color:var(--coral);letter-spacing:.08em;text-transform:uppercase;background:0 0;padding:7px 0;font-family:DM Mono,monospace;font-size:.58rem}.floating-lyrics{z-index:7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:.72;background:#190e28e0;border:1px solid #d99bff57;border-radius:5px;align-items:center;gap:13px;width:min(390px,100vw - 40px);padding:13px 16px;transition:opacity .25s,border-color .25s,transform .25s;display:flex;position:fixed;bottom:25px;right:26px;transform:translateY(0);box-shadow:0 12px 34px #0c05164d}.floating-lyrics:hover,.floating-lyrics.is-playing{opacity:1;border-color:var(--coral)}.floating-lyrics.is-playing{transform:translateY(-3px)}.floating-lyrics-note{background:var(--coral);color:#241638;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:.95rem;display:grid}.floating-lyrics-copy{flex:1;gap:4px;min-width:0;display:grid}.floating-lyrics-label{color:var(--gold);letter-spacing:.1em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-family:DM Mono,monospace;font-size:.53rem;overflow:hidden}.floating-lyrics-text{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-family:Playfair Display,serif;font-size:.88rem;font-style:italic;transition:opacity .18s,transform .18s;overflow:hidden}.floating-lyrics-text.is-changing{opacity:0;transform:translateY(4px)}.lyrics-seek-row{align-items:center;gap:8px;width:100%;display:flex}.lyrics-seek-row input{min-width:0;height:3px;accent-color:var(--coral);cursor:ew-resize;flex:1}.lyrics-seek-row span{color:var(--muted);white-space:nowrap;font-family:DM Mono,monospace;font-size:.5rem}.floating-lyrics-bars{flex:none;align-items:center;gap:3px;height:18px;margin-left:auto;display:flex}.floating-lyrics-bars i{background:var(--coral);width:2px;height:6px}.floating-lyrics.is-playing .floating-lyrics-bars i{animation:.8s ease-in-out infinite alternate sound}.floating-lyrics.is-playing .floating-lyrics-bars i:nth-child(2){animation-delay:.18s}.floating-lyrics.is-playing .floating-lyrics-bars i:nth-child(3){animation-delay:.35s}.finale-section{text-align:center;background:radial-gradient(circle at 50% 20%,#543365 0,#0000 36%),#241638;align-content:center;min-height:82vh;padding:140px 11vw 32px;display:grid}.finale-section .eyebrow{margin-bottom:28px}.finale-section h2{font-size:clamp(4rem,8vw,7.3rem)}.finale-copy{color:var(--muted);margin:34px 0 24px}.wish-button{margin:auto}.wish-result{min-height:26px;color:var(--gold);margin-top:25px;font-family:Playfair Display,serif;font-size:1.15rem;font-style:italic}.footer-note{color:#a18bb3;letter-spacing:.1em;text-transform:uppercase;align-self:end;font-family:DM Mono,monospace;font-size:.6rem}.footer-note span{color:var(--coral);font-size:.9rem}.letter-modal[hidden]{display:none}.letter-modal{z-index:10;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#140c1dc7;position:absolute;inset:0}.modal-card{color:#241832;width:min(100%,550px);box-shadow:12px 12px 0 var(--coral);background:#fffaf0;padding:55px clamp(27px,7vw,68px) 50px;animation:.35s both pop;position:relative}.modal-card h2{font-size:clamp(3rem,7vw,5.2rem)}.modal-card .eyebrow{margin-bottom:21px}.modal-card>p:not(.eyebrow):not(.modal-heart){margin:32px 0 25px;font-family:Playfair Display,serif;font-size:1.1rem;line-height:1.6}.close-modal{color:#a24e5d;background:0 0;border:0;font-size:2rem;position:absolute;top:14px;right:18px}.modal-heart{color:#a24e5d;font-family:Playfair Display,serif;font-size:1.25rem;font-style:italic}.modal-heart span{font-style:normal}.modal-continue{color:#a24e5d;background:0 0;border:0;border-bottom:1px solid #a24e5d;margin-top:20px;padding:0 0 5px;font-size:.75rem;font-weight:700}.modal-continue span{margin-left:15px;font-size:1.1rem}.toast{z-index:8;color:#241832;max-width:360px;box-shadow:6px 6px 0 var(--coral);opacity:0;pointer-events:none;background:#fffaf0;padding:13px 17px;font-family:Playfair Display,serif;font-size:1.1rem;transition:opacity .25s,transform .25s;position:fixed;bottom:30px;left:50%;transform:translate(-50%,18px)}.toast.show{opacity:1;transform:translate(-50%)}.confetti{z-index:20;pointer-events:none;width:8px;height:14px;animation:1.5s ease-out forwards fall;position:fixed;top:50%;left:50%}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes float{50%{transform:translateY(-12px)}}@keyframes pop{0%{opacity:0;transform:scale(.94)translateY(12px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes fall{to{opacity:0;transform:translate(var(--x), var(--y)) rotate(620deg)}}@media (max-width:760px){.site-header{padding:22px 6vw}.sound-label{display:none}.hero{background:#2a1a3b;min-height:100vh;padding:0;display:block}.hero:before{background:0 0}.hero:after{display:none}.hero-copy{width:100%;min-height:52vh;box-shadow:none;background:#533968f5;padding:24px 7vw 40px;position:relative}.eyebrow{letter-spacing:.14em;margin-bottom:18px;font-size:.56rem}.hero-note{margin:18px 0 26px;font-size:.9rem}.h1,h1{font-size:clamp(3.2rem,15vw,5rem);line-height:.92}.orbital-art{aspect-ratio:1;opacity:.9;width:min(76vw,440px);margin:10px auto 0;position:relative;top:auto;left:auto;transform:none}.scroll-cue{display:none}.letter-section,.memories-section,.postcards-section,.future-section,.reasons-section,.promises-section{padding:90px 7vw}.letter-card{margin-top:48px;box-shadow:9px 11px #d7b5e8}.letter-content{font-size:1rem}.letter-stamp{margin:28px 0 0 auto;position:relative;bottom:auto;right:auto}.split-heading{display:block}.section-aside{text-align:left;margin-top:25px}.memory-grid,.postcard-grid{grid-template-columns:1fr;gap:14px;margin-top:48px}.memory-card{min-height:220px}.postcard{min-height:220px;padding:18px 18px 16px}.postcard-sky{letter-spacing:.35em;font-size:1rem}.postcard-place{letter-spacing:.08em;margin-top:18px;font-size:.52rem}.postcard strong{margin-top:12px;font-size:1.45rem;line-height:1.05}.postcard-mark{font-size:1.5rem}.postcard:after{width:98px;height:98px;bottom:-28px;right:-24px}.card-icon{margin:7px auto 18px}.future-list{margin-top:48px}.future-item{grid-template-columns:35px 1fr 25px;gap:12px;padding:23px 0}.future-item h3{font-size:1.45rem}.future-item p{font-size:.78rem}.reasons-card{padding:34px 25px;box-shadow:8px 10px #b88ad2}.reasons-heading{display:block}.reasons-intro{margin-top:25px}.reasons-grid{grid-template-columns:1fr;margin-top:45px}.reasons-grid p{min-height:59px;font-size:.92rem}.reasons-footer{gap:15px;font-size:.52rem}.promises-heading{display:block}.promises-heading>p:last-child{margin-top:25px}.promise-grid{grid-template-columns:1fr;margin-top:48px}.promise-card{min-height:165px}.promise-card strong{margin-top:20px}.music-section{background-position:50%,64%;background-size:auto,150%;padding:54px 7vw}.music-spinner-wrap{gap:19px}.music-record{width:76px;height:76px}.cue-editor{margin-top:38px}.cue-editor-head,.cue-row{grid-template-columns:25px 64px 1fr 20px;gap:6px}.cue-row input{padding:7px 5px;font-size:.65rem}.cue-editor-actions{gap:13px}.floating-lyrics{width:calc(100vw - 28px);padding:11px 13px;bottom:18px;right:14px}.floating-lyrics-text{font-size:.82rem}.finale-section{min-height:700px;padding:100px 7vw 25px}.modal-card{box-shadow:8px 8px 0 var(--coral)}}.greetings-section{padding-bottom:150px;scroll-margin-top:96px}.greetings-grid{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;grid-template-columns:minmax(0,1fr);gap:20px;margin-top:72px;display:grid}.greetings-grid:active{cursor:grabbing}.greeting-card{color:#241638;opacity:1;background:#fffaff;grid-template-columns:1fr;padding:27px;transition:transform .26s,box-shadow .26s;display:grid;transform:translate(0);box-shadow:7px 8px #d7b5e8}.greeting-card.swipe-next{animation:.42s cubic-bezier(.22,1,.36,1) greeting-swipe-next}.greeting-card.swipe-prev{animation:.42s cubic-bezier(.22,1,.36,1) greeting-swipe-prev}.greeting-card.has-photo{background:#fff;padding:20px 20px 38px;display:block;overflow:hidden;box-shadow:8px 10px #d7b5e8}.greeting-card.has-photo.photo-top{grid-template-columns:1fr;display:grid;overflow:hidden}.greeting-card.has-photo.photo-left,.greeting-card.has-photo.photo-right{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch;gap:20px;display:grid}.greeting-card.has-photo.photo-right{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.greeting-card.has-photo.photo-right .greeting-photo-frame{order:2}.greeting-card.has-photo.photo-right .greeting-copy{order:1}.greeting-card-top{color:#8550a8;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #e2d0ed;justify-content:space-between;align-items:center;padding-bottom:13px;font-family:DM Mono,monospace;font-size:.8rem;display:flex}.greeting-card-top span:first-child{font-size:.8rem}.greeting-message{white-space:pre-wrap;margin:25px 0;font-family:Playfair Display,serif;font-size:1.2rem;line-height:1.5}.greeting-card-top{grid-column:1/-1}.greeting-photo-frame{aspect-ratio:1.45;background:#f0e6f7;border-radius:14px;width:100%;height:clamp(260px,34vw,560px);max-height:560px;position:relative;overflow:hidden}.greeting-photo{object-fit:cover;object-position:center center;transform-origin:50%;will-change:transform;width:100%;height:100%;display:block}.greeting-photo-download{z-index:2;color:#ffffffd1;opacity:.48;background:#2416382e;border:1px solid #ffffffa6;border-radius:50%;place-items:center;width:25px;height:25px;font-family:DM Mono,monospace;font-size:.85rem;line-height:1;text-decoration:none;transition:opacity .2s,background-color .2s;display:grid;position:absolute;top:14px;right:14px}.greeting-photo-download:hover,.greeting-photo-download:focus-visible{color:#fff;opacity:1;background:#24163873;outline:none}.greeting-card.has-photo.photo-top .greeting-photo-frame{aspect-ratio:1.45;height:clamp(260px,34vw,560px)}.greeting-card.has-photo.photo-left .greeting-photo-frame,.greeting-card.has-photo.photo-right .greeting-photo-frame{aspect-ratio:1/1.1;height:100%;min-height:490px;max-height:none}.greeting-card.has-photo .greeting-copy{align-items:center;padding:0 18px;display:flex}.greeting-card.has-photo .greeting-message{color:#241638;margin:28px 0 0}.greeting-card.has-photo.photo-left .greeting-copy,.greeting-card.has-photo.photo-right .greeting-copy{padding:0}.greeting-card.has-photo.photo-left .greeting-message,.greeting-card.has-photo.photo-right .greeting-message{margin:0}.greetings-pagination{color:#8550a8;letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:24px;margin-top:42px;font-family:DM Mono,monospace;font-size:.6rem;display:flex}.greetings-pagination button{color:#8550a8;font-family:inherit;font-size:inherit;text-transform:inherit;background:0 0;border:0;border-bottom:1px solid #8550a8;padding:8px 0}.greetings-pagination button:hover:not(:disabled){color:#241638;border-color:#241638}.greetings-pagination button:disabled{cursor:not-allowed;opacity:.3}.greetings-swipe-hint{display:none}@keyframes greeting-swipe-next{0%{opacity:0;transform:translate(42px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes greeting-swipe-prev{0%{opacity:0;transform:translate(-42px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}@media (max-width:760px){.greetings-grid{grid-template-columns:1fr;margin-top:48px}.greeting-card{padding:22px}.greeting-card.has-photo,.greeting-card.has-photo.photo-top,.greeting-card.has-photo.photo-left,.greeting-card.has-photo.photo-right{grid-template-columns:1fr;gap:14px;display:grid}.greeting-card.has-photo{padding:14px 14px 28px}.greeting-card.has-photo .greeting-photo-frame,.greeting-card.has-photo.photo-top .greeting-photo-frame,.greeting-card.has-photo.photo-left .greeting-photo-frame,.greeting-card.has-photo.photo-right .greeting-photo-frame{aspect-ratio:auto;order:1;width:100%;height:clamp(260px,72vw,420px);min-height:260px;max-height:none}.greeting-card.has-photo .greeting-photo,.greeting-card.has-photo.photo-top .greeting-photo,.greeting-card.has-photo.photo-left .greeting-photo,.greeting-card.has-photo.photo-right .greeting-photo{object-fit:contain;background:#f6f0fb}.greeting-card.has-photo .greeting-copy,.greeting-card.has-photo.photo-left .greeting-copy,.greeting-card.has-photo.photo-right .greeting-copy{order:2;padding:0 8px}.greeting-card.has-photo .greeting-message,.greeting-card.has-photo.photo-left .greeting-message,.greeting-card.has-photo.photo-right .greeting-message{margin:0;font-size:1.05rem}.greeting-card.has-photo.photo-right .greeting-photo-frame{order:1}.greeting-card.has-photo.photo-right .greeting-copy{order:2}.greetings-pagination{gap:14px;font-size:.52rem}.greetings-swipe-hint{color:#8550a8;letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:25px 0 0;font-family:DM Mono,monospace;font-size:.53rem;display:block}}.image-preloader{z-index:40;background:#140d24;place-items:center;display:grid;position:fixed;inset:0}.image-preloader-card{color:var(--gold);letter-spacing:.12em;text-transform:uppercase;background:#241638b3;border:1px solid #d99bff73;align-items:center;gap:12px;padding:16px 20px;font-family:DM Mono,monospace;font-size:.62rem;display:inline-flex}.image-preloader-dot{background:var(--coral);border-radius:50%;width:9px;height:9px;animation:1.1s ease-in-out infinite pulse-loader;box-shadow:0 0 16px #d99bffe6}.site-shell,.site-shell.is-ready,.site-shell.is-loading{visibility:visible}.confetti-layer{z-index:20;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti-piece{width:8px;height:14px;animation:1.8s cubic-bezier(.15,.7,.25,1) forwards birthday-confetti;position:absolute;top:50%;left:50%}.wish-button.wish-released{animation:.55s wish-pop}@keyframes birthday-confetti{0%{opacity:1;transform:translate(-50%,-50%)rotate(0)}to{opacity:0;transform:translate(var(--confetti-x), var(--confetti-y)) rotate(var(--confetti-rotation))}}@keyframes wish-pop{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-6px)scale(1.06)}}.header-actions{align-items:center;gap:24px;display:flex}.greet-link{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.62rem;text-decoration:none}.greet-link:hover{color:var(--coral)}.greet-page{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 70% 20%,#543365 0,#0000 34%),#241638;place-items:center;padding:100px 7vw;display:grid;position:relative;overflow:hidden}.greet-back{z-index:2;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.62rem;text-decoration:none;position:absolute;top:28px;left:6vw}.greet-back:hover{color:var(--coral)}.greet-card{z-index:1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#231438d9;border:1px solid #d99bff4d;width:min(100%,700px);padding:clamp(34px,7vw,78px);position:relative;box-shadow:14px 16px #b88ad273}.greet-card h1{font-size:clamp(3.5rem,8vw,7rem)}.greet-card h1 em{color:var(--coral)}.greet-intro{max-width:490px;color:var(--muted);margin:28px 0 42px;line-height:1.7}.greet-form{gap:22px;display:grid}.greet-form label{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;gap:9px;font-family:DM Mono,monospace;font-size:.62rem;display:grid}.greet-form input,.greet-form textarea{width:100%;color:var(--ink);letter-spacing:0;resize:vertical;background:#ffffff12;border:1px solid #f7f1e833;border-radius:2px;outline:none;padding:13px 14px;font-family:Space Grotesk,sans-serif;font-size:.95rem}.greet-form input:focus,.greet-form textarea:focus{border-color:var(--coral)}.greet-form input[type=file]{color:var(--muted);padding:10px}.optional{color:var(--muted);font-size:.55rem}.file-name{color:var(--mint);margin:-10px 0 0;font-size:.78rem}.greet-preview{border-top:1px solid #d99bff2e;gap:12px;margin-top:10px;padding-top:18px;display:grid}.greet-preview-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.greet-preview-header .eyebrow{margin:0}.greet-preview-type{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.56rem}.greet-preview-card{color:#241638;background:#fffffff5;width:100%;max-width:none;padding:22px 22px 26px;box-shadow:8px 10px #b88ad261}.greet-preview-card .greeting-card-top{padding-bottom:10px;font-size:.64rem}.greet-preview-placeholder{background:linear-gradient(135deg,#efe6ad,#d7c76a 40%,#d7d8ca);border-radius:12px;width:min(100%,760px);height:clamp(140px,18vw,260px);margin:0 auto;box-shadow:inset 0 0 0 1px #2416380f}.greet-preview-image-wrap{background:#f2e9f9;border-radius:12px;width:min(100%,760px);margin:0 auto;overflow:hidden}.greet-preview-image{object-fit:cover;width:100%;height:auto;display:block}.greet-preview-note{color:#6c5279;letter-spacing:.08em;text-transform:lowercase;margin-top:10px;font-family:DM Mono,monospace;font-size:.52rem;display:inline-block}.greet-preview-copy{gap:8px;margin-top:16px;display:grid}.greet-preview-line{background:#2416381f;border-radius:999px;width:74%;height:10px;display:block}.greet-preview-line.long{width:100%}.greet-preview-line.short{width:54%}.greet-submit{background:var(--coral);color:#241638;border:0;justify-self:start;padding:15px 20px;font-weight:700;transition:transform .2s,background .2s}.greet-submit:hover:not(:disabled){background:var(--gold);transform:translateY(-3px)}.greet-submit:disabled{cursor:wait;opacity:.65}.edit-actions-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.greet-delete{color:#f3c3bc;letter-spacing:.08em;text-transform:uppercase;background:#ff8c8014;border:1px solid #ff8c806b;padding:15px 18px;font-family:DM Mono,monospace;font-size:.58rem}.delete-confirm-box{background:#ff8c800f;border:1px solid #ff8c804d;gap:10px;margin-top:-4px;padding:14px 16px;display:grid}.delete-confirm-box span{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.56rem}.delete-confirm-actions{flex-wrap:wrap;gap:10px;display:flex}.delete-confirm-yes,.delete-confirm-no{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;background:#d99bff14;border:1px solid #d99bff47;padding:8px 10px;font-family:DM Mono,monospace;font-size:.5rem}.delete-confirm-yes{color:#ffd6d0;background:#ff8c801f;border-color:#ff8c806b}.greet-status{color:var(--mint);margin:0;font-family:Playfair Display,serif;font-size:1.05rem;font-style:italic}.clark-page{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 70% 15%,#543365 0,#0000 34%),#241638;place-items:center;padding:100px 4vw 44px;display:grid;position:relative}.clark-lock{background:#231438d1;border:1px solid #d99bff59;width:min(100%,480px);padding:clamp(28px,6vw,54px);box-shadow:12px 14px #b88ad273}.clark-lock h1{margin-top:10px;font-size:clamp(2.5rem,7vw,4rem)}.clark-login{gap:16px;margin-top:18px;display:grid}.clark-login label{color:var(--gold);letter-spacing:.1em;text-transform:uppercase;gap:9px;font-family:DM Mono,monospace;font-size:.62rem;display:grid}.clark-login input{width:100%;color:var(--ink);background:#ffffff12;border:1px solid #f7f1e833;padding:13px 14px}.clark-dashboard{width:min(100%,1440px);padding:clamp(28px,4vw,42px)}.clark-toolbar{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:center;margin:14px 0 18px;font-family:DM Mono,monospace;font-size:.55rem;display:flex}.clark-refresh{color:var(--gold);font:inherit;cursor:pointer;background:#ffffff05;border:1px solid #d99bff38;border-radius:999px;padding:6px 10px;transition:all .2s}.clark-refresh:hover{background:#d99bff14;border-color:#d99bff80;transform:translateY(-1px)}.clark-busy,.clark-feedback{color:var(--mint);margin:0 0 14px;font-family:Playfair Display,serif;font-size:1.05rem;font-style:italic}.clark-groups{grid-template-columns:1fr;gap:20px;display:grid}.clark-segmented-tabs{background:#ffffff05;border:1px solid #d99bff3d;border-radius:999px;gap:8px;margin:8px 0 18px;padding:6px;display:inline-flex}.clark-tab{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 18px;font-family:DM Mono,monospace;font-size:.55rem;transition:all .2s}.clark-tab.active{color:var(--ink);background:#d99bff24;box-shadow:inset 0 0 0 1px #d99bff47}.clark-group{gap:16px;display:grid}.clark-group.is-hidden{display:none}.clark-group-header{border-bottom:1px solid #d99bff38;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:8px;display:flex}.clark-group-header h2{margin:0;font-size:clamp(1.3rem,2vw,2rem)}.clark-group-header span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.55rem}.clark-list{gap:16px;display:grid}.clark-item{background:#ffffff0a;border:1px solid #d99bff40;grid-template-columns:1fr;gap:8px;width:100%;min-height:180px;padding:12px 16px 14px;display:grid}.clark-item.is-removed{opacity:.6}.clark-item-main{flex-direction:column;justify-content:center;min-width:0;padding-top:4px;display:flex}.clark-item-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.clark-item-labels{align-items:center;gap:10px;display:inline-flex}.clark-pill{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;background:#d99bff14;border:1px solid #d99bff59;padding:5px 7px;font-family:DM Mono,monospace;font-size:.52rem;display:inline-flex}.clark-type{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.5rem}.clark-item h3{margin:0 0 6px;font-size:clamp(2rem,2.3vw,2.8rem);line-height:1.02}.clark-item p{color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:72ch;margin:0;line-height:1.45;display:-webkit-box;overflow:hidden}.clark-actions{align-content:start;justify-items:end;gap:6px;width:min(38%,300px);display:grid}.clark-move-row{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.clark-row-primary{padding-bottom:0}.clark-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.clark-item .clark-actions{width:min(38%,300px)}.clark-move-row button,.clark-index-box button,.clark-secondary,.clark-danger{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#d99bff14;border:1px solid #d99bff47;border-radius:6px;min-width:0;padding:5px 7px;font-family:DM Mono,monospace;font-size:.46rem;line-height:1.2;transition:all .2s}.clark-move-row button:hover,.clark-index-box button:hover,.clark-secondary:hover,.clark-danger:hover{background:#d99bff1f;border-color:#d99bff94;transform:translateY(-1px)}.clark-index-box{justify-content:flex-end;align-items:flex-end;gap:6px;display:flex}.clark-index-box label{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;gap:4px;font-family:DM Mono,monospace;font-size:.46rem;display:grid}.clark-index-box input{width:42px;color:var(--ink);background:#ffffff12;border:1px solid #f7f1e833;border-radius:6px;padding:5px 6px}.clark-secondary{color:var(--ink);background:#b9e7dc14;border-color:#b9e7dc40}.clark-link-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.clark-danger{color:var(--ink);background:#ff8c8014;border-color:#ff8c8066}.clark-pagination{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #d99bff38;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:12px;font-family:DM Mono,monospace;font-size:.52rem;display:flex}.clark-pagination button{color:var(--ink);font:inherit;cursor:pointer;background:#d99bff14;border:1px solid #d99bff47;border-radius:8px;padding:8px 10px;transition:all .2s}.clark-pagination button:hover:not(:disabled){border-color:#d99bff94;transform:translateY(-1px)}.clark-pagination button:disabled{opacity:.4;cursor:not-allowed}.clark-empty{color:var(--muted);text-align:center;border:1px dashed #d99bff59;padding:24px}@media (max-width:760px){.header-actions{gap:12px}.greet-link{font-size:.55rem}.greet-page{padding:90px 16px 28px}.greet-card{width:100%;padding:22px 18px 24px;box-shadow:8px 10px #b88ad273}.greet-back{top:22px;left:16px}.greet-card h1{font-size:clamp(2.75rem,15vw,4rem);line-height:.92}.greet-intro{margin:18px 0 24px}.greet-form{gap:18px}.type-toggle{gap:6px;padding:5px}.type-option{padding:10px 12px}.greet-form label{letter-spacing:.08em;font-size:.54rem}.greet-form input,.greet-form textarea{padding:11px 12px;font-size:.9rem}.photo-picker-box{min-height:62px;padding:10px 12px}.photo-picker-box span:nth-child(2){white-space:normal}.photo-layout-picker{gap:8px}.photo-layout-label{font-size:.5rem}.photo-layout-disclaimer{font-size:.42rem}.photo-layout-option{min-height:68px}.clark-groups,.clark-item{grid-template-columns:1fr}.clark-index-box{align-items:stretch}}
