:root{

  --bg:#120e0b;

  --surface:#1d1611;

  --surface-2:#251c15;

  --gold:#c8974f;

  --gold-soft:#e6c383;

  --rose:#b26a5b;

  --cream:#f3e8d6;

  --muted:#9c8a76;

  --line: rgba(200,151,79,0.22);

  --shadow: 0 24px 60px rgba(0,0,0,0.6);

}



*{box-sizing:border-box; margin:0; padding:0;}

html{scroll-behavior:smooth;}



body{

  background:

    radial-gradient(1100px 550px at 12% -8%, rgba(200,151,79,0.11), transparent 60%),

    radial-gradient(900px 500px at 108% 8%, rgba(178,106,91,0.14), transparent 55%),

    radial-gradient(700px 500px at 50% 120%, rgba(200,151,79,0.06), transparent 60%),

    var(--bg);

  color:var(--cream);

  font-family:'Vazirmatn', sans-serif;

  min-height:100vh;

  overflow-x:hidden;

}



body::before{

  content:"";

  position:fixed; inset:0;

  pointer-events:none;

  z-index:9999;

  opacity:0.035;

  mix-blend-mode:overlay;

  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");

}



.sprockets{

  display:flex; justify-content:center; gap:14px;

  padding:16px 0; opacity:0.5;

}

.sprockets span{

  width:7px; height:7px; border-radius:2px;

  background:var(--gold); opacity:0.55;

}



header{

  position:sticky; top:0; z-index:50;

  backdrop-filter: blur(16px);

  background:rgba(18,14,11,0.7);

  border-bottom:1px solid var(--line);

}

.header-inner{

  max-width:1140px; margin:0 auto;

  padding:20px 28px;

  display:flex; align-items:center; justify-content:space-between;

}

.brand{ display:flex; align-items:center; gap:12px; }

.brand-mark{

  width:40px; height:40px; border-radius:50%;

  border:1.5px solid var(--gold);

  display:flex; align-items:center; justify-content:center;

  font-size:17px; color:var(--gold-soft); flex-shrink:0;

  background:radial-gradient(circle at 30% 30%, rgba(200,151,79,0.18), transparent 70%);

}

.brand-text .title{ font-weight:700; font-size:17.5px; color:var(--cream); }

.brand-text .subtitle{ font-size:10.5px; color:var(--muted); letter-spacing:1.5px; margin-top:2px; }

.header-cta{

  font-size:12.5px; font-weight:600; color:#1b140f;

  background:linear-gradient(90deg, var(--gold-soft), var(--gold));

  padding:9px 18px; border-radius:999px;

  border:none; cursor:pointer;

  box-shadow:0 10px 24px rgba(200,151,79,0.25);

  transition:transform .25s ease;

}

.header-cta:hover{ transform:translateY(-2px); }



.hero{ max-width:840px; margin:0 auto; padding:90px 28px 50px; text-align:center; }

.hero .eyebrow{

  display:inline-flex; align-items:center; gap:8px;

  font-size:11.5px; letter-spacing:2.5px; color:var(--gold-soft);

  border:1px solid var(--line); padding:8px 18px; border-radius:999px;

  margin-bottom:30px; opacity:0; animation: fadeUp .8s ease forwards;

}

.hero h1{

  font-size:clamp(28px, 5vw, 48px); font-weight:900; line-height:1.55;

  color:var(--cream); opacity:0; animation: fadeUp .9s ease forwards; animation-delay:.15s;

}

.hero h1 em{

  font-style:normal;

  background:linear-gradient(90deg, var(--gold-soft), var(--rose));

  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;

}

.hero p{

  margin-top:22px; font-size:16px; line-height:2.1; color:var(--muted);

  opacity:0; animation: fadeUp .9s ease forwards; animation-delay:.3s;

}

.hero .signature{

  margin-top:36px; font-size:13px; color:var(--muted); letter-spacing:1px;

  opacity:0; animation: fadeUp .9s ease forwards; animation-delay:.45s;

}

.hero .signature b{ color:var(--gold-soft); font-weight:600; }



@keyframes fadeUp{ from{opacity:0; transform:translateY(16px);} to{opacity:1; transform:translateY(0);} }



.gallery-section{ max-width:1140px; margin:0 auto; padding:20px 28px 30px; }

.gallery-head{

  display:flex; align-items:baseline; justify-content:space-between;

  margin-bottom:36px; flex-wrap:wrap; gap:10px;

  padding-bottom:18px; border-bottom:1px solid var(--line);

}

.gallery-head h2{ font-size:23px; font-weight:800; color:var(--cream); }

.gallery-head span{ font-size:12px; color:var(--muted); letter-spacing:0.5px; }



.gallery{ display:grid; grid-template-columns:repeat(5, 1fr); gap:22px; }

@media (max-width:980px){ .gallery{ grid-template-columns:repeat(3,1fr); } }

@media (max-width:600px){ .gallery{ grid-template-columns:repeat(2,1fr); gap:14px;} }



