@import url("Peyda_Regular__fontbazi_/stylesheet.css");
@import url("Peyda_SemiBold__fontbazi_/stylesheet.css");
:root{
  --bg:#07060a;
  --bg-deep:#020103;
  --panel:rgba(20,17,12,0.55);
  --panel-solid:#0f0d09;
  --gold-1:#7a5c1e;
  --gold-2:#c9992f;
  --gold-3:#e9c565;
  --gold-4:#fbe8ab;
  --ink:#efe4c9;
  --ink-dim:#a99872;
  --line:rgba(233,197,101,0.28);
  --radius:18px;
  --serif-display: 'Lalezar', 'Vazirmatn', sans-serif;
  --body-font: 'Vazirmatn', sans-serif;
}
*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: "Peyda SemiBold[@fontbazi]";
}
html{scroll-behavior:smooth;}
body{
    background: var(--bg);
    color: var(--ink);
    overflow-x: hidden;
    position: relative;
    min-height: 100vh;
    font-family: "Peyda Regular[@fontbazi]";
    font-style: normal;
}
::selection{
    background: var(--gold-2);
    color: #0a0805;
    font-family: "Peyda Regular[@fontbazi]";
}

/* ---------- BACKGROUND TEXTURE ---------- */
body::before{
  content:"";
  position:fixed; inset:0;
  background:
    radial-gradient(1200px 700px at 85% -10%, rgba(201,153,47,0.16), transparent 60%),
    radial-gradient(900px 600px at -10% 110%, rgba(201,153,47,0.10), transparent 60%),
    linear-gradient(180deg, var(--bg-deep), #0b0906 40%, var(--bg-deep));
  z-index:-3;
}
body::after{
  content:"";
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%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)' opacity='0.035'/%3E%3C/svg%3E");
  z-index:-2; pointer-events:none;
}
#particles{ position:fixed; inset:0; z-index:-1; pointer-events:none; }

/* ---------- LOADER ---------- */
#loader{
  position:fixed; inset:0; z-index:9999;
  background: var(--bg-deep);
  display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px;
  transition: opacity .35s ease, visibility .35s ease;
}
#loader.hide{ opacity:0; visibility:hidden; }
.loader-crest{
  width:74px; height:74px; border-radius:50%;
  border:2px solid var(--gold-2);
  display:flex; align-items:center; justify-content:center;
  font-family:Peyda Regular[@fontbazi]; font-size:34px; color:var(--gold-3);
  box-shadow:0 0 30px rgba(201,153,47,0.35);
  animation: spinPulse 1.8s ease-in-out infinite;
}
@keyframes spinPulse{
  0%,100%{ transform:scale(1); box-shadow:0 0 20px rgba(201,153,47,.25);}
  50%{ transform:scale(1.08); box-shadow:0 0 40px rgba(201,153,47,.55);}
}
.loader-text{ letter-spacing:.4em; font-size:11px; color:var(--ink-dim); text-transform:uppercase; }
.loader-bar{ width:180px; height:2px; background:rgba(255,255,255,0.08); overflow:hidden; border-radius:2px; }
.loader-bar span{ display:block; height:100%; width:0%; background:linear-gradient(90deg,var(--gold-1),var(--gold-3)); animation: loadFill .4s ease forwards; }
@keyframes loadFill{ to{ width:100%; } }

/* ---------- SHARED ---------- */
.wrap{ max-width:1180px; margin:0 auto; padding:0 24px; }
.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:12px; letter-spacing:.15em; color:var(--gold-3);
  font-weight:600;
}
.eyebrow::before, .eyebrow::after{ content:""; width:24px; height:1px; background:var(--gold-2); opacity:.6; }
h2.section-title{
  font-family:Peyda Regular[@fontbazi];
  font-size:clamp(28px,4vw,42px);
  color:var(--gold-3);
  margin:10px 0 6px;
  text-shadow:0 0 18px rgba(233,197,101,0.15);
}
.section-sub{ color:var(--ink-dim); font-size:14px; margin-bottom:36px; max-width:520px; }
.gold-line{ width:64px; height:2px; margin:14px auto; background:linear-gradient(90deg,transparent,var(--gold-3),transparent); }

