@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Inter:wght@300;400;500;600&display=swap";:root{--bg: #0d0914;--rose: #c75e9b;--rose2: #e8a9cd;--text: #fdf6f9;--muted: #a89aa2;--line: rgba(200, 160, 222, .08);--hh: 72px;--r-card: 22px;--ease-pop: cubic-bezier(.34, 1.56, .64, 1);--ease-out3: cubic-bezier(.22, .68, 0, 1.2)}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{overflow-x:hidden}button{font:inherit;color:inherit;border:none;cursor:pointer;background:none}img,video{display:block}blockquote{margin:0}.intro{height:100svh;min-height:640px;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 46%,#1d0c17,#0d090f 44%,#060408)}.intro canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,transparent 0 16%,rgba(4,3,6,.06) 40%,rgba(2,2,4,.82) 100%);pointer-events:none}.intro:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 58%,#0402068c);pointer-events:none}.intro-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;pointer-events:none;opacity:0;transform:translateY(18px) scale(.96);transition:opacity 1.8s cubic-bezier(.22,.68,0,1.2),transform 1.8s cubic-bezier(.22,.68,0,1.2)}.intro-center.visible{opacity:1;transform:translateY(0) scale(1)}.monogram{font:600 clamp(74px,11vw,134px) / .68 "Cormorant Garamond",serif;letter-spacing:.055em;text-shadow:0 0 55px rgba(248,92,145,.5),0 0 130px rgba(240,75,132,.18),0 4px 40px rgba(0,0,0,.45);animation:monoGlow 4.2s ease-in-out infinite}@keyframes monoGlow{0%,to{text-shadow:0 0 55px rgba(248,92,145,.5),0 0 130px rgba(240,75,132,.18),0 4px 40px rgba(0,0,0,.45)}50%{text-shadow:0 0 75px rgba(248,92,145,.7),0 0 180px rgba(240,75,132,.28),0 4px 40px rgba(0,0,0,.45)}}.monogram span{font-weight:300;font-style:italic;color:var(--rose2)}.names{font:400 clamp(15px,2vw,23px) / 1 "Cormorant Garamond",serif;letter-spacing:.3em;margin-top:30px;color:#ffdeeed1;text-transform:uppercase}.names i{font-style:italic;font-weight:300;color:var(--rose2)}.tiny{font-size:8.5px;letter-spacing:.38em;text-transform:uppercase;color:#c2adb9;margin-top:26px;opacity:.68}.intro-bottom{position:absolute;bottom:7vh;left:50%;width:min(510px,80vw);transform:translate(-50%,22px);display:flex;align-items:center;gap:22px;opacity:0;transition:opacity 1.5s ease,transform 1.5s ease;z-index:5}.intro-bottom.visible{opacity:1;transform:translate(-50%)}.intro-bottom .line{height:1px;background:linear-gradient(90deg,transparent,rgba(255,192,218,.28));flex:1}.intro-bottom .line:last-child{background:linear-gradient(90deg,rgba(255,192,218,.28),transparent)}.intro-bottom button{border:1px solid rgba(255,202,228,.22);background:#ffffff0a;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:999px;padding:14px 26px;display:flex;gap:10px;align-items:center;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;transition:.38s var(--ease-pop)}.intro-bottom button:hover{border-color:#ffc8de8c;background:#fff1;box-shadow:0 0 45px #ec588a33,0 10px 36px #00000052;transform:translateY(-3px)}.app{min-height:100svh;background:radial-gradient(circle at 80% 6%,rgba(145,58,112,.13),transparent 28%),radial-gradient(circle at 12% 88%,rgba(95,30,85,.09),transparent 28%),var(--bg);animation:pageIn .85s both}.page-leaving{animation:pageOut .42s both}@keyframes pageIn{0%{opacity:0;transform:translateY(13px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes pageOut{to{opacity:0;transform:translateY(-9px);filter:blur(5px)}}.header{height:var(--hh);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(18px,4vw,52px);position:sticky;top:0;z-index:20;background:#07050ac7;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px)}.brand{text-align:left;display:flex;flex-direction:column;gap:4px;transition:opacity .22s}.brand:hover{opacity:.75}.brand b{font:600 27px/1 Cormorant Garamond,serif;letter-spacing:.1em;background:linear-gradient(130deg,#fff 0%,var(--rose2) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand small{font-size:6.5px;letter-spacing:.24em;color:#88797f;text-transform:uppercase}.header nav{display:flex;gap:2px}.header nav button{padding:9px 15px;border-radius:13px;color:#8a7882;display:flex;align-items:center;gap:7px;font-size:10.5px;letter-spacing:.04em;transition:.22s;position:relative}.header nav button:hover{color:#fff;background:#ffffff0d}.header nav button.active{color:var(--rose2);background:#ec648d1a}.header nav button.active:after{content:"";position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:14px;height:2px;background:var(--rose);border-radius:2px}.soon-tag{font-size:7px;letter-spacing:.08em;text-transform:uppercase;font-style:normal;background:#ec648d24;color:var(--rose);padding:2px 7px;border-radius:5px;border:1px solid rgba(236,100,141,.18)}.status{justify-self:end;display:flex;align-items:center;gap:8px;color:#8a8090;text-transform:uppercase;letter-spacing:.2em;font-size:7.5px}.status-dot{width:6px;height:6px;border-radius:50%;background:#9ee4b2;box-shadow:0 0 0 2px #9ee4b22e,0 0 14px #9ee4b2;animation:dotPulse 2.2s ease-in-out infinite}@keyframes dotPulse{0%,to{box-shadow:0 0 0 2px #9ee4b22e,0 0 14px #9ee4b2}50%{box-shadow:0 0 0 5px #9ee4b21a,0 0 22px #9ee4b2}}.header-update{position:absolute;left:50%;bottom:8px;transform:translate(-50%);color:#fff6;font-size:8px;letter-spacing:.15em;text-transform:uppercase}.bg-particles{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:0;pointer-events:none}.home{min-height:calc(100svh - var(--hh));padding:8vh clamp(24px,7vw,82px) 6vh;position:relative;overflow:hidden}.home-orb{position:absolute;pointer-events:none;border-radius:50%}.orb1{right:-8vw;top:-6vh;width:52vw;height:52vw;background:radial-gradient(circle,rgba(205,52,108,.15),transparent 65%);animation:orbDrift 9s ease-in-out infinite}.orb2{left:-8vw;bottom:4vh;width:32vw;height:32vw;background:radial-gradient(circle,rgba(115,28,78,.09),transparent 65%);animation:orbDrift 13s ease-in-out infinite reverse}@keyframes orbDrift{0%,to{transform:translate(0)}50%{transform:translate(2.5%,3.5%)}}.home-content{max-width:1300px;margin:0 auto;min-height:58vh;display:flex;align-items:center;justify-content:space-between;gap:5vw}.hero-copy{max-width:600px;flex:1;z-index:1}.eyebrow{font-size:8.5px;letter-spacing:.34em;text-transform:uppercase;color:#a8929e}.hero-copy h1{font:500 clamp(58px,8vw,110px) / .84 "Cormorant Garamond",serif;letter-spacing:-.032em;margin:22px 0 26px}.hero-copy h1 em{font-style:normal;color:#edbacc;font-weight:400}.hero-intro{color:#b5a5ae;font-size:13.5px;font-weight:300;line-height:1.82;margin:0 0 13px;max-width:555px}.hero-para{color:#9e8f96;font-size:12.5px;font-weight:300;line-height:1.88;margin:0 0 11px;max-width:555px}.love-note{margin:28px 0 18px;border-left:2px solid rgba(236,100,141,.52);padding:5px 0 5px 22px;color:#d3c0ca;font:400 italic 19.5px/1.52 Cormorant Garamond,serif;max-width:565px}.love-closing{color:#d1bac5;font:500 17px/1.65 Cormorant Garamond,serif;margin:20px 0 0;max-width:590px}.hero-para+.hero-para{margin-top:14px}.home-right{display:flex;flex-direction:column;align-items:center;gap:20px}.home-heart-wrap{width:min(48vw,520px);height:min(48vw,520px);flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.home-heart-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.counter{max-width:100%;padding-top:10px}.counter-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-bottom:12px}.counter-title{font-size:7.5px;text-transform:uppercase;letter-spacing:.28em;display:flex;gap:8px;align-items:center;color:var(--rose);opacity:.7}.counter-since{color:#70636b;font-size:7px;letter-spacing:.16em;text-transform:uppercase}.digits{display:flex;align-items:flex-start;gap:18px;margin-top:14px}.digits div{display:flex;flex-direction:column;align-items:center}.digits strong{font:400 clamp(30px,4.2vw,52px) / 1 "Cormorant Garamond",serif;color:#f5e4ec}.digits small{font-size:7.5px;color:#7a6870;text-transform:uppercase;letter-spacing:.16em;margin-top:5px}.digits i{font:400 30px/1 Cormorant Garamond,serif;color:#554b52;padding-top:6px;font-style:normal}.counter>p{color:#7a6c72;font-size:9px;margin:12px 0 0;letter-spacing:.04em}.page{max-width:1300px;margin:0 auto;padding:8vh clamp(24px,6vw,76px) 10vh}.page-header{margin-bottom:52px}.page-header h2{font:400 clamp(52px,7.5vw,96px) / .88 "Cormorant Garamond",serif;letter-spacing:-.024em;margin:22px 0 18px}.page-header h2 em{font-style:normal;color:#edbacc}.page-sub{color:#9a8892;font-size:13px;font-weight:300;margin:0}.g-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.g-card{border:1px solid var(--line);background:#ffffff06;border-radius:var(--r-card);overflow:hidden;cursor:pointer;transition:transform .32s var(--ease-pop),box-shadow .32s ease,border-color .32s ease;position:relative}.g-card:hover{transform:translateY(-7px) scale(1.014);box-shadow:0 22px 65px #0000007a,0 0 0 1px #ffc8de1f,0 10px 32px #ec648d1f;border-color:#ffc8de33}.g-card-media{height:258px;position:relative;overflow:hidden;background:var(--grad, radial-gradient(135deg at 28% 28%, rgba(210,58,108,.55), rgba(85,18,50,.35) 62%))}.g-featured{grid-column:1 / -1}.g-featured .g-card-media{height:380px}.g-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.g-card:hover .g-card-img{transform:scale(1.06)}.g-card-ph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ffc8de66;font-size:10px;letter-spacing:.1em;text-transform:uppercase}.g-card-hover{position:absolute;top:0;right:0;bottom:0;left:0;background:#08040e8f;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .28s;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.g-card:hover .g-card-hover{opacity:1}.g-card-hover span{color:#fff;font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;border:1px solid rgba(255,255,255,.3);padding:10px 22px;border-radius:999px;background:#ffffff0f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.g-card-body{padding:16px 20px 18px}.g-card-tag{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#907888}.g-card-body h3{font:500 22px/1.22 Cormorant Garamond,serif;margin:8px 0 5px;color:#f0e4ea}.g-card-body p{color:#9a8892;font-size:11px;line-height:1.65;margin:0}.lb-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#05020ae6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .28s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lb-modal{background:#120c18f2;border:1px solid rgba(220,180,230,.12);border-radius:26px;max-width:min(920px,95vw);width:100%;max-height:92vh;overflow:hidden;position:relative;display:flex;flex-direction:column;animation:slideUp .36s var(--ease-out3);box-shadow:0 32px 85px #000000a6,0 0 0 1px #dcb4e612}@keyframes slideUp{0%{opacity:0;transform:translateY(30px) scale(.94)}to{opacity:1;transform:none}}.lb-close{position:absolute;top:16px;right:16px;z-index:10;background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:#c8b6c2;transition:.22s}.lb-close:hover{background:#ffffff29;color:#fff;transform:scale(1.08)}.lb-media{max-height:74vh;display:flex;align-items:center;justify-content:center;background:#06030a99;overflow:hidden}.lb-img{max-width:100%;max-height:74vh;object-fit:contain}.lb-video{max-width:100%;max-height:74vh;background:#000;width:100%}.lb-empty{padding:62px 44px;display:flex;flex-direction:column;align-items:center;gap:14px;color:#6a5860;text-align:center;font-size:13px;line-height:1.65}.lb-empty svg{color:#5a4855}.lb-empty code{background:#ffc8de12;border:1px solid rgba(255,200,222,.12);padding:4px 12px;border-radius:7px;font-size:12px;color:var(--rose2)}.lb-hint{font-size:11px;color:#5a4855}.lb-info{padding:18px 26px 22px;border-top:1px solid rgba(255,200,228,.07)}.lb-info h3{font:500 24px Cormorant Garamond,serif;margin:0 0 5px;color:#f0e4ea}.lb-info p{color:#907888;font-size:12px;margin:0}.heartbeat{animation:heartBeat 1.8s ease-in-out infinite;transform-origin:center center}@keyframes heartBeat{0%{transform:scale(1);filter:brightness(1)}15%{transform:scale(1.04);filter:brightness(1.2)}30%{transform:scale(1);filter:brightness(1)}45%{transform:scale(1.02);filter:brightness(1.1)}60%{transform:scale(1);filter:brightness(1)}to{transform:scale(1);filter:brightness(1)}}.home-heart-monogram{position:relative;z-index:2;pointer-events:none;font:600 clamp(42px,7vw,72px) / .68 "Cormorant Garamond",serif;letter-spacing:.055em;color:var(--text);text-shadow:0 0 35px rgba(248,92,145,.5),0 0 90px rgba(240,75,132,.18),0 4px 20px rgba(0,0,0,.45);animation:heartBeat 1.8s ease-in-out infinite}.home-heart-monogram span{font-weight:300;font-style:italic;color:var(--rose2)}.hero-copy>*{opacity:0;transform:translateY(18px);animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) forwards}.hero-copy>.eyebrow{animation-delay:.1s}.hero-copy>h1{animation-delay:.22s}.hero-copy>.hero-intro{animation-delay:.34s}.hero-copy>.hero-para:nth-of-type(1){animation-delay:.46s}.hero-copy>.hero-para:nth-of-type(2){animation-delay:.58s}.hero-copy>.love-note{animation-delay:.7s}.hero-copy>.love-closing{animation-delay:.82s}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.soon-backdrop{background:#040207d9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.soon-modal-minimal{background:transparent;max-width:360px;width:90vw;padding:40px;text-align:center;position:relative;animation:slideUp .4s var(--ease-out3)}.soon-icon-minimal{font-size:42px;margin-bottom:20px;opacity:.9}.soon-title-minimal{font:400 32px/1 Cormorant Garamond,serif;margin:0 0 12px;color:#fff;letter-spacing:.02em}.soon-text-minimal{color:#90828a;font-size:13px;line-height:1.6;margin:0 0 32px;font-weight:300}.soon-btn-minimal{border:1px solid rgba(255,255,255,.15);color:#d1c0c8;padding:10px 28px;border-radius:999px;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;transition:.3s}.soon-btn-minimal:hover{background:#fff;color:#000;transform:translateY(-2px)}.minimal-close{top:0;right:0;border:none;background:transparent;color:#665b61}.minimal-close:hover{background:transparent;color:#fff}.g-card.add-card{border:2px dashed rgba(255,202,228,.15);background:#ffffff03;display:flex;align-items:center;justify-content:center;min-height:360px}.g-card.add-card:hover{border-color:#ec648d66;background:#ffffff05}.add-card-content{display:flex;flex-direction:column;align-items:center;gap:12px;color:#a89aa2}.plus-icon{font-size:48px;font-weight:300;color:var(--rose2);line-height:1}.form-modal{background:#100814fa;border:1px solid rgba(255,200,228,.15);border-radius:28px;max-width:500px;width:90vw;padding:32px;animation:slideUp .35s var(--ease-out3)}.form-title{font:500 28px Cormorant Garamond,serif;margin:0 0 20px;color:var(--rose2);text-align:center}.form-preview-wrap{width:100%;height:200px;border-radius:16px;overflow:hidden;background:#0000004d;margin-bottom:20px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line)}.form-preview-media{max-width:100%;max-height:100%;object-fit:contain}.form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.form-group label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#a89aa2}.form-input{background:#ffffff08;border:1px solid var(--line);padding:12px 16px;border-radius:12px;color:#fff;font-family:inherit;font-size:13px;outline:none;transition:border-color .2s}.form-input:focus{border-color:#ec648d80}.form-actions{display:flex;gap:12px;margin-top:24px}.btn-save,.btn-cancel{flex:1;padding:12px;border-radius:12px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;text-align:center;transition:.2s}.btn-save{background:var(--rose);color:#fff;font-weight:600}.btn-save:hover:not(:disabled){background:#ff769d;transform:translateY(-2px)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.btn-cancel{background:#ffffff0d;border:1px solid var(--line);color:#a89aa2}.btn-cancel:hover{background:#ffffff14;color:#fff}@media(max-width:960px){.g-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:800px){.header{height:62px;padding:0 16px;grid-template-columns:auto 1fr;--hh: 62px}.brand small,.status{display:none}.header nav{justify-self:end}.header nav button{padding:8px 11px;font-size:10px}.soon-tag{display:none}.home{padding:5vh 22px 28px}.home-content{flex-direction:column-reverse;align-items:center;text-align:center;min-height:auto;gap:32px}.hero-copy{text-align:center;display:flex;flex-direction:column;align-items:center}.hero-copy h1{font-size:60px;margin:16px 0 20px}.home-heart-wrap{width:min(75vw,360px);align-self:center;margin:8px 0 18px}.love-note{border-left:none;border-top:1px solid rgba(236,100,141,.3);border-bottom:1px solid rgba(236,100,141,.3);padding:14px 0;margin:24px auto;text-align:center}.g-grid{grid-template-columns:1fr}.g-card-media{height:220px}.g-card.add-card{min-height:220px}.page-header h2{font-size:52px;text-align:center}.page-header{text-align:center}.monogram{font-size:68px}.names{letter-spacing:.14em}.soon-modal-minimal{padding:32px 20px}}@media(max-width:480px){.header nav button span{display:none}.header nav button{gap:0;padding:10px 12px}.hero-copy h1{font-size:48px}.digits{gap:10px;justify-content:center}.digits strong{font-size:32px}.digits i{font-size:20px;padding-top:2px}}@media(max-width:800px){.counter-head{align-items:flex-start;flex-direction:column;gap:7px}.counter-since{font-size:6.5px}.hero-para{line-height:1.82}.love-closing{font-size:17px}}@media(max-width:800px){.home-heart-wrap{position:relative;width:min(82vw,350px);height:min(82vw,350px);aspect-ratio:1 / 1;margin:10px auto 18px;flex:0 0 auto}.home-heart-canvas{position:absolute!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;height:100%!important}.home-heart-monogram{position:absolute!important;left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;margin:0!important;transform:translate(-50%,-50%)!important;z-index:5;width:max-content;text-align:center;white-space:nowrap;line-height:.82}.header{height:74px;min-height:74px;padding:0 10px;grid-template-columns:64px minmax(0,1fr);gap:7px;align-items:center}.brand{width:64px;min-width:64px;padding:0}.brand b{display:block;font-size:20px;line-height:1;white-space:nowrap}.brand small,.status,.header-update{display:none!important}.header nav{width:100%;min-width:0;display:flex;justify-self:stretch;justify-content:flex-end;align-items:center;gap:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:2px 0}.header nav::-webkit-scrollbar{display:none}.header nav button{flex:0 0 auto;min-width:50px;min-height:46px;height:46px;padding:7px;gap:4px;border-radius:11px;font-size:10px;letter-spacing:0;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}.header nav button svg{width:15px;height:15px;flex:0 0 auto}.header nav button span{display:inline!important;font-size:9.5px;line-height:1}.header nav button.active{min-width:52px}}@media(max-width:520px){.home-heart-wrap{width:min(82vw,330px);height:min(82vw,330px)}.home-heart-monogram{font-size:clamp(40px,12.5vw,58px)}.header{height:70px;min-height:70px;padding:0 8px;grid-template-columns:58px minmax(0,1fr);gap:5px}.brand{width:58px;min-width:58px}.brand b{font-size:18px}.header nav{gap:2px}.header nav button{min-width:48px;min-height:44px;height:44px;padding:6px 5px}.header nav button span{font-size:8.5px}.header nav button svg{width:14px;height:14px}}@media(max-width:360px){.home-heart-wrap{width:min(84vw,300px);height:min(84vw,300px)}.header{grid-template-columns:54px minmax(0,1fr);padding-inline:6px}.brand,.brand b{width:54px;min-width:54px;font-size:17px}.header nav button{min-width:46px;padding-inline:4px}.header nav button span{font-size:8px}}
