@import url('https://fonts.googleapis.com/css2?family=Amiri:wght@400;700&family=Cairo:wght@400;500;600;700;800&display=swap');:root{--bg:#22050e;--bg2:#3c0a19;--pink:#ffb6c7;--gold:#f3c8a4;--paper:#ffeddb;--text:#fff2e9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Cairo,Tahoma,sans-serif;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.ambient{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 15% 20%,#6a142b88,transparent 45%),radial-gradient(ellipse at 90% 75%,#66112766,transparent 40%),linear-gradient(135deg,#170309,#370916 55%,#1c030b)}.ambient:after{content:"";position:absolute;inset:0;opacity:.16;background-image:radial-gradient(#ffd2a4 1px,transparent 1px);background-size:42px 42px}#petals{position:fixed;inset:0;z-index:15;pointer-events:none;overflow:hidden}.petal{position:absolute;top:-40px;font-size:17px;opacity:.65;animation:fall linear forwards}@keyframes fall{to{transform:translate3d(var(--drift),110vh,0) rotate(550deg);opacity:0}}.screen,.section{position:relative}.gate{min-height:100svh;display:grid;place-items:center;padding:55px 18px;text-align:center;overflow:hidden}.gate-content{max-width:560px;width:100%;z-index:1}.eyebrow{color:#f9bdcb;letter-spacing:1.5px;font-size:13px}.gate h1{font-family:Amiri,serif;font-size:clamp(30px,5vw,48px);margin:12px 0}.sub{color:#e9bfc8;margin:0 auto 28px;line-height:2}.envelope{width:min(350px,82vw);height:235px;position:relative;margin:12px auto 24px;perspective:800px;cursor:pointer;filter:drop-shadow(0 24px 30px #0008)}.envelope-back{position:absolute;inset:0;background:#e6a9a2;border-radius:8px}.envelope-front{position:absolute;inset:0;background:linear-gradient(145deg,transparent 49%,#e8b8ae 50%) left/50% 100% no-repeat,linear-gradient(215deg,transparent 49%,#edc4b7 50%) right/50% 100% no-repeat,linear-gradient(0deg,#d99594,#f7d3c2);clip-path:polygon(0 20%,50% 68%,100% 20%,100% 100%,0 100%);z-index:4;border-radius:7px}.flap{position:absolute;inset:0;background:#f4c8bb;clip-path:polygon(0 0,100% 0,50% 59%);z-index:5;transform-origin:50% 0;transition:transform .8s,z-index .8s}.letter{position:absolute;left:9%;width:82%;height:85%;top:12%;z-index:3;background:linear-gradient(#fff5e8,#f3d7c4);border-radius:5px;padding:28px 8px;color:#82213d;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;font-family:Amiri,serif;font-size:25px;transition:transform .8s .25s}.letter small{font-size:15px}.seal{position:absolute;z-index:6;left:calc(50% - 24px);top:53%;width:48px;height:48px;display:grid;place-items:center;background:radial-gradient(#bd244f,#730d2c);border:3px solid #e9a0ac;border-radius:50%;box-shadow:0 3px 12px #6a092caa;color:#ffd8df;transition:opacity .2s}.envelope.open .flap{transform:rotateX(180deg);z-index:2}.envelope.open .letter{transform:translateY(-65px)}.envelope.open .seal{opacity:0}.login{max-width:350px;margin:auto}.login label{display:block;margin-bottom:9px;font-weight:700}.input-wrap{display:flex;border:1px solid #df9caf;border-radius:30px;background:#fff2e9;overflow:hidden}.input-wrap input{min-width:0;flex:1;border:0;outline:0;padding:12px 20px;background:transparent;color:#5c0a28;text-align:center;direction:ltr}.input-wrap button{border:0;background:transparent;color:#8d3450;padding:0 15px}.primary{border:1px solid #ffb5c8;background:linear-gradient(130deg,#9d1e46,#640c2c);color:white;border-radius:30px;padding:13px 30px;font-weight:700;box-shadow:0 6px 25px #f0538455;transition:transform .2s,box-shadow .2s}.primary:hover{transform:translateY(-3px);box-shadow:0 10px 32px #f0538488}.login .primary{margin-top:12px;width:100%}.error{min-height:20px;color:#ffb5b5;margin:5px}.hint{color:#b98694;font-size:12px}.sound{position:fixed;left:18px;bottom:18px;z-index:25;border:1px solid #ffc5d288;border-radius:30px;background:#420e23dd;color:#fff;padding:9px 14px;box-shadow:0 4px 20px #0007}.sound span{font-size:12px}.nav{position:sticky;top:0;z-index:12;display:flex;justify-content:space-between;align-items:center;padding:14px max(5vw,20px);background:#260611ee;backdrop-filter:blur(12px);border-bottom:1px solid #e89bb033}.brand{font-family:Georgia,serif;color:#f9b8c9;font-size:25px}.nav-links{display:flex;gap:24px;font-size:13px}.nav-links a:hover{color:var(--pink)}.section{padding:95px 20px;max-width:1250px;margin:auto;scroll-margin-top:65px}.hero{min-height:88svh;display:grid;place-items:center;text-align:center}.hero-content{max-width:850px;position:relative;z-index:1}.pill{display:inline-block;padding:9px 22px;border:1px solid #f3a8b677;border-radius:50px;background:#80234244;color:#ffd5df;font-size:13px}.hero-heart{font-size:65px;color:#f56991;text-shadow:0 0 40px #e32660;animation:pulse 2s infinite}@keyframes pulse{50%{transform:scale(1.12)}}.hero h2{font-family:Amiri,serif;font-size:clamp(43px,7vw,83px);line-height:1.4;margin:12px 0}.hero h2 em{color:#ffc0cf;font-style:normal}.lead{font-size:17px;line-height:2.3;color:#f5d4d8;max-width:730px;margin:0 auto 28px}.link-button{display:inline-block}.hero-decoration{position:absolute;left:4%;bottom:12%;font-size:100px;opacity:.4;transform:rotate(-22deg)}.section-heading{text-align:center;margin-bottom:38px}.section-heading h2{font-family:Amiri,serif;font-size:clamp(34px,5vw,56px);margin:8px 0;color:#fff0e6}.section-heading p{color:#ddb6be}.counter{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;direction:rtl}.counter>div{width:125px;min-height:125px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(145deg,#5b122a,#300917);border:1px solid #ef9caf88;border-radius:20px;box-shadow:inset 0 0 20px #d3446020,0 0 22px #d43e6529}.counter strong{font:700 44px Georgia,serif;color:#ffe6df;font-variant-numeric:tabular-nums}.counter span{font-size:15px;color:#f3c6ce}.age-banner{text-align:center;margin:32px auto 0;padding:19px;background:#f6e2d4;color:#6c1431;border-radius:13px;max-width:560px;transform:rotate(-1deg);font-family:Amiri,serif;font-size:27px}.age-banner b{color:#b72e53}.surprise{text-align:center;margin-top:30px;animation:appear .8s}.surprise h3{font-size:30px}.cake{font-size:85px}.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.paper{background:linear-gradient(140deg,#fff1df,#eecbbd);color:#61243a;border-radius:8px;padding:34px 26px;min-height:310px;box-shadow:0 20px 40px #0005;transform:rotate(-1deg)}.paper:nth-child(2){transform:rotate(1deg)}.paper-icon{font-size:40px}.paper h3{font:700 29px Amiri,serif}.paper p{line-height:2.1;font-size:15px}.signature{font:italic 19px Georgia,serif;color:#a44a65}.rose-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:15px;max-width:900px;margin:auto}.rose{background:linear-gradient(140deg,#5c1029,#2d0816);border:1px solid #c9698555;border-radius:20px;min-height:112px;color:white;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;transition:transform .2s,background .2s}.rose:hover{transform:translateY(-8px) rotate(-3deg);background:#75223e}.rose .flower{font-size:43px;filter:drop-shadow(0 5px 9px #0009)}.rose span:last-child{font-size:12px;color:#f4bdc9}.rose-note{text-align:center;color:#edb3c1;margin-top:30px}.letters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.letter-card{border:1px solid #d98ba3aa;background:linear-gradient(150deg,#64213a,#390c20);border-radius:18px;min-height:190px;padding:25px 14px;color:white;transition:transform .2s}.letter-card:hover{transform:translateY(-6px)}.letter-card .emoji{font-size:43px;display:block}.letter-card strong{display:block;margin-top:10px;font-size:18px}.letter-card small{color:#edb8c5}.together-counter>div{width:132px}.together-quote{text-align:center;font:25px Amiri,serif;color:#f2c5cb;margin-top:32px}.finale{text-align:center;padding-bottom:110px}.finale-inner{max-width:780px;margin:auto;border:1px solid #edb5c055;background:radial-gradient(ellipse at top,#84264755,transparent 70%);border-radius:28px;padding:65px 35px}.finale h2{font:700 clamp(35px,5vw,56px) Amiri,serif}.finale p{line-height:2.4;font-size:17px;color:#f6d6dd}.final-message{margin-top:25px;animation:appear .7s}.final-message span{font-size:65px}.final-message h3{font:700 45px Amiri,serif;margin:0}footer{text-align:center;padding:30px;color:#d6a4b0;border-top:1px solid #e99baa33;font-size:13px}footer span{display:block;direction:ltr;margin-top:8px}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:#140309d9;backdrop-filter:blur(8px)}.modal-card{position:relative;max-width:490px;width:100%;text-align:center;padding:45px 28px;background:linear-gradient(145deg,#fff1e2,#eec7b9);border-radius:14px;color:#64233c;box-shadow:0 30px 90px #000b;animation:appear .35s}.modal-card h3{font:700 34px Amiri,serif;margin:8px}.modal-card p{line-height:2.2;font-size:17px}.modal-icon{font-size:65px}.close{position:absolute;left:12px;top:10px;border:0;background:transparent;font-size:28px;color:#7e2340}@keyframes appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.story-grid{grid-template-columns:1fr}.letters-grid{grid-template-columns:repeat(2,1fr)}.rose-grid{grid-template-columns:repeat(4,1fr)}.nav-links{gap:10px;font-size:11px}.section{padding:70px 16px}.counter>div{width:calc(25% - 11px);min-height:95px}.counter strong{font-size:33px}.together-counter>div{width:calc(33.333% - 10px)}.hero{min-height:75svh}}@media(max-width:440px){.nav-links a:nth-child(1),.nav-links a:nth-child(3){display:none}.gate h1{font-size:32px}.rose-grid{grid-template-columns:repeat(3,1fr)}.rose{min-height:105px}.counter{gap:7px}.counter>div{width:calc(25% - 6px);min-height:85px;border-radius:12px}.counter strong{font-size:27px}.counter span{font-size:12px}.together-counter>div{width:calc(33.333% - 5px)}.letters-grid{gap:10px}.letter-card{min-height:160px}.hero h2{font-size:45px}.lead{font-size:15px}.age-banner{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
