/* ===== Reset & Variables ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root{
  --bg-dark:#121110;
  --bg-dark-2:#1b1815;
  --bg-corp:#152026;
  --bg-corp-2:#1c2b32;
  --accent-gold:#caa054;
  --accent-terracotta:#c1652f;
  --accent-teal:#3f8f83;
  --text-light:#f5efe4;
  --text-muted:#c9bdab;
  --text-dark:#211c17;
  --white:#ffffff;
  --radius:14px;
  --radius-sm:8px;
  --shadow:0 20px 45px -20px rgba(0,0,0,.55);
  --container:1180px;
  --ff:'Vazirmatn', Tahoma, sans-serif;
}
html{ scroll-behavior:smooth; }
body{
  font-family:var(--ff);
  background:var(--bg-dark);
  color:var(--text-light);
  line-height:1.9;
  overflow-x:hidden;
  font-weight:400;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font-family:var(--ff); cursor:pointer; }
.container{ max-width:var(--container); margin:0 auto; padding:0 28px; }
.section{ padding:110px 0; position:relative; }
.section-head{ text-align:center; max-width:680px; margin:0 auto 60px; }
.section-tag{
  display:inline-block; font-size:.85rem; letter-spacing:.5px; color:var(--accent-gold);
  border:1px solid rgba(202,160,84,.4); padding:6px 18px; border-radius:30px; margin-bottom:18px;
}
.section-title{ font-size:2.4rem; font-weight:900; margin-bottom:16px; }
.section-desc{ color:var(--text-muted); font-size:1.05rem; }
.btn{
  display:inline-flex; align-items:center; gap:8px; padding:14px 30px; border-radius:40px;
  font-weight:700; font-size:.98rem; border:none; transition:transform .25s ease, box-shadow .25s ease;
}
.btn-gold{ background:linear-gradient(135deg,var(--accent-gold),var(--accent-terracotta)); color:#1a1410; }
.btn-outline{ background:transparent; color:var(--text-light); border:1.5px solid rgba(245,239,228,.4); }
.btn:hover{ transform:translateY(-3px); box-shadow:0 12px 25px -8px rgba(202,160,84,.5); }

/* ===== Notice bar ===== */
.notice-bar{
  background:var(--accent-terracotta); color:#fff; text-align:center;
  font-size:.82rem; padding:8px 12px; position:relative; z-index:60;
}

