:root{--pink:#ff4f83;--pink-dark:#d92c65;--pink-soft:#ffe3eb;--rose:#fff0f4;--cream:#fffaf8;--ink:#4b2635;--muted:#896b78;--white:#fff;--shadow:0 18px 55px rgba(196,55,100,.12);--round:28px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:'Vazirmatn','Baloo Bhaijaan 2',sans-serif;color:var(--ink);background:radial-gradient(circle at 15% 10%,#ffe0e9 0,transparent 25%),radial-gradient(circle at 90% 35%,#ffe8dc 0,transparent 28%),linear-gradient(180deg,#fff8fa 0%,#fff 46%,#fff4f7 100%);overflow-x:hidden}body.locked{overflow:hidden}.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(2px);pointer-events:none;opacity:.55}.ambient-one{width:240px;height:240px;background:#ffd3e1;top:14%;right:-120px}.ambient-two{width:300px;height:300px;background:#ffe4d6;bottom:8%;left:-150px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #9d3156;outline-offset:4px}.entry-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% 35%,rgba(255,255,255,.93),rgba(255,235,242,.97) 54%,#ffdbe7 100%);transition:opacity .7s ease,visibility .7s ease}.entry-screen.is-gone{opacity:0;visibility:hidden;pointer-events:none}.entry-card{position:relative;width:min(100%,560px);padding:clamp(24px,6vw,48px);text-align:center;border:1px solid rgba(255,255,255,.9);border-radius:36px;background:rgba(255,255,255,.75);box-shadow:0 24px 90px rgba(192,52,99,.18);backdrop-filter:blur(14px);animation:cardFloat 4s ease-in-out infinite}.tiny-label,.entry-kicker,.entry-footnote,.eyebrow,.section-tag{font-size:.88rem;color:var(--pink-dark);font-weight:800}.heart-stage{position:relative;display:grid;place-items:center;height:150px;margin:12px 0}.heart-glow{position:absolute;width:120px;height:120px;background:#ff79a5;border-radius:50%;filter:blur(36px);opacity:.5;animation:glowPulse 2s ease-in-out infinite}.main-heart{position:relative;width:110px;height:100px;overflow:visible;filter:drop-shadow(0 12px 20px rgba(226,42,101,.3));transform-origin:center;animation:heartbeat 1.35s ease-in-out infinite}.heart-spark{position:absolute;color:var(--pink);font-size:25px;animation:twinkle 1.8s ease-in-out infinite}.spark-a{top:18px;left:calc(50% - 80px)}.spark-b{right:calc(50% - 86px);top:25px;animation-delay:.4s}.spark-c{left:calc(50% + 50px);bottom:18px;animation-delay:.8s}.entry-kicker{margin:0 0 10px}.entry-card h1{font-size:clamp(1.8rem,6vw,2.55rem);line-height:1.55;margin:0 0 12px;font-weight:900}.entry-card h1 span{color:var(--pink-dark)}.entry-copy{max-width:420px;margin:0 auto 24px;color:var(--muted);line-height:2;font-size:.98rem}.entry-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:999px;border:1px solid transparent;font-weight:800;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;touch-action:manipulation}.btn:active{transform:scale(.97)}.btn-primary{color:white;background:linear-gradient(135deg,#ff709a,#e52d6b);box-shadow:0 10px 25px rgba(229,45,107,.24)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(229,45,107,.32)}.btn-soft{background:#fff0f5;color:#c52a60;border-color:#ffd2e0}.btn-outline{color:#bf2d60;background:rgba(255,255,255,.6);border-color:#ffc3d5}.entry-footnote{min-height:24px;margin:17px 0 0;font-size:.82rem}.entry-bottom-note{position:absolute;bottom:max(15px,env(safe-area-inset-bottom));font-size:.8rem;color:#b15a78}.site-shell{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}.site-shell.is-ready{opacity:1;transform:none}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px clamp(16px,4vw,56px);background:rgba(255,250,252,.83);backdrop-filter:blur(18px);border-bottom:1px solid rgba(247,188,207,.35)}.brand{display:flex;align-items:center;gap:9px;font-weight:900;white-space:nowrap}.brand-heart{display:grid;place-items:center;width:35px;height:35px;color:white;background:linear-gradient(135deg,#ff7da3,#e32b69);border-radius:13px;box-shadow:0 5px 15px #ffb0c6}.top-nav{display:flex;gap:clamp(10px,2vw,25px);font-size:.9rem;font-weight:700;color:#8e6474}.top-nav a:hover{color:var(--pink-dark)}.nav-pill{white-space:nowrap;padding:9px 15px;border-radius:999px;background:#ffe6ee;color:#bd285b;font-weight:800;font-size:.86rem}.section-wrap{width:min(1120px,calc(100% - 36px));margin-inline:auto}.hero{position:relative;min-height:690px;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:36px;padding-top:70px;padding-bottom:100px}.hero-copy{position:relative;z-index:2}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 13px;border:1px solid #ffd0df;border-radius:999px;background:#fff9fb}.eyebrow-dot{width:8px;height:8px;border-radius:50%;background:#ff4d82;box-shadow:0 0 0 5px #ffe2eb}.hero h1{font-size:clamp(2.3rem,5.2vw,4.5rem);line-height:1.45;letter-spacing:-1.5px;margin:22px 0 15px;font-weight:900}.gradient-text{background:linear-gradient(100deg,#e62c69,#ff86a9,#c73574);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-lead{font-size:1.18rem;font-weight:700;line-height:2;color:#67364b;max-width:650px}.hero-sub{line-height:2.05;color:var(--muted);max-width:630px}.hero-buttons{display:flex;gap:11px;flex-wrap:wrap;margin-top:26px}.hero-signature{display:flex;align-items:center;gap:10px;margin-top:27px;font-size:.88rem;color:#a46a81;font-weight:700}.signature-line{width:42px;height:1px;background:#e9a2ba}.hero-art{position:relative;display:grid;place-items:center;min-height:430px}.orbit{position:absolute;width:min(92%,390px);aspect-ratio:1;border:1px dashed rgba(239,100,145,.38);border-radius:50%;animation:orbitSpin 28s linear infinite}.orbit-two{width:min(72%,310px);border-style:solid;border-color:rgba(245,163,187,.4);animation-direction:reverse;animation-duration:35s}.hero-heart-wrap{position:relative;display:grid;place-items:center;width:230px;height:230px}.hero-heart-glow{position:absolute;width:210px;height:210px;background:#ff9fbb;filter:blur(48px);opacity:.65;border-radius:50%;animation:glowPulse 2.6s ease-in-out infinite}.hero-heart{position:relative;color:#f4457d;font-size:clamp(150px,20vw,220px);line-height:1;text-shadow:0 20px 28px rgba(204,38,89,.2);transform-origin:center;animation:heartbeat 1.55s ease-in-out infinite}.hero-heart-mini{position:absolute;right:10px;top:26px;font-size:40px;color:#d62e6b;animation:twinkle 1.8s infinite}.floating-note{position:absolute;z-index:3;padding:12px 16px;border:1px solid white;border-radius:17px;background:rgba(255,255,255,.88);box-shadow:var(--shadow);font-size:.82rem;font-weight:800;color:#a23863;animation:cardFloat 4.5s ease-in-out infinite}.note-one{top:48px;right:0;transform:rotate(4deg)}.note-two{bottom:75px;left:-4px;animation-delay:1s;transform:rotate(-4deg)}.art-star{position:absolute;color:#ff76a0;font-size:28px;animation:twinkle 2s infinite}.star-one{top:64px;left:23%}.star-two{right:18%;bottom:72px;animation-delay:.5s}.star-three{left:14%;bottom:145px;animation-delay:1s}.art-caption{position:absolute;bottom:8px;text-align:center;color:#ad7088;font-size:.8rem;line-height:1.7}.art-caption strong{font-size:1rem;color:#b32c60}.scroll-cue{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;white-space:nowrap;color:#a76d83;font-size:.83rem;font-weight:700}.scroll-cue span{width:20px;height:30px;border:1.5px solid #e5a1b8;border-radius:99px;position:relative}.scroll-cue span:after{content:'';position:absolute;width:4px;height:6px;left:6px;top:6px;border-radius:4px;background:#e84a7c;animation:scrollDot 1.4s infinite}.love-note{padding-top:60px;padding-bottom:90px}.section-heading{text-align:center;max-width:760px;margin:0 auto 34px}.section-tag{display:inline-block;padding:7px 13px;border-radius:999px;background:#ffe7ef}.section-heading h2,.memory-invite h2,.last-hug h2{font-size:clamp(1.8rem,4vw,3rem);line-height:1.55;margin:16px 0;font-weight:900}.section-heading h2 span{color:var(--pink-dark)}.section-heading>p{line-height:1.9;color:var(--muted)}.letter-card{position:relative;max-width:880px;margin:auto;padding:clamp(25px,5vw,55px);border:1px solid #ffe1e9;border-radius:32px;background:rgba(255,255,255,.83);box-shadow:var(--shadow);line-height:2.25;font-size:1.02rem;overflow:hidden}.letter-card:before{content:'♡';position:absolute;left:-5px;bottom:-55px;font-size:190px;color:#fff1f5;line-height:1;transform:rotate(-15deg);pointer-events:none}.letter-card p{position:relative}.letter-stamp{display:inline-block;padding:10px 15px;margin-bottom:18px;border:1px dashed #ee8ca9;border-radius:16px;color:#c63d6b;font-weight:800;line-height:1.7;transform:rotate(-3deg)}.letter-ending{font-weight:800;color:#b62d60}.letter-sign{text-align:left;font-weight:900;color:#d34273}.little-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.little-trio>div{display:grid;justify-items:center;gap:5px;text-align:center;padding:20px 12px;background:#fff;border:1px solid #ffe2eb;border-radius:22px;box-shadow:0 8px 24px rgba(190,60,100,.06)}.little-trio span{font-size:1.8rem;color:var(--pink)}.little-trio strong{font-size:.95rem}.little-trio small{color:var(--muted)}.birthday-banner{position:relative;overflow:hidden;text-align:center;padding:clamp(32px,6vw,68px) clamp(22px,5vw,55px);border-radius:36px;color:white;background:linear-gradient(135deg,#ff8bad,#e83370 58%,#bd2b69);box-shadow:0 25px 60px rgba(210,47,102,.2)}.birthday-banner:before,.birthday-banner:after{content:'♡';position:absolute;font-size:180px;line-height:1;color:rgba(255,255,255,.09);pointer-events:none}.birthday-banner:before{right:-20px;top:-55px}.birthday-banner:after{left:-20px;bottom:-75px}.banner-confetti{font-size:1.5rem;letter-spacing:12px;color:#ffe4a8}.birthday-banner>p:first-of-type{font-weight:800}.birthday-banner h2{font-size:clamp(1.8rem,4.5vw,3.2rem);line-height:1.6;margin:15px 0}.banner-name{font-size:clamp(1.8rem,5vw,3.6rem);font-weight:900;text-shadow:0 5px 0 rgba(150,20,70,.12)}.birthday-banner>p:last-of-type{max-width:700px;margin:20px auto 0;line-height:2;color:#fff2f6}.little-game{padding-top:100px;padding-bottom:90px}.challenge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.challenge-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:right;min-height:190px;padding:22px;border:1px solid #ffe0e9;border-radius:25px;background:rgba(255,255,255,.88);box-shadow:0 12px 30px rgba(187,59,99,.07);color:var(--ink);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.challenge-card:hover{transform:translateY(-6px) rotate(-1deg);box-shadow:var(--shadow);border-color:#ffb4cb}.challenge-emoji{display:grid;place-items:center;width:55px;height:55px;border-radius:18px;background:#fff0f5;font-size:1.8rem}.challenge-card strong{font-size:1.05rem}.challenge-card small{color:var(--muted)}.card-arrow{position:absolute;left:20px;bottom:18px;color:#e04b7d;font-size:1.5rem}.challenge-result{display:flex;align-items:center;justify-content:center;gap:12px;min-height:90px;margin-top:20px;padding:20px;border:1px dashed #f2a1ba;border-radius:22px;background:rgba(255,255,255,.6);text-align:center;color:#9b4162;font-weight:700;line-height:1.9}.challenge-result p{margin:0}.result-heart{font-size:2rem;color:var(--pink)}.memory-invite{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:55px;padding:45px;margin-bottom:90px;border:1px solid #ffe2eb;border-radius:34px;background:linear-gradient(135deg,#fff 0%,#fff0f5 100%);box-shadow:var(--shadow)}.memory-invite-copy p{line-height:2;color:var(--muted);margin-bottom:24px}.memory-illustration{position:relative;min-height:260px;display:grid;place-items:center}.polaroid{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:190px;height:220px;padding:15px 15px 24px;background:white;box-shadow:0 16px 35px rgba(168,59,94,.16);border:1px solid #f8e1e8}.polaroid-back{transform:rotate(-13deg);font-size:5rem;color:#f4a2bb;background:#fff1f5}.polaroid-front{transform:rotate(8deg);gap:5px;color:#bd3967}.polaroid-front span{font-size:.75rem;letter-spacing:3px}.polaroid-front strong{font-family:Georgia,serif;font-size:5rem;line-height:1;color:#f26a97}.polaroid-front small{font-size:.75rem}.memory-doodle{position:absolute;right:20%;top:20px;font-size:3rem;color:#ed6691}.last-hug{max-width:850px;text-align:center;padding-top:15px;padding-bottom:90px}.last-hug-heart{display:grid;place-items:center;width:78px;height:78px;margin:0 auto 20px;border-radius:27px;background:#ffe3ec;color:#f1487e;font-size:2.8rem;animation:heartbeat 1.5s infinite}.last-hug p{line-height:2.1;color:var(--muted);font-size:1.02rem}.last-line{font-weight:700;color:#9e4264!important}.last-line strong{color:#c72d64}.final-message{margin:25px auto 0;padding:22px;border-radius:24px;background:#fff0f5;color:#c12d62;font-weight:900;line-height:2;animation:popIn .5s ease}.final-message span{font-size:.9rem}.footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:25px clamp(18px,5vw,60px);border-top:1px solid #f8dbe5;background:rgba(255,255,255,.6);font-size:.82rem;color:#a66b82}.footer a{font-weight:800;color:#c32c63}.toast{position:fixed;z-index:100;bottom:20px;left:50%;transform:translate(-50%,20px);max-width:calc(100% - 30px);padding:12px 18px;border-radius:999px;background:#57243b;color:white;box-shadow:0 10px 35px #7b2e4d33;opacity:0;pointer-events:none;transition:.3s;text-align:center;font-size:.9rem}.toast.show{opacity:1;transform:translate(-50%,0)}.sparkle{position:fixed;z-index:90;pointer-events:none;font-size:20px;animation:floatAway 1.1s ease-out forwards}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@keyframes heartbeat{0%,100%{transform:scale(1)}12%{transform:scale(1.08)}24%{transform:scale(.98)}36%{transform:scale(1.12)}52%{transform:scale(1)}}@keyframes glowPulse{0%,100%{transform:scale(.86);opacity:.38}50%{transform:scale(1.12);opacity:.7}}@keyframes twinkle{0%,100%{transform:scale(.75) rotate(-10deg);opacity:.55}50%{transform:scale(1.2) rotate(12deg);opacity:1}}@keyframes cardFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes scrollDot{0%{transform:translateY(0);opacity:1}100%{transform:translateY(9px);opacity:0}}@keyframes floatAway{0%{opacity:0;transform:translate(-50%,-50%) scale(.5) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% - 95px)) scale(1.3) rotate(35deg)}}@keyframes popIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:15px;padding-top:45px;min-height:auto}.hero-copy{max-width:760px;margin-inline:auto;text-align:center}.hero-buttons,.hero-signature{justify-content:center}.hero-lead,.hero-sub{margin-inline:auto}.hero-art{min-height:360px;grid-row:1}.hero h1{font-size:clamp(2.15rem,7vw,3.6rem)}.scroll-cue{position:static;grid-column:1;transform:none;justify-self:center;margin-top:8px}.challenge-grid{grid-template-columns:repeat(2,1fr)}.memory-invite{gap:25px;padding:30px}.top-nav{display:none}}
@media(max-width:600px){html{scroll-padding-top:72px}.section-wrap{width:calc(100% - 28px)}.topbar{padding:10px 14px;gap:8px}.brand{font-size:.9rem}.brand-heart{width:31px;height:31px}.nav-pill{font-size:.76rem;padding:8px 11px}.hero{padding-top:28px;padding-bottom:48px}.hero-art{min-height:300px}.hero-heart-wrap{width:185px;height:185px}.hero-heart{font-size:170px}.hero-heart-glow{width:160px;height:160px}.orbit{width:270px}.orbit-two{width:210px}.floating-note{font-size:.7rem;padding:9px 11px}.note-one{top:20px;right:0}.note-two{bottom:45px;left:0}.art-caption{bottom:-4px}.hero h1{font-size:clamp(2rem,9vw,3rem);letter-spacing:-.7px}.hero-lead{font-size:1.03rem}.hero-sub{font-size:.92rem}.hero-buttons{flex-direction:column;align-items:stretch}.hero-buttons .btn{width:100%}.hero-signature{font-size:.78rem}.love-note{padding-top:35px;padding-bottom:55px}.section-heading{margin-bottom:24px}.section-heading h2,.memory-invite h2,.last-hug h2{font-size:clamp(1.65rem,7vw,2.25rem)}.letter-card{padding:24px 20px;border-radius:24px;font-size:.94rem;line-height:2.15}.letter-stamp{font-size:.82rem}.little-trio{grid-template-columns:1fr;gap:9px}.little-trio>div{grid-template-columns:35px 1fr;justify-items:start;text-align:right;padding:13px 16px}.little-trio span{grid-row:span 2}.little-trio small{font-size:.76rem}.birthday-banner{border-radius:26px;padding:30px 20px}.birthday-banner h2{font-size:1.65rem}.banner-name{font-size:1.9rem}.birthday-banner>p:last-of-type{font-size:.9rem}.little-game{padding-top:60px;padding-bottom:55px}.challenge-grid{gap:10px}.challenge-card{min-height:165px;padding:16px;border-radius:20px}.challenge-card strong{font-size:.92rem}.challenge-card small{font-size:.76rem}.challenge-emoji{width:47px;height:47px;font-size:1.55rem}.card-arrow{left:14px;bottom:12px}.challenge-result{font-size:.88rem;padding:15px}.memory-invite{grid-template-columns:1fr;gap:8px;padding:25px 20px;margin-bottom:60px;border-radius:26px}.memory-illustration{min-height:240px;grid-row:2}.memory-invite-copy{text-align:center}.memory-invite-copy .btn{width:100%}.last-hug{padding-bottom:55px}.last-hug p{font-size:.94rem}.footer{justify-content:center;text-align:center;flex-direction:column;padding:22px 15px}.entry-card{padding:25px 20px;border-radius:28px}.heart-stage{height:125px}.main-heart{width:92px;height:86px}.entry-card h1{font-size:1.8rem}.entry-copy{font-size:.9rem;line-height:1.9}.entry-actions{flex-direction:column}.entry-actions .btn{width:100%}.entry-bottom-note{font-size:.7rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