/* ---------- QUICK NAV ---------- */
#quicknav{
  position:sticky; top:0; z-index:500;
  backdrop-filter:blur(16px);
  background:rgba(7,6,10,0.72);
  border-bottom:1px solid var(--line);
}
#quicknav .navrow{
  display:flex; align-items:center; justify-content:space-between;
  padding:12px 24px; max-width:1180px; margin:0 auto; gap:10px;
}
.nav-brand{ display:flex; align-items:center; gap:10px; font-family:Peyda Regular[@fontbazi]; color:var(--gold-3); font-size:18px; white-space:nowrap; }
.nav-brand .mini-crest{
  width:30px; height:30px; border-radius:50%; border:1px solid var(--gold-2);
  display:flex; align-items:center; justify-content:center; font-size:14px; color:var(--gold-4);
}
.nav-pills{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; }
.nav-pills::-webkit-scrollbar{ display:none; }
.nav-pills button{
  background:transparent; border:1px solid transparent; color:var(--ink-dim);
  font-family:Peyda Regular[@fontbazi]; font-size:12.5px; padding:8px 14px; border-radius:999px;
  cursor:pointer; white-space:nowrap; transition:.25s;
}
.nav-pills button:hover, .nav-pills button.active{
  color:var(--gold-4); border-color:var(--gold-2); background:rgba(201,153,47,0.08);
}
#printBtn{
  border:1px solid var(--gold-2); color:var(--gold-3); background:rgba(201,153,47,0.06);
  padding:8px 16px; border-radius:999px; font-size:12.5px; cursor:pointer; display:flex; gap:6px; align-items:center;
  transition:.25s; flex-shrink:0;
}
#printBtn:hover{ background:var(--gold-2); color:#171105; box-shadow:0 0 22px rgba(201,153,47,.4); }

/* ---------- HERO ---------- */
.hero{ position:relative; padding:76px 0 40px; overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:340px 1fr; gap:50px; align-items:start; }
@media(max-width:900px){ .hero-grid{ grid-template-columns:1fr; } }

