@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@300;400;500;700;900&display=swap');

:root{
  --void:#0b0a13;
  --panel:#16131f;
  --panel-2:#1c1828;
  --gold:#c9a24b;
  --gold-bright:#e9cd85;
  --jade:#2f8f6d;
  --jade-dim:#1c5843;
  --cinnabar:#a8323a;
  --ivory:#ece6d8;
  --ivory-dim:#a99f8c;
  --line: rgba(201,162,75,.25);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:
    radial-gradient(ellipse at 20% -10%, rgba(47,143,109,.14), transparent 45%),
    radial-gradient(ellipse at 90% 10%, rgba(201,162,75,.10), transparent 40%),
    var(--void);
  color:var(--ivory);
  font-family:'Vazirmatn', Tahoma, 'Segoe UI', Arial, sans-serif;
  min-height:100vh;
  line-height:1.9;
}
.hidden{display:none !important;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}

/* ---------- shared bits ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:.5em;
  font-size:.8rem;letter-spacing:.08em;color:var(--gold-bright);
  border:1px solid var(--line);border-radius:999px;
  padding:.35em 1em;background:rgba(201,162,75,.06);
}
.eyebrow::before{content:'◆';font-size:.7em;color:var(--jade);}
.section{max-width:880px;margin:0 auto;padding:64px 24px;}
.section-title{font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;color:var(--ivory);margin:.4em 0 .3em;}
.section-sub{color:var(--ivory-dim);font-size:1rem;max-width:640px;}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--line),transparent);margin:0 auto;max-width:880px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  border:none;border-radius:12px;padding:.95em 1.8em;
  font-weight:700;font-size:1rem;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold) 60%,#a9812f);
  color:#1a1406;
  box-shadow:0 8px 24px -8px rgba(201,162,75,.55);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px -8px rgba(201,162,75,.7);}
.btn:disabled{opacity:.6;cursor:progress;transform:none;}
.btn-jade{background:linear-gradient(135deg,#48c399,var(--jade) 65%,#155c44);color:#06140f;box-shadow:0 8px 24px -8px rgba(47,143,109,.55);}

.field{display:flex;flex-direction:column;gap:.4em;text-align:right;}
.field label{font-size:.85rem;color:var(--ivory-dim);}
.field input{
  background:var(--panel-2);border:1px solid var(--line);border-radius:10px;
  padding:.85em 1em;color:var(--ivory);font-family:inherit;font-size:1rem;
  outline:none;transition:border-color .15s ease;width:100%;
}
.field input:focus{border-color:var(--gold);}
.form-msg{font-size:.85rem;min-height:1.4em;}
.form-msg.ok{color:var(--jade);}
.form-msg.err{color:var(--cinnabar);}

/* ---------- numeral ring (signature element) ---------- */
.ring-wrap{position:relative;width:min(78vw,300px);height:min(78vw,300px);margin:0 auto;}
.ring-track{
  position:absolute;inset:0;border-radius:50%;
  border:1px dashed var(--line);
  background:conic-gradient(from 0deg, rgba(201,162,75,.14), transparent 30%, rgba(47,143,109,.14) 55%, transparent 80%);
  animation:spin 50s linear infinite;
}
.ring-track::after{
  content:'';position:absolute;inset:14%;border-radius:50%;border:1px solid var(--line);
}
.ring-glow{
  position:absolute;inset:32%;border-radius:50%;
  background:radial-gradient(circle, rgba(233,205,133,.35), rgba(47,143,109,.15) 55%, transparent 75%);
  filter:blur(6px);
}
.ring-numbers{position:absolute;inset:0;}
.ring-numbers span{
  position:absolute;top:50%;left:50%;width:2.3em;height:2.3em;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;color:var(--gold-bright);
  background:var(--panel);border:1px solid var(--line);border-radius:50%;
  transform:translate(-50%,-50%) rotate(calc(40deg * var(--i))) translateY(-118px) rotate(calc(-40deg * var(--i)));
  font-size:.95rem;
}
@keyframes spin{to{transform:rotate(360deg);}}
@media (prefers-reduced-motion:reduce){.ring-track{animation:none;}}

/* ---------- gate ---------- */
#gate{
  min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:32px 20px;
}
.gate-card{
  width:100%;max-width:460px;background:var(--panel);
  border:1px solid var(--line);border-radius:20px;
  padding:36px 28px 30px;text-align:center;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
}
.gate-card h1{font-size:1.5rem;margin:.6em 0 .2em;color:var(--ivory);}
.gate-card p{color:var(--ivory-dim);font-size:.92rem;margin-bottom:1.6em;}
.gate-form{display:flex;flex-direction:column;gap:14px;}
.gate-note{font-size:.78rem;color:var(--ivory-dim);margin-top:1em;opacity:.8;}

