* { font-family: 'Vazirmatn', system-ui, sans-serif; box-sizing: border-box; }
body {
  margin: 0;
  background:
    radial-gradient(1200px 600px at 100% -10%, #ffe4dc 0%, transparent 55%),
    radial-gradient(900px 500px at -10% 110%, #ffd9ec 0%, transparent 50%),
    #fdf7f4;
  min-height: 100vh;
}

/* Masonry */
.masonry { column-gap: 1rem; }
@media (min-width:1280px){ .masonry{ column-count:5; } }
@media (min-width:1024px) and (max-width:1279px){ .masonry{ column-count:4; } }
@media (min-width:640px) and (max-width:1023px){ .masonry{ column-count:3; } }
@media (max-width:639px){ .masonry{ column-count:2; } }
.masonry-item { break-inside: avoid; margin-bottom: 1rem; display:block; }

/* Animations */
@keyframes rise { from{opacity:0; transform:translateY(18px) scale(.98);} to{opacity:1; transform:translateY(0) scale(1);} }
.rise { animation: rise .45s cubic-bezier(.2,.8,.2,1) both; }
@keyframes pop { 0%{transform:scale(.85);opacity:0;} 100%{transform:scale(1);opacity:1;} }
.pop { animation: pop .28s cubic-bezier(.2,.8,.2,1) both; }
@keyframes shimmer { to { background-position-x: -200%; } }
.shimmer { background: linear-gradient(110deg,#f0e2dd 8%,#f9efeb 18%,#f0e2dd 33%); background-size:200% 100%; animation: shimmer 1.4s linear infinite; }
@keyframes floaty { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.floaty { animation: floaty 3s ease-in-out infinite; }

/* Card */
.pin-card { transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s; }
.pin-card:hover { transform: translateY(-4px); box-shadow: 0 22px 40px -14px rgba(190,60,90,.4); }
.pin-card:hover .pin-overlay { opacity:1; }
.pin-card:hover img { transform: scale(1.06); }
.pin-overlay { opacity:0; transition: opacity .3s; }
.pin-card img { transition: transform .5s cubic-bezier(.2,.8,.2,1); }

.brand { background: linear-gradient(90deg,#e60023,#ff5a7a); -webkit-background-clip:text; background-clip:text; color:transparent; }

::-webkit-scrollbar{width:10px} 
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#e6a99e;border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:#dd8a7c}

.dashzone.drag { border-color:#e60023 !important; background:#fff0ee !important; }
input:focus, textarea:focus { outline: none; }