.crest-card{
  position:relative; border-radius:24px; padding:38px 26px;
  background:linear-gradient(160deg, rgba(20,17,10,0.85), rgba(10,8,5,0.9));
  border:1px solid var(--line);
  box-shadow:0 30px 60px -20px rgba(0,0,0,0.7), inset 0 1px 0 rgba(255,255,255,0.03);
  text-align:center;
}
.crest-card::before{
  content:""; position:absolute; inset:8px; border:1px solid rgba(233,197,101,0.18); border-radius:18px; pointer-events:none;
}
.crest{ width:110px; height:110px; margin:0 auto 18px; position:relative; }
.crest svg{ width:100%; height:100%; filter:drop-shadow(0 0 16px rgba(233,197,101,0.35)); }
.crest-name-fa{ font-size:12px; letter-spacing:.3em; color:var(--ink-dim); margin-bottom:2px; }
.crest-role{ font-family:Peyda Regular[@fontbazi]; font-size:22px; color:var(--gold-3); margin-bottom:6px; }
.crest-full-name{ font-family:Peyda Regular[@fontbazi]; font-size:38px; line-height:1.25; color:var(--gold-4);
  background:linear-gradient(180deg,#fdf1c9,var(--gold-2));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  text-shadow:0 6px 30px rgba(233,197,101,0.25); margin:6px 0 18px;
}
.crest-quote{ font-size:13px; color:var(--ink-dim); font-style:normal; padding-top:16px; border-top:1px solid var(--line); margin-top:6px; }

.side-block{ text-align:right; margin-top:26px; }
.side-block h4{
  display:flex; align-items:center; gap:8px; justify-content:flex-start;
  color:var(--gold-3); font-size:13px; letter-spacing:.08em; margin-bottom:10px;
}
.side-block h4 .dot{ width:6px; height:6px; border-radius:50%; background:var(--gold-2); box-shadow:0 0 8px var(--gold-2); }
.side-block ul{ list-style:none; display:flex; flex-direction:column; gap:8px; }
.side-block li{ font-size:12.8px; color:var(--ink); line-height:1.7; padding-right:14px; position:relative; }
.side-block li::before{ content:"◆"; position:absolute; right:0; top:2px; font-size:8px; color:var(--gold-2); }

/* hero right */
.hero-intro{ padding-top:8px; }
.hero-title{ font-family:Peyda Regular[@fontbazi]; font-size:clamp(30px,4.4vw,50px); color:var(--gold-4); line-height:1.3; margin:12px 0 14px;}
.hero-desc{ color:var(--ink-dim); font-size:15px; line-height:2; max-width:560px; margin-bottom:30px; }
.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
@media(max-width:640px){ .stat-row{ grid-template-columns:repeat(2,1fr);} }
.stat-card{
  background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:18px 14px; text-align:center;
  backdrop-filter:blur(10px);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s;
}
.stat-card:hover{ transform:translateY(-6px); border-color:var(--gold-2); box-shadow:0 18px 34px -14px rgba(201,153,47,0.35); }
.stat-num{ font-family:Peyda Regular[@fontbazi]; font-size:32px; color:var(--gold-3); }
.stat-label{ font-size:11.5px; color:var(--ink-dim); margin-top:4px; }

/* ---------- SECTION SHELL ---------- */
.section{ padding:80px 0; position:relative; }
.section-head{ text-align:center; margin-bottom:10px; }

/* ---------- TIMELINE ---------- */
.timeline{ position:relative; margin-top:20px; }
.timeline::before{
  content:""; position:absolute; top:0; bottom:0; right:29px;
  width:2px; background:linear-gradient(180deg, transparent, var(--gold-2), transparent);
}
@media(max-width:720px){ .timeline::before{ right:19px; } }
.t-item{
  position:relative; padding-right:70px; margin-bottom:22px; cursor:pointer;
  opacity:0; transform:translateY(24px);
}
@media(max-width:720px){ .t-item{ padding-right:52px; } }
.t-node{
  position:absolute; right:6px; top:6px; width:48px; height:48px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, #1b1710, #0c0a06);
  border:1px solid var(--gold-2); display:flex; align-items:center; justify-content:center;
  box-shadow:0 0 0 4px rgba(7,6,10,1), 0 0 18px rgba(201,153,47,0.25);
  z-index:2;
}
@media(max-width:720px){ .t-node{ width:36px; height:36px; right:2px;} }
.t-node svg{ width:22px; height:22px; stroke:var(--gold-3); }
@media(max-width:720px){ .t-node svg{ width:16px; height:16px;} }
.t-card{
  background:var(--panel); border:1px solid var(--line); border-radius:16px; padding:18px 20px;
  backdrop-filter:blur(10px); transition:.3s ease;
  display:flex; justify-content:space-between; align-items:center; gap:14px;
}
.t-card:hover{ border-color:var(--gold-2); box-shadow:0 16px 30px -16px rgba(201,153,47,.3); }
.t-title{ font-size:15.5px; color:var(--ink); font-weight:600; line-height:1.7; }
.t-badge{ font-size:11px; color:var(--gold-3); border:1px solid var(--gold-2); border-radius:999px; padding:3px 10px; white-space:nowrap; opacity:.85;}
.t-detail{
  max-height:0; overflow:hidden; transition:max-height .5s ease, padding .4s ease, opacity .4s ease;
  opacity:0; font-size:13px; color:var(--ink-dim); line-height:1.9; padding:0 20px;
}
.t-item.open .t-detail{ max-height:200px; padding:12px 20px 4px; opacity:1; }
.t-item.open .t-card{ border-color:var(--gold-3); }
.t-caret{ color:var(--gold-2); transition:transform .35s ease; flex-shrink:0; }
.t-item.open .t-caret{ transform:rotate(180deg); }

/* ---------- GRID CARDS (education / honors) ---------- */
.card-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:30px; }
@media(max-width:860px){ .card-grid{ grid-template-columns:1fr; } }
.flip-card{ perspective:1200px; height:220px; opacity:0; transform:translateY(24px);}
.flip-inner{ position:relative; width:100%; height:100%; transition:transform .7s cubic-bezier(.2,.8,.2,1); transform-style:preserve-3d; }
.flip-card.flipped .flip-inner{ transform:rotateY(180deg); }
.flip-face{
  position:absolute; inset:0; backface-visibility:hidden; border-radius:18px; padding:26px;
  border:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center;
  background:var(--panel); backdrop-filter:blur(10px);
}
.flip-front .icon-ring{
  width:56px; height:56px; border-radius:50%; border:1px solid var(--gold-2); display:flex; align-items:center; justify-content:center; margin-bottom:14px;
  background:radial-gradient(circle at 30% 30%,#1c1710,#0c0a06);
}
.flip-front .icon-ring svg{ width:26px; height:26px; stroke:var(--gold-3); }
.flip-front h3{ font-family:Peyda Regular[@fontbazi]; font-size:19px; color:var(--gold-3); margin-bottom:6px; }
.flip-front p{ font-size:12px; color:var(--ink-dim); }
.flip-back{ transform:rotateY(180deg); background:linear-gradient(160deg,#191309,#0c0a06); }
.flip-back p{ font-size:13px; line-height:2; color:var(--ink); }
.tap-hint{ position:absolute; bottom:10px; font-size:10px; color:var(--ink-dim); opacity:.6; }

/* ---------- CERT RING ---------- */
.cert-wrap{ display:flex; justify-content:center; margin-top:24px; }
.cert-ring{ position:relative; width:220px; height:220px; }
.cert-ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.cert-ring circle{ fill:none; stroke-width:8; }
.cert-bg{ stroke:rgba(255,255,255,0.06); }
.cert-fg{ stroke:url(#certGrad); stroke-linecap:round; stroke-dasharray:565; stroke-dashoffset:565; transition:stroke-dashoffset 1.6s cubic-bezier(.2,.8,.2,1); }
.cert-center{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.cert-center .num{ font-family:Peyda Regular[@fontbazi]; font-size:48px; color:var(--gold-3); }
.cert-center .lbl{ font-size:12px; color:var(--ink-dim); margin-top:4px; }
.cert-note{ text-align:center; color:var(--ink-dim); font-size:13.5px; max-width:460px; margin:20px auto 0; line-height:2; }

/* ---------- HONORS ---------- */
.honor-list{ display:flex; flex-direction:column; gap:14px; margin-top:30px; }
.honor-item{
  display:flex; align-items:center; gap:16px; background:var(--panel); border:1px solid var(--line); border-radius:14px;
  padding:16px 20px; opacity:0; transform:translateX(30px); transition:.3s;
}
[dir="rtl"] .honor-item{ transform:translateX(-30px); }
.honor-item:hover{ border-color:var(--gold-2); box-shadow:0 14px 26px -14px rgba(201,153,47,.3); transform:translateY(-3px); }
.honor-num{ font-family:Peyda Regular[@fontbazi]; font-size:22px; color:var(--gold-2); opacity:.6; width:36px; flex-shrink:0; text-align:center; }
.honor-text{ font-size:14.5px; color:var(--ink); line-height:1.8; }

/* ---------- FOOTER ---------- */
footer{ padding:70px 0 50px; text-align:center; border-top:1px solid var(--line); margin-top:40px;}
.footer-quote{ font-family:Peyda Regular[@fontbazi]; font-size:clamp(20px,3vw,28px); color:var(--gold-3); max-width:640px; margin:0 auto 20px; line-height:1.8;}
.footer-sub{ color:var(--ink-dim); font-size:12.5px; letter-spacing:.06em;}

/* scrollbar */
::-webkit-scrollbar{ width:8px; }
::-webkit-scrollbar-track{ background:var(--bg-deep); }
::-webkit-scrollbar-thumb{ background:var(--gold-1); border-radius:8px; }

/* reveal helper */
.reveal{ opacity:0; transform:translateY(24px); }

/* ---------- PRINT ---------- */
@media print{
  @page{ size:A4; margin:12mm; }
  #quicknav, #particles, #loader, #printBtn, .tap-hint{ display:none !important; }
  body{ background:#fff !important; color:#111 !important; }
  body::before, body::after{ display:none !important; }
  .hero-title, .crest-full-name, h2.section-title, .footer-quote, .stat-num, .cert-center .num{
    -webkit-text-fill-color:#5a4110 !important; color:#5a4110 !important; text-shadow:none !important;
  }
  .crest-card, .t-card, .flip-face, .stat-card, .honor-item{
    background:#faf6ea !important; border:1px solid #c9992f !important; box-shadow:none !important; backdrop-filter:none !important;
  }
  .t-detail{ max-height:none !important; opacity:1 !important; padding:8px 20px !important; }
  .flip-card{ height:auto; }
  .flip-inner{ transform:none !important; position:relative; }
  .flip-back{ position:relative; transform:none !important; margin-top:8px; }
  .section{ padding:26px 0; page-break-inside:avoid; }
  .timeline::before{ background:#c9992f; }
}