.frame{

  position:relative;

  border-radius:14px;

  padding:10px 10px 14px;

  background:linear-gradient(160deg, #efe3cd, #d6c6a2);

  box-shadow:var(--shadow);

  transform:rotate(var(--r,0deg));

  transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;

  opacity:0; animation: frameIn .6s ease forwards;

}

.frame:nth-child(5n+1){ --r:-2.2deg; }

.frame:nth-child(5n+2){ --r:1.6deg; }

.frame:nth-child(5n+3){ --r:-1deg; }

.frame:nth-child(5n+4){ --r:2.2deg; }

.frame:nth-child(5n+5){ --r:-1.8deg; }



@keyframes frameIn{ from{opacity:0; transform:translateY(18px) rotate(var(--r,0deg));} to{opacity:1; transform:translateY(0) rotate(var(--r,0deg));} }



.frame:hover{

  transform:rotate(0deg) translateY(-8px) scale(1.045);

  box-shadow:0 30px 70px rgba(0,0,0,0.65);

  z-index:6;

}



.photo-wrap{

  position:relative; width:100%; aspect-ratio:1/1.05;

  border-radius:6px; overflow:hidden; background:#000;

}

.photo-wrap img{

  position:absolute; inset:0; width:100%; height:100%;

  object-fit:cover;

  filter: blur(11px) saturate(0.85) brightness(0.72) contrast(0.95);

  transform:scale(1.18);

  transition: filter .5s ease, transform .5s ease;

}

.frame:hover .photo-wrap img{

  filter: blur(9px) saturate(0.9) brightness(0.8) contrast(0.95);

  transform:scale(1.22);

}

.photo-wrap::after{

  content:""; position:absolute; inset:0;

  background:linear-gradient(180deg, rgba(0,0,0,0.05) 40%, rgba(10,7,5,0.55) 100%);

}

.lock-icon{

  position:absolute; top:10px; left:10px;

  width:26px; height:26px; border-radius:50%;

  background:rgba(15,10,7,0.55);

  backdrop-filter:blur(4px);

  display:flex; align-items:center; justify-content:center;

  font-size:12px; color:var(--gold-soft);

  border:1px solid rgba(230,195,131,0.3);

}



.frame .num{

  text-align:center; font-size:10.5px; color:#4a3c2c;

  letter-spacing:0.4px; font-weight:500; margin-top:8px;

}



.view-btn{

  display:block; width:100%; margin-top:9px;

  appearance:none; border:none; cursor:pointer;

  font-family:inherit; font-weight:600; font-size:11.5px;

  letter-spacing:0.3px; color:var(--surface);

  background:linear-gradient(90deg, var(--gold-soft), var(--gold));

  padding:8px 0; border-radius:8px;

  transition:transform .2s ease, box-shadow .2s ease;

}

.view-btn:hover{ transform:translateY(-2px); box-shadow:0 10px 20px rgba(200,151,79,0.3); }



.modal-backdrop{

  position:fixed; inset:0; z-index:200;

  background:rgba(10,7,5,0.78);

  backdrop-filter:blur(6px);

  display:none; align-items:center; justify-content:center;

  padding:24px;

  opacity:0;

  transition:opacity .3s ease;

}

.modal-backdrop.show{ display:flex; opacity:1; }



.modal{

  max-width:420px; width:100%;

  background:var(--surface);

  border:1px solid var(--line);

  border-radius:20px;

  box-shadow:var(--shadow);

  overflow:hidden;

  position:relative;

  transform:translateY(16px) scale(0.98);

  opacity:0;

  transition:transform .35s cubic-bezier(.2,.8,.2,1), opacity .35s ease;

}

.modal-backdrop.show .modal{ transform:translateY(0) scale(1); opacity:1; }



.modal-photo{ position:relative; width:100%; aspect-ratio:16/11; background:#000; }

.modal-photo img{

  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;

  filter: blur(14px) saturate(0.85) brightness(0.68);

  transform:scale(1.2);

}

.modal-photo::after{

  content:""; position:absolute; inset:0;

  background:linear-gradient(180deg, rgba(0,0,0,0.1), rgba(10,7,5,0.6));

}

.modal-photo .badge{

  position:absolute; bottom:14px; right:16px; left:16px;

  text-align:center;

  font-size:11.5px; color:var(--gold-soft);

  letter-spacing:0.5px;

}



.modal-body{ padding:26px 26px 28px; text-align:center; }

.modal-body p{ color:var(--cream); font-size:14.5px; line-height:2; margin-bottom:20px; }

.modal-body .note{ margin-top:14px; font-size:11px; color:var(--muted); }



.btn{

  appearance:none; border:none; cursor:pointer; font-family:inherit;

  font-weight:700; font-size:14.5px; letter-spacing:0.3px;

  padding:14px 30px; border-radius:999px; color:#1b140f;

  background:linear-gradient(90deg, var(--gold-soft), var(--gold));

  box-shadow:0 14px 30px rgba(200,151,79,0.25);

  transition: transform .25s ease, box-shadow .25s ease;

  width:100%;

}

.btn:hover{ transform:translateY(-3px); box-shadow:0 18px 38px rgba(200,151,79,0.35); }

.btn:active{ transform:translateY(0); }



.modal-close{

  position:absolute; top:14px; left:14px; z-index:2;

  width:30px; height:30px; border-radius:50%;

  background:rgba(15,10,7,0.55); backdrop-filter:blur(4px);

  border:1px solid rgba(230,195,131,0.3);

  color:var(--gold-soft); font-size:15px; cursor:pointer;

  display:flex; align-items:center; justify-content:center;

}



.cta-section{ max-width:640px; margin:30px auto 0; padding:40px 28px 110px; text-align:center; }

.cta-section p{ color:var(--muted); font-size:14px; margin-bottom:22px; line-height:1.9; }

.cta-section .btn{ width:auto; padding:16px 42px; }



footer{

  text-align:center; padding:26px 20px 40px;

  font-size:11.5px; color:var(--muted); letter-spacing:0.5px;

}

