:root{--ivory:#FAF7F2;--char:#1A1A1A;--gold:#C9A96E;--blush:#E8D5C4;}
*{box-sizing:border-box}
body{margin:0;background:var(--ivory);color:var(--char);font-family:'Vazirmatn',sans-serif;}
.display{font-family:'Lalezar','Vazirmatn',serif;letter-spacing:0}
.gold{color:var(--gold)}
.bg-gold{background:var(--gold)}
.hair{border-color:rgba(201,169,110,.35)}
.photo{object-fit:cover;object-position:center 35%;filter:contrast(1.05) saturate(.95) sepia(.08);}
.frame{position:relative;overflow:hidden;aspect-ratio:4/5;background:#F2ECE3}
.frame::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,rgba(60,40,20,.18));}
.marquee{white-space:nowrap;animation:mq 28s linear infinite;display:inline-block}
@keyframes mq{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.kenburns{animation:kb 18s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.12) translateY(-2%)}}
.fadeup{animation:fu .9s cubic-bezier(.2,.7,.2,1) both}
@keyframes fu{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.navlink{position:relative}
.navlink::after{content:'';position:absolute;bottom:-4px;right:0;height:1px;width:0;background:var(--gold);transition:width .4s}
.navlink:hover::after{width:100%}
.card .addbtn{transform:translateY(100%);transition:transform .4s}
.card:hover .addbtn{transform:none}
@media(max-width:768px){.card .addbtn{transform:none}}
.card img{transition:opacity .7s,transform 1.2s}
.card:hover img.main{transform:scale(1.05)}
.bounce{animation:bn .6s}
@keyframes bn{0%,100%{transform:scale(1)}40%{transform:scale(1.5)}}
.spark{position:absolute;width:3px;height:3px;border-radius:50%;background:var(--gold);opacity:.6;animation:sp 6s ease-in-out infinite}
@keyframes sp{0%,100%{transform:translateY(0);opacity:0}50%{transform:translateY(-40px);opacity:.8}}
.drawer{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.confetti{position:fixed;top:-10px;width:8px;height:14px;animation:cf 3s linear forwards;z-index:100}
@keyframes cf{to{transform:translateY(110vh) rotate(720deg)}}
.zp{background:linear-gradient(135deg,#FFD100,#FFC000)}
input,select,textarea{font-family:inherit}
.field{width:100%;border:1px solid rgba(201,169,110,.4);background:#fff;padding:.7rem .9rem;outline:none;border-radius:2px}
.field:focus{border-color:var(--gold)}