@import url("https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;650;700;750;800;900&display=swap");:root{color-scheme:light;--milk:#FFF9F6;--ink:#40343B;--muted:#8c777e;--pink:#c5748b;--tilt-x:0px;--tilt-y:0px}*{box-sizing:border-box}html{background:var(--milk);scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Nunito,ui-rounded,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.65}button:focus-visible{outline:3px solid #ac718d;outline-offset:5px}button,svg{flex-shrink:0}button{border:0}svg{width:24px;height:24px}main{max-width:1160px;margin:auto;padding:0 40px}.care-app{min-height:100dvh;overflow-x:clip;background:radial-gradient(ellipse at 50% 10%,#fff1ed88,transparent 43%),var(--milk)}.topbar{justify-content:space-between;padding-top:max(26px,env(safe-area-inset-top));gap:16px}.dedication,.topbar{display:flex;align-items:center}.dedication{gap:9px;font-size:10px;letter-spacing:2.1px;font-weight:800;color:#9b7d86}.dedication svg{width:16px;height:16px;color:#c58d9a}.quiet-toggle{font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px;background:#fffdf9;border:1px solid #eee2dc;padding:10px 16px;border-radius:30px;box-shadow:0 3px 8px #83625a04}.quiet-dot{height:6px;width:6px;border-radius:50%;background:#b8b6a4;box-shadow:0 0 0 3px #e9e9df60}.quiet-toggle.active{background:#eae6ed}.hero{text-align:center;position:relative;padding:37px 0 30px}.heart-seal{margin:0 auto 17px;display:grid;place-items:center;width:49px;height:49px;border-radius:18px;transform:rotate(-9deg);color:#d3869d;background:linear-gradient(140deg,#fff,#f9dbe5);border:2px solid white;box-shadow:0 7px 16px #ba738b18,inset 0 -3px 6px #f5bad330;animation:heartbeat 4s ease-in-out infinite}.heart-seal svg{width:23px;height:23px;filter:drop-shadow(0 2px 1px #b8688530)}.eyebrow{font-size:9px;letter-spacing:2.7px;color:#b08e98;margin:0 0 7px}.eyebrow,h1{font-weight:800}h1{font-size:clamp(40px,5.2vw,66px);letter-spacing:-3px;line-height:1.12;margin:0 0 15px}h1 span{font-size:.8em;color:#ce8da0;font-weight:400;display:inline-block;transform:rotate(-12deg);vertical-align:3px}h2{font-weight:600}.hero h2{font-size:19px;line-height:1.5;margin:0 0 8px;letter-spacing:-.3px}.hero-note{color:#9b858c;font-size:13px;margin:0;line-height:1.6}.mobile-break{display:none}.hero-spark{position:absolute;color:#dbb0a3;font-size:44px;font-weight:400}.spark-one{left:19%;top:100px;transform:rotate(12deg)}.spark-two{right:18%;top:147px;font-size:25px;color:#c2b2d1}.section-label{display:flex;justify-content:space-between;align-items:center;margin:0 3px 16px;font-size:12px;font-weight:800}.section-label>span:last-child{font-size:11px;font-weight:500;color:#a18c93}.section-label>span:last-child span{font-size:19px;padding-left:6px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.care-card{position:relative;display:flex;flex-direction:column;min-width:0;text-align:left;height:281px;border-radius:29px;padding:16px 19px 22px;background:linear-gradient(145deg,#ffffff70,var(--card-color));border:1px solid #fff;box-shadow:0 5px 0 -3px #dfc3ca40,0 12px 30px -18px #90627650;transition:box-shadow .25s;isolation:isolate}.care-card:hover{box-shadow:0 8px 0 -4px #dfc3ca40,0 16px 28px -14px #90627660}.card-number{position:absolute;left:19px;top:17px;font-size:10px;letter-spacing:1px;font-weight:700;opacity:.38}.card-heart{position:absolute;right:17px;top:16px;width:15px;height:15px;opacity:.3}.art{position:relative;width:100%;aspect-ratio:1;flex-shrink:0;pointer-events:none;mix-blend-mode:multiply;transform:perspective(600px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s}.art img{display:block;width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse at center,#000 50%,transparent 74%);-webkit-mask-image:radial-gradient(ellipse at center,#000 50%,transparent 74%)}.care-card>.art{height:188px;aspect-ratio:auto;margin-top:5px;animation:float 6s ease-in-out infinite;animation-delay:var(--float-delay)}.card-copy{display:flex;flex-direction:column;gap:5px;position:relative;z-index:1;padding-right:12px;margin-top:auto}.card-title{font-size:17px;line-height:1.15;font-weight:800;letter-spacing:-.5px;max-width:180px}.card-note{font-size:10px;line-height:1.4;color:#8d757c;white-space:nowrap;letter-spacing:-.2px}.card-arrow{display:grid;place-items:center;position:absolute;bottom:34px;right:16px;background:#ffffff66;width:25px;height:25px;border-radius:50%;opacity:0;transform:translateX(-3px);transition:.2s}.card-arrow svg{width:15px;height:15px}.care-card:focus-visible .card-arrow,.care-card:hover .card-arrow{opacity:1;transform:translateX(0)}.secret-card{width:100%;display:flex;align-items:center;text-align:left;gap:15px;border:1px dashed #d8b0bd;background:#fff3f3;border-radius:22px;margin:22px 0 0;padding:16px 22px}.secret-card b{font-size:16px;display:block}.secret-card small{display:block;font-size:11px;color:var(--muted);margin-top:2px}.secret-card>svg{margin-left:auto;width:20px}.secret-icon{width:43px;height:43px;display:grid;place-items:center;background:#f4dce4;border-radius:14px;color:#cf8ba0}.request-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:15px;font-size:13px;margin:20px auto 0;color:#9d6279;background:#fff0f3;border-radius:18px;max-width:480px}.request-status svg{width:17px;height:17px}.request-status small{flex-basis:100%}.request-status small,footer{text-align:center;color:var(--muted)}footer{padding:31px 0 max(26px,env(safe-area-inset-bottom))}.footer-line{width:30px;height:1px;background:#ddc6ce;margin:auto auto 19px}footer p{font-size:12px;line-height:1.8;margin:0 0 23px}footer strong{font-weight:600;color:#7a646e}.signature{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;letter-spacing:.15px;color:#b0959e}.signature svg{width:12px;height:12px;animation:heartbeat 4s infinite}.tilt-toggle{display:block;margin:16px auto 0;padding:8px;background:transparent;font-size:10px;color:#a89099;text-decoration:underline;text-underline-offset:3px}.access-note{background:#fff0f2;border-radius:15px;padding:12px;text-align:center;font-size:12px;color:#946777}.modal-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;perspective:1500px}.modal-backdrop{position:absolute;inset:0;background:#51414b55;backdrop-filter:blur(11px);-webkit-backdrop-filter:blur(11px)}.wish-dialog{width:min(100%,480px);max-height:calc(100dvh - 36px);overflow:auto;position:relative;background:linear-gradient(145deg,#fffaf7,var(--card-color));border-radius:36px;border:1px solid #fff;box-shadow:0 25px 100px #45283933;padding:32px 28px 25px;text-align:center;perspective:1400px;scrollbar-width:none}.close-button{position:absolute;z-index:5;right:15px;top:15px;display:grid;place-items:center;background:#ffffff99;border:1px solid #fff;width:42px;height:42px;border-radius:50%;font-size:27px;line-height:1;color:#8c737e}.flip-shell{position:relative;transform-style:preserve-3d}.flip-front{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:28px;font-weight:800}.flip-back,.flip-front{backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-back{transform:rotateY(180deg);position:relative}.modal-eyebrow{display:block;font-size:9px;letter-spacing:2px;color:#9e7f8b;margin:20px 0 13px}.wish-dialog h2{font-size:34px;line-height:1.12;letter-spacing:-1.2px;font-weight:800;margin:0 auto;max-width:360px;position:relative;z-index:1}.title-heart{color:#be8394;white-space:nowrap}.art-large{width:clamp(180px,35vh,285px);margin:0 auto;max-width:100%}.wish-note{font-size:14px;margin:-4px 0 22px;color:#946e7b;position:relative;z-index:1}.wish-actions{display:grid;gap:10px;position:relative;z-index:2}.send-button,.show-button{min-height:51px;border-radius:17px;padding:12px 14px;font-size:14px;font-weight:800;transition:transform .2s}.show-button{background:#fffaf8cc;border:1px solid white;box-shadow:0 3px 8px #a96e8010}.send-button{background:#a86d82;color:white;box-shadow:0 5px 13px #93506822;display:flex;align-items:center;justify-content:center;gap:10px}.send-button:hover,.show-button:hover{transform:translateY(-1px)}.privacy-note{font-size:10px;color:#957582;margin-top:2px}.send-error{font-size:12px;line-height:1.6;color:#8c4660;background:#fff8f1a0;border-radius:12px;padding:10px;margin:0}.delivery-result{padding:12px;color:#8f5b70;display:flex;flex-direction:column;align-items:center;gap:7px}.delivery-result b{font-size:14px}.delivery-result small{font-size:11px}.delivery-result svg{width:20px;height:20px}.text-button{background:none;font-size:12px;text-decoration:underline;margin:5px}.love-letter{font-size:16px;line-height:1.8;margin:0 0 18px}.love-letter strong{font-size:22px;font-weight:800;display:block;margin-top:12px;color:#a56a81}.particles{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:24px}.particles>span{position:absolute;left:var(--x);top:55%;color:#dc8fa6;opacity:0;animation:hearts 5s var(--delay) infinite}.particles svg{width:12px;height:12px}.particles>span:nth-child(2n){color:#fff}.confetti>span{top:0;animation:confetti 3.5s var(--delay) infinite}.confetti svg{width:17px;height:17px}.presentation .wish-dialog{width:min(100%,680px);min-height:min(82dvh,780px);display:flex;flex-direction:column;justify-content:center;padding:56px 24px 35px}.presentation .wish-dialog h2{font-size:clamp(38px,7vw,65px);max-width:560px}.presentation .art-large{width:min(80vw,43dvh,400px);margin:15px auto}.presentation-note{font-size:13px;color:#9b7a87;margin-top:15px}.celebration-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:#48354066;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.celebration{position:relative;max-width:440px;width:100%;background:#fff5f3;border:1px solid white;border-radius:36px;padding:20px 28px 35px;text-align:center;box-shadow:0 25px 100px #45283933}.celebration h2{font-weight:800;font-size:29px;line-height:1.2;letter-spacing:-.8px;margin:0 0 13px}.celebration p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.bouncing-heart{animation:bounce 1.2s infinite}.ack-pill{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:25;border:1px solid white;box-shadow:0 5px 30px #8a566727;border-radius:30px;background:#fff4f4;padding:12px 20px;display:flex;align-items:center;gap:8px;font-size:12px;white-space:nowrap;color:#9b6279}.ack-pill svg{width:15px;height:15px}.flying-envelope{display:inline-block;animation:fly 1.2s infinite}.calm .art,.calm .bouncing-heart,.calm .flying-envelope,.calm .heart-seal,.calm .signature svg{animation:none!important;transform:none!important}.calm .hero-spark,.calm .particles{display:none}.calm .care-card{background:linear-gradient(145deg,#fffaf8,#ffffffaa),var(--card-color)}@keyframes float{0%,to{translate:var(--tilt-x) calc(var(--tilt-y) + 0px)}50%{translate:var(--tilt-x) calc(var(--tilt-y) - 5px)}}@keyframes heartbeat{0%,80%,to{scale:1}85%{scale:1.07}90%{scale:1}95%{scale:1.05}}@keyframes hearts{0%{translate:0 25px;opacity:0}25%{opacity:.6}to{translate:10px -180px;opacity:0;rotate:25deg}}@keyframes confetti{0%{translate:0 -20px;rotate:0deg;opacity:0}15%{opacity:.7}to{translate:20px 450px;rotate:230deg;opacity:0}}@keyframes bounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.04)}}@keyframes fly{0%{transform:translate(-8px,4px);opacity:0}30%{opacity:1}to{transform:translate(15px,-12px);opacity:0}}@media(min-width:1400px){main{max-width:1250px}.care-card{height:305px}.care-card>.art{height:211px}.hero{padding-top:42px;padding-bottom:40px}}@media(max-width:900px){main{padding:0 25px}.card-grid{gap:13px}.care-card{padding:14px;height:240px;border-radius:25px}.care-card>.art{height:150px;margin-top:7px}.card-title{font-size:15px}.card-note{font-size:9px;white-space:normal}.card-number{left:15px}.card-heart{right:15px}.card-arrow{display:none}.spark-one{left:10%}.spark-two{right:10%}}@media(max-width:650px){main{padding:0 19px}.topbar{padding-top:max(20px,env(safe-area-inset-top))}.dedication{font-size:8px;letter-spacing:1.4px;gap:6px}.dedication svg{width:14px;height:14px}.quiet-toggle{padding:9px 12px;font-size:10px}.hero{padding:30px 0 28px}.heart-seal{width:43px;height:43px;border-radius:15px;margin-bottom:17px}.eyebrow{font-size:7px;letter-spacing:2.1px;margin-bottom:10px}h1{font-size:42px;letter-spacing:-2px;margin-bottom:15px}.hero h2{font-size:16px;line-height:1.45}.mobile-break{display:block}.hero-note{font-size:10px;max-width:260px;margin:10px auto 0;line-height:1.5}.spark-one{left:3%;top:83px;font-size:28px}.spark-two{right:3%;top:130px;font-size:20px}.section-label{font-size:11px;margin-bottom:13px}.section-label>span:last-child{font-size:9px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.care-card{height:242px;padding:13px 14px 18px;border-radius:25px}.care-card>.art{height:164px;margin-top:0}.card-title{font-size:16px;letter-spacing:-.5px;max-width:150px}.card-note{font-size:9px;max-width:160px}.card-copy{gap:6px;padding-right:0}.card-number{font-size:8px;top:14px}.card-heart{width:13px;height:13px;top:13px}.secret-card{padding:14px;gap:12px}.secret-card b{font-size:14px}.secret-card small{font-size:10px}.secret-card>svg{width:16px}.wish-dialog{padding:30px 20px 22px;border-radius:30px}.wish-dialog h2{font-size:32px}.modal-eyebrow{margin-top:25px;font-size:8px}.wish-note{font-size:12px}.art-large{width:min(260px,32dvh)}.presentation .wish-dialog{border-radius:28px;min-height:85dvh}.presentation .wish-dialog h2{font-size:43px}.love-letter{font-size:14px}.celebration h2{font-size:27px}}@media(max-width:359px){main{padding:0 12px}h1{font-size:36px}.card-grid{gap:10px}.care-card{height:217px;padding:12px 12px 16px}.care-card>.art{height:140px}.card-title{font-size:14px}.card-note{font-size:8px}.hero h2{font-size:15px}.section-label>span:last-child{font-size:8px}.wish-dialog h2{font-size:28px}.send-button,.show-button{font-size:12px}.presentation .wish-dialog h2{font-size:37px}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;scroll-behavior:auto!important;transition:none!important}.particles{display:none}}