/* ---------- course header ---------- */
.top-bar{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;background:rgba(11,10,19,.85);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.top-bar .brand{font-weight:700;color:var(--gold-bright);font-size:1rem;display:flex;align-items:center;gap:.5em;}
.top-bar .brand::before{content:'◆';color:var(--jade);}

/* ---------- hero / video ---------- */
.hero{text-align:center;padding-top:56px;}
.hero .ring-wrap{margin:22px auto 6px;}
.hero h1{font-size:clamp(1.6rem,3.6vw,2.4rem);margin:.3em 0;color:var(--ivory);}

.video-frame{
  max-width:880px;margin:28px auto 0;padding:10px;
  background:linear-gradient(135deg,var(--panel-2),var(--panel));
  border:1px solid var(--line);border-radius:18px;
  box-shadow:0 25px 50px -20px rgba(0,0,0,.65);
  position:relative;
}
.video-frame::before,.video-frame::after{
  content:'';position:absolute;width:26px;height:26px;
  border:1px solid var(--gold);opacity:.6;
}
.video-frame::before{top:6px;right:6px;border-left:none;border-bottom:none;}
.video-frame::after{bottom:6px;left:6px;border-right:none;border-top:none;}
.video-frame .video-inner{
  position:relative;width:100%;padding-top:56.25%;border-radius:12px;overflow:hidden;background:#000;
}
.video-frame iframe,.video-frame video{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-frame video{object-fit:contain;background:#000;}

.cta-row{display:flex;justify-content:center;margin:26px 0 8px;}

/* ---------- about ---------- */
.about p{color:var(--ivory-dim);margin:0 0 1em;}
.about h3{color:var(--gold-bright);font-size:1.05rem;margin:1.5em 0 .5em;}
.about h3:first-of-type{margin-top:.6em;}
.about-list{margin:0 0 1.2em;padding-right:1.3em;color:var(--ivory-dim);display:flex;flex-direction:column;gap:.5em;}
.about-list li{list-style:disc;}
.about-list li strong{color:var(--ivory);}

/* ---------- curriculum ---------- */
.curriculum-list{
  list-style:none;margin:24px 0 0;padding:0;
  display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;
}
@media (max-width:640px){.curriculum-list{grid-template-columns:1fr;}}
.curriculum-list li{
  display:flex;align-items:flex-start;gap:.6em;
  color:var(--ivory-dim);font-size:.95rem;
  border-bottom:1px dashed var(--line);padding:8px 0;
}
.curriculum-list li::before{content:'✦';color:var(--jade);flex:none;margin-top:.15em;}

/* ---------- results ---------- */
.results-videos{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;}
@media (max-width:800px){.results-videos{grid-template-columns:1fr;}}
.video-frame-sm{padding:8px;}

.result-card{position:relative;}
.result-cover{
  position:absolute;inset:0;z-index:2;width:100%;height:100%;
  border:0;padding:0;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  background:
    radial-gradient(ellipse at 30% 20%, rgba(47,143,109,.35), transparent 55%),
    radial-gradient(ellipse at 80% 85%, rgba(201,162,75,.30), transparent 55%),
    linear-gradient(145deg,var(--panel-2),var(--panel));
  transition:filter .2s ease;
}
.result-cover:hover{filter:brightness(1.08);}
.result-badge{
  position:absolute;top:10px;right:10px;
  font-size:.68rem;font-weight:700;color:var(--jade);
  background:rgba(47,143,109,.14);border:1px solid rgba(47,143,109,.4);
  border-radius:999px;padding:.3em .8em;
}
.result-stars{color:var(--gold-bright);font-size:.85rem;letter-spacing:.15em;}
.result-play-btn{
  width:56px;height:56px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold) 60%,#a9812f);
  box-shadow:0 0 0 0 rgba(201,162,75,.55);
  animation:resultPulse 2.2s ease-out infinite;
}
.result-play-icon{
  width:0;height:0;margin-right:-3px;
  border-style:solid;border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent #1a1406;
}
@keyframes resultPulse{
  0%{box-shadow:0 0 0 0 rgba(201,162,75,.45);}
  70%{box-shadow:0 0 0 16px rgba(201,162,75,0);}
  100%{box-shadow:0 0 0 0 rgba(201,162,75,0);}
}
.result-name{font-size:.85rem;color:var(--ivory-dim);font-weight:500;}
.result-card.is-playing .result-cover{display:none;}
.result-card video{position:absolute;inset:0;width:100%;height:100%;}

/* ---------- pricing ---------- */
.pricing{
  text-align:center;background:var(--panel);
  border:1px solid var(--line);border-radius:20px;padding:36px 24px;
}
.price-old{color:var(--ivory-dim);text-decoration:line-through;font-size:1rem;}
.price-new{color:var(--gold-bright);font-size:2.2rem;font-weight:900;margin:.15em 0;}
.price-new small{font-size:.9rem;font-weight:400;color:var(--ivory-dim);}
.price-note{color:var(--jade);font-size:.85rem;margin-bottom:1.3em;}

/* ---------- consultation form ---------- */
.consult-card{
  background:var(--panel);border:1px solid var(--line);border-radius:18px;
  padding:28px;margin-top:24px;
}
.consult-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;}
@media (max-width:560px){.consult-form{grid-template-columns:1fr;}}
.consult-form .full{grid-column:1/-1;}

footer{text-align:center;padding:40px 20px 60px;color:var(--ivory-dim);font-size:.8rem;}

/* ---------- popup ---------- */
#popup-overlay{
  position:fixed;inset:0;background:rgba(6,5,10,.72);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;z-index:50;padding:20px;
}
.popup-card{
  width:100%;max-width:400px;background:var(--panel);
  border:1px solid var(--gold);border-radius:18px;padding:26px 22px;
  position:relative;box-shadow:0 30px 70px -20px rgba(0,0,0,.75);
  text-align:center;
}
.popup-close{
  position:absolute;top:10px;left:12px;background:none;border:none;
  color:var(--ivory-dim);font-size:1.3rem;line-height:1;
}
.popup-card h3{margin:.5em 0 .2em;color:var(--ivory);}
.popup-card p{color:var(--ivory-dim);font-size:.88rem;margin-bottom:1.2em;}
.popup-form{display:flex;flex-direction:column;gap:12px;}