/* ===== Header ===== */
.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(18,17,16,.85); backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(245,239,228,.08);
}
.header-inner{
  max-width:var(--container); margin:0 auto; padding:16px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.brand{ display:flex; align-items:center; gap:10px; font-weight:900; font-size:1.3rem; color:var(--text-light); }
.brand-mark{ width:34px; height:34px; color:var(--accent-gold); }
.brand-mark svg{ width:100%; height:100%; }
.main-nav ul{ display:flex; align-items:center; gap:28px; }
.nav-link{ font-size:.95rem; color:var(--text-muted); transition:color .2s ease; position:relative; }
.nav-link:hover{ color:var(--text-light); }
.nav-link.nav-cta{
  background:var(--accent-gold); color:#1a1410; padding:10px 22px; border-radius:30px; font-weight:700;
}
.nav-link.nav-cta:hover{ color:#1a1410; }
.menu-toggle{
  display:none; flex-direction:column; gap:5px; background:transparent; border:none; padding:8px;
}
.menu-toggle-bar{ width:26px; height:2px; background:var(--text-light); border-radius:2px; }

.mobile-nav{
  position:fixed; inset:0 0 0 auto; width:78%; max-width:320px; height:100vh;
  background:var(--bg-dark-2); z-index:70; transform:translateX(100%);
  transition:transform .35s ease; padding:100px 30px 30px; box-shadow:var(--shadow);
}
html[dir="rtl"] .mobile-nav{ inset:0 auto 0 0; transform:translateX(-100%); }
.mobile-nav.open{ transform:translateX(0); }
.mobile-nav ul{ display:flex; flex-direction:column; gap:8px; }
.mobile-nav-link{ display:block; padding:14px 6px; font-size:1.05rem; border-bottom:1px solid rgba(245,239,228,.08); color:var(--text-light); }

@media (max-width:960px){
  .main-nav{ display:none; }
  .menu-toggle{ display:flex; }
}

/* ===== Hero ===== */
.hero{
  position:relative; min-height:92vh; display:flex; align-items:center;
  overflow:hidden; background:var(--bg-dark);
}
.hero-bg{ position:absolute; inset:0; z-index:0; }
.hero-bg svg{ width:100%; height:100%; }
.hero-inner{ position:relative; z-index:2; max-width:760px; padding-top:60px; padding-bottom:60px; }
.hero-eyebrow{
  display:inline-block; color:var(--accent-gold); letter-spacing:1px; font-size:.95rem;
  margin-bottom:22px; font-weight:500; border-right:3px solid var(--accent-gold); padding-right:12px;
}
.hero-title{
  font-size:clamp(2.4rem,6vw,4.4rem); font-weight:900; line-height:1.25; margin-bottom:28px;
}
.hero-title span{ color:var(--accent-gold); }
.hero-sub{ color:var(--text-muted); font-size:1.12rem; max-width:600px; margin-bottom:38px; }
.hero-actions{ display:flex; gap:18px; flex-wrap:wrap; margin-bottom:70px; }
.hero-scroll{ display:flex; flex-direction:column; align-items:center; gap:8px; width:fit-content; color:var(--text-muted); font-size:.8rem; }
.hero-scroll span{
  width:26px; height:42px; border:2px solid rgba(245,239,228,.4); border-radius:20px; position:relative;
}
.hero-scroll span::after{
  content:""; position:absolute; top:8px; right:50%; transform:translateX(50%);
  width:4px; height:8px; border-radius:3px; background:var(--accent-gold);
  animation:scrollDown 1.6s infinite;
}
@keyframes scrollDown{
  0%{ top:8px; opacity:1; } 80%{ top:22px; opacity:0; } 100%{ top:22px; opacity:0; }
}
@media (max-width:600px){
  .hero{ min-height:82vh; }
  .hero-actions{ flex-direction:column; align-items:stretch; }
  .hero-actions .btn{ justify-content:center; }
}

/* ===== Works / Showcase ===== */
.works-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.work-card{
  position:relative; border:none; border-radius:var(--radius); overflow:hidden;
  aspect-ratio:4/3; padding:22px; display:flex; flex-direction:column; justify-content:flex-end;
  text-align:right; grid-column:span 1; min-height:220px; box-shadow:var(--shadow);
  transition:transform .4s ease;
}
.work-card.span-2{ grid-column:span 2; }
.work-card::after{
  content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(0,0,0,.75) 10%, rgba(0,0,0,.05) 65%);
  z-index:1;
}
.work-card:hover{ transform:translateY(-6px); }
.work-cat, .work-title{ position:relative; z-index:2; }
.work-cat{ font-size:.78rem; color:var(--accent-gold); margin-bottom:8px; }
.work-title{ font-size:1.15rem; font-weight:700; color:var(--white); }

.work-tile-1{ background:radial-gradient(circle at 30% 20%, #6b4726, transparent 60%), linear-gradient(135deg,#3a2414,#171310); }
.work-tile-2{ background:radial-gradient(circle at 70% 30%, #4c6b6a, transparent 60%), linear-gradient(160deg,#22383a,#101a1b); }
.work-tile-3{ background:radial-gradient(circle at 40% 60%, #8a5a34, transparent 60%), linear-gradient(150deg,#3f2a1a,#161009); }
.work-tile-4{ background:radial-gradient(circle at 60% 25%, #556274, transparent 60%), linear-gradient(140deg,#232c36,#0f1216); }
.work-tile-5{ background:radial-gradient(circle at 35% 70%, #7a4e2c, transparent 60%), linear-gradient(160deg,#33210f,#130d07); }
.work-tile-6{ background:radial-gradient(circle at 65% 35%, #9c5a3c, transparent 55%), radial-gradient(circle at 20% 80%, #caa054, transparent 45%), linear-gradient(150deg,#3a2114,#140d08); }

@media (max-width:860px){
  .works-grid{ grid-template-columns:repeat(2,1fr); }
  .work-card.span-2{ grid-column:span 2; }
}
@media (max-width:520px){
  .works-grid{ grid-template-columns:1fr; }
  .work-card.span-2{ grid-column:span 1; }
}

/* ===== Categories ===== */
.categories{ background:var(--bg-dark-2); }
.cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.cat-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:10px;
  padding:32px 26px; border-radius:var(--radius); color:var(--white);
  box-shadow:var(--shadow); transition:transform .3s ease, box-shadow .3s ease; position:relative; overflow:hidden;
}
.cat-card:hover{ transform:translateY(-6px); }
.cat-icon{ width:44px; height:44px; color:var(--white); background:rgba(255,255,255,.14); border-radius:12px; display:flex; align-items:center; justify-content:center; }
.cat-icon svg{ width:24px; height:24px; }
.cat-name{ font-size:1.15rem; font-weight:700; }
.cat-count{ font-size:.85rem; opacity:.8; }
.cat-c1{ background:linear-gradient(135deg,#7a4a24,#2a1c11); }
.cat-c2{ background:linear-gradient(135deg,#2f5f5c,#132321); }
.cat-c3{ background:linear-gradient(135deg,#8a5a34,#241811); }
.cat-c4{ background:linear-gradient(135deg,#3d4c5e,#161c22); }
.cat-c5{ background:linear-gradient(135deg,#6b4526,#1e140b); }
.cat-c6{ background:linear-gradient(135deg,#9c5a3c,#caa054 130%); }

@media (max-width:860px){ .cat-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .cat-grid{ grid-template-columns:1fr; } }

/* ===== Archive Gallery ===== */
.gallery-toolbar{
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-bottom:40px;
}
.search-box{
  display:flex; align-items:center; gap:10px; background:var(--bg-dark-2); border:1px solid rgba(245,239,228,.12);
  border-radius:40px; padding:12px 20px; min-width:260px; color:var(--text-muted);
}
.search-box svg{ width:19px; height:19px; flex-shrink:0; }
.search-box input{
  background:transparent; border:none; outline:none; color:var(--text-light); font-family:var(--ff); width:100%; font-size:.95rem;
}
.filter-tabs{ display:flex; flex-wrap:wrap; gap:10px; }
.filter-tab{
  background:transparent; border:1px solid rgba(245,239,228,.18); color:var(--text-muted);
  padding:9px 18px; border-radius:30px; font-size:.85rem; transition:all .2s ease;
}
.filter-tab:hover{ color:var(--text-light); }
.filter-tab.active{ background:var(--accent-gold); border-color:var(--accent-gold); color:#1a1410; font-weight:700; }

.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.gallery-item{
  border:none; border-radius:var(--radius-sm); aspect-ratio:1/1; box-shadow:var(--shadow);
  transition:transform .3s ease, opacity .3s ease; position:relative; overflow:hidden;
}
.gallery-item::after{
  content:""; position:absolute; inset:0; background:rgba(0,0,0,0); transition:background .25s ease;
}
.gallery-item:hover{ transform:translateY(-4px); }
.gallery-item:hover::after{ background:rgba(0,0,0,.12); }
.gallery-item.is-hidden{ display:none; }
.gallery-empty{ text-align:center; color:var(--text-muted); margin-top:30px; }

.tile-1{ background:linear-gradient(135deg,#7a4a24,#2a1c11); }
.tile-2{ background:linear-gradient(135deg,#2f5f5c,#132321); }
.tile-3{ background:linear-gradient(135deg,#8a5a34,#241811); }
.tile-4{ background:linear-gradient(135deg,#3d4c5e,#161c22); }
.tile-5{ background:linear-gradient(135deg,#6b4526,#1e140b); }
.tile-6{ background:linear-gradient(135deg,#9c5a3c,#caa054 140%); }
.tile-7{ background:linear-gradient(150deg,#5c3d22,#1a120a); }
.tile-8{ background:linear-gradient(150deg,#245a56,#0f201e); }
.tile-9{ background:linear-gradient(150deg,#7d5230,#211710); }
.tile-10{ background:linear-gradient(150deg,#465264,#171c22); }
.tile-11{ background:linear-gradient(150deg,#5e3c1f,#1c130a); }
.tile-12{ background:linear-gradient(150deg,#8a5230,#caa054 150%); }

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

/* ===== Lightbox ===== */
.lightbox{
  position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .3s ease;
}
.lightbox.open{ opacity:1; visibility:visible; }
.lightbox-backdrop{ position:absolute; inset:0; background:rgba(10,8,6,.88); }
.lightbox-panel{
  position:relative; z-index:2; width:min(880px,92vw); max-height:88vh; overflow:auto;
  background:var(--bg-dark-2); border-radius:var(--radius); box-shadow:var(--shadow);
  display:flex; flex-direction:column;
}
.lightbox-image{
  width:100%; aspect-ratio:16/9; background:linear-gradient(135deg,#7a4a24,#2a1c11);
}
.lightbox-meta{ padding:30px 34px; }
.lightbox-cat{ color:var(--accent-gold); font-size:.85rem; }
.lightbox-meta h3{ font-size:1.4rem; margin:12px 0; }
.lightbox-meta p{ color:var(--text-muted); }
.lightbox-date{ display:inline-block; margin-top:14px; font-size:.85rem; color:var(--text-muted); }
.lightbox-close, .lightbox-nav{
  position:absolute; z-index:3; background:rgba(0,0,0,.45); border:none; color:#fff;
  width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center;
}
.lightbox-close svg, .lightbox-nav svg{ width:20px; height:20px; }
.lightbox-close{ top:14px; left:14px; }
.lightbox-prev{ top:50%; right:14px; transform:translateY(-50%); }
.lightbox-next{ top:50%; left:14px; transform:translateY(-50%); }

/* ===== Timeline / Archive by date ===== */
.timeline-section{ background:var(--bg-dark-2); }
.timeline-toolbar{ display:flex; justify-content:flex-end; margin-bottom:34px; }
.btn-sm{ padding:10px 20px; font-size:.85rem; }
.btn-sm svg{ width:16px; height:16px; }
.timeline-list{ border-right:2px solid rgba(202,160,84,.35); padding-right:30px; }
.timeline-item{ position:relative; padding:0 0 34px; }
.timeline-item::before{
  content:""; position:absolute; right:-36px; top:4px; width:11px; height:11px; border-radius:50%;
  background:var(--accent-gold); box-shadow:0 0 0 4px rgba(202,160,84,.2);
}
.t-year{ display:inline-block; color:var(--accent-gold); font-weight:700; margin-bottom:6px; }
.t-body h4{ font-size:1.05rem; margin-bottom:6px; }
.t-body p{ color:var(--text-muted); font-size:.92rem; }
.timeline-item.is-hidden{ display:none; }

.pagination{ display:flex; justify-content:center; gap:10px; margin-top:20px; }
.page-btn{
  width:38px; height:38px; border-radius:50%; border:1px solid rgba(245,239,228,.18);
  background:transparent; color:var(--text-muted); font-size:.9rem;
}
.page-btn.active{ background:var(--accent-gold); border-color:var(--accent-gold); color:#1a1410; font-weight:700; }

/* ===== About ===== */
.about-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:center; }
.about-visual{ position:relative; }
.about-visual svg{ width:100%; height:auto; filter:drop-shadow(0 20px 40px rgba(0,0,0,.45)); }
.about-badge{
  position:absolute; bottom:24px; left:-16px; background:var(--accent-gold); color:#1a1410;
  padding:12px 22px; border-radius:12px; font-weight:700; font-size:.9rem; box-shadow:var(--shadow);
}
.about-content .section-tag{ margin-bottom:16px; }
.about-content .section-title{ text-align:right; }
.about-text{ color:var(--text-muted); margin-bottom:18px; }
.about-points{ margin:26px 0 32px; display:flex; flex-direction:column; gap:12px; }
.about-points li{
  position:relative; padding-right:26px; color:var(--text-light); font-size:.95rem;
}
.about-points li::before{
  content:""; position:absolute; right:0; top:8px; width:9px; height:9px; border-radius:50%; background:var(--accent-gold);
}

@media (max-width:860px){
  .about-grid{ grid-template-columns:1fr; }
  .about-content .section-title, .about-content .section-tag{ text-align:center; display:block; }
  .about-content{ text-align-last:center; }
}

/* ===== Services (corporate) ===== */
.services{ background:linear-gradient(180deg,var(--bg-corp),var(--bg-corp-2)); }
.section-tag-teal{ color:var(--accent-teal); border-color:rgba(63,143,131,.45); }
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.service-card{
  background:rgba(245,239,228,.04); border:1px solid rgba(245,239,228,.08); border-radius:var(--radius);
  padding:34px 28px; transition:transform .3s ease, background .3s ease;
}
.service-card:hover{ transform:translateY(-6px); background:rgba(245,239,228,.07); }
.service-icon{
  width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg,var(--accent-teal),#1d4a44); color:#fff; margin-bottom:20px;
}
.service-icon svg{ width:26px; height:26px; }
.service-card h3{ font-size:1.1rem; margin-bottom:10px; }
.service-card p{ color:var(--text-muted); font-size:.92rem; }

@media (max-width:860px){ .services-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .services-grid{ grid-template-columns:1fr; } }

/* ===== Stats ===== */
.stats{ background:var(--bg-corp-2); padding:80px 0; }
.stats-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:26px; text-align:center; }
.stat-card{ display:flex; flex-direction:column; gap:8px; }
.stat-num{ font-size:2.6rem; font-weight:900; color:var(--accent-gold); }
.stat-label{ color:var(--text-muted); font-size:.9rem; }
@media (max-width:700px){ .stats-grid{ grid-template-columns:repeat(2,1fr); } }

/* ===== Testimonials ===== */
.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.testi-card{
  background:var(--bg-dark-2); border:1px solid rgba(245,239,228,.08); border-radius:var(--radius);
  padding:32px 28px; display:flex; flex-direction:column; gap:20px;
}
.testi-quote{ width:34px; height:34px; color:var(--accent-gold); }
.testi-card p{ color:var(--text-muted); font-size:.95rem; flex-grow:1; }
.testi-author{ display:flex; align-items:center; gap:14px; }
.testi-avatar{
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,var(--accent-gold),var(--accent-terracotta));
}
.testi-author strong{ display:block; font-size:.92rem; }
.testi-author small{ color:var(--text-muted); font-size:.8rem; }

@media (max-width:860px){ .testi-grid{ grid-template-columns:1fr; } }

/* ===== Contact ===== */
.contact-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:50px; align-items:start; }
.contact-form{
  background:var(--bg-dark-2); border:1px solid rgba(245,239,228,.08); border-radius:var(--radius);
  padding:36px; display:flex; flex-direction:column; gap:20px;
}
.form-row{ display:flex; flex-direction:column; gap:8px; }
.form-row label{ font-size:.88rem; color:var(--text-muted); }
.form-row input, .form-row textarea{
  background:var(--bg-dark); border:1px solid rgba(245,239,228,.14); border-radius:var(--radius-sm);
  padding:13px 16px; color:var(--text-light); font-family:var(--ff); font-size:.95rem; outline:none;
  transition:border-color .2s ease;
}
.form-row input:focus, .form-row textarea:focus{ border-color:var(--accent-gold); }
.form-row textarea{ resize:vertical; min-height:120px; }
.form-error{ display:none; color:#e08a6a; font-size:.8rem; }
.form-row.invalid input, .form-row.invalid textarea{ border-color:#e08a6a; }
.form-row.invalid .form-error{ display:block; }
.form-success{ color:var(--accent-teal); font-size:.9rem; text-align:center; }
.contact-form .btn{ align-self:flex-start; }

.contact-info{ display:flex; flex-direction:column; gap:22px; }
.info-item{ display:flex; align-items:flex-start; gap:16px; }
.info-icon{
  width:42px; height:42px; flex-shrink:0; border-radius:12px; background:rgba(202,160,84,.14);
  color:var(--accent-gold); display:flex; align-items:center; justify-content:center;
}
.info-icon svg{ width:20px; height:20px; }
.info-item strong{ display:block; margin-bottom:4px; font-size:.95rem; }
.info-item p{ color:var(--text-muted); font-size:.88rem; }
.map-embed{ border-radius:var(--radius); overflow:hidden; height:220px; box-shadow:var(--shadow); margin-top:6px; }
.map-embed iframe{ width:100%; height:100%; border:0; filter:grayscale(.3) invert(.92) contrast(.9); }

@media (max-width:860px){ .contact-grid{ grid-template-columns:1fr; } }
