:root{--font-display: "Syne", "Vazirmatn", sans-serif;--font-body: "Outfit", "Vazirmatn", sans-serif;--font-fa: "Vazirmatn", "Outfit", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--radius: 1.25rem;--header-h: 4.25rem;--bg: #07050f;--bg-elevated: #110c1c;--surface: rgba(88, 48, 140, .12);--border: rgba(196, 160, 255, .14);--text: #f4eefc;--text-muted: #b5a4cc;--accent: #c084fc;--accent-strong: #a855f7;--accent-soft: rgba(168, 85, 247, .18);--glow: rgba(192, 132, 252, .35);--orb-a: rgba(139, 70, 220, .45);--orb-b: rgba(236, 72, 153, .22);--orb-c: rgba(99, 102, 241, .2);--hero-ring: rgba(192, 132, 252, .45);--shadow: 0 24px 60px rgba(0, 0, 0, .45);--btn-text: #0b0614}[data-theme=light]{--bg: #f6f1fb;--bg-elevated: #ffffff;--surface: rgba(124, 58, 237, .06);--border: rgba(88, 28, 135, .12);--text: #1a0f2e;--text-muted: #5c4a72;--accent: #7c3aed;--accent-strong: #6d28d9;--accent-soft: rgba(124, 58, 237, .1);--glow: rgba(124, 58, 237, .2);--orb-a: rgba(167, 139, 250, .4);--orb-b: rgba(244, 114, 182, .2);--orb-c: rgba(129, 140, 248, .25);--hero-ring: rgba(124, 58, 237, .35);--shadow: 0 20px 50px rgba(88, 28, 135, .1);--btn-text: #ffffff}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.7;min-height:100vh;overflow-x:hidden;transition:background .45s var(--ease),color .35s var(--ease)}html[lang=fa] body,html[dir=rtl] body,html[lang=fa] .hero-name,html[lang=fa] h2,html[lang=fa] h3,html[lang=fa] .logo{font-family:var(--font-fa)}html[lang=en] .hero-name,html[lang=en] h2,html[lang=en] h3,html[lang=en] .logo{font-family:var(--font-display)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}.noise{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:999;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.orb{position:fixed;border-radius:50%;filter:blur(80px);pointer-events:none;z-index:0;animation:drift 18s ease-in-out infinite alternate}.orb-1{width:min(55vw,520px);height:min(55vw,520px);background:var(--orb-a);top:-10%;inset-inline-end:-8%}.orb-2{width:min(40vw,380px);height:min(40vw,380px);background:var(--orb-b);bottom:15%;inset-inline-start:-10%;animation-delay:-6s}.orb-3{width:min(30vw,280px);height:min(30vw,280px);background:var(--orb-c);top:45%;inset-inline-end:20%;animation-delay:-12s}@keyframes drift{0%{transform:translate(0) scale(1)}to{transform:translate(-30px,40px) scale(1.08)}}.site-header{position:sticky;top:0;z-index:100;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0 clamp(1.25rem,4vw,3rem);background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border)}.logo{font-family:var(--font-display);font-weight:700;font-size:1.05rem;letter-spacing:-.02em;white-space:nowrap}.nav{display:flex;gap:1.35rem;font-size:.9rem;color:var(--text-muted)}.nav a{position:relative;transition:color .25s}.nav a:after{content:"";position:absolute;inset-inline-start:0;bottom:-.3rem;width:0;height:2px;background:var(--accent);transition:width .3s var(--ease)}.nav a:hover{color:var(--text)}.nav a:hover:after{width:100%}.controls{display:flex;align-items:center;gap:.5rem}.ctrl-btn{width:2.4rem;height:2.4rem;display:grid;place-items:center;border-radius:999px;border:1px solid var(--border);background:var(--surface);transition:background .25s,border-color .25s,transform .2s}.ctrl-btn:hover{border-color:var(--accent);background:var(--accent-soft);transform:translateY(-1px)}.lang-label{font-size:.75rem;font-weight:700;letter-spacing:.04em}[data-theme=dark] .icon-sun,[data-theme=light] .icon-moon{display:none}.menu-btn{display:none;width:2.4rem;height:2.4rem;flex-direction:column;justify-content:center;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--border)}.menu-btn span{display:block;width:16px;height:2px;background:var(--text);transition:transform .3s var(--ease)}.menu-btn.open span:first-child{transform:translateY(4px) rotate(45deg)}.menu-btn.open span:last-child{transform:translateY(-4px) rotate(-45deg)}main{position:relative;z-index:1;max-width:1120px;margin:0 auto;padding:0 clamp(1.25rem,4vw,3rem) 4rem}.hero{min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,5vw,4rem);align-items:center;padding:clamp(2rem,6vh,4rem) 0 clamp(3rem,8vh,5rem)}.hero-tag{display:inline-block;font-size:.85rem;font-weight:500;color:var(--accent);letter-spacing:.02em;margin-bottom:1rem;opacity:0;animation:rise .9s var(--ease) .1s forwards}.hero-name{font-family:var(--font-display);font-size:clamp(2.6rem,7vw,4.6rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;margin-bottom:1.25rem;background:linear-gradient(135deg,var(--text) 30%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;animation:rise .9s var(--ease) .2s forwards}.hero-lead{font-size:clamp(1.05rem,2vw,1.2rem);color:var(--text-muted);max-width:34rem;margin-bottom:2rem;font-weight:300;opacity:0;animation:rise .9s var(--ease) .35s forwards}.hero-cta{display:flex;flex-wrap:wrap;gap:.85rem;opacity:0;animation:rise .9s var(--ease) .5s forwards}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.5rem;border-radius:999px;font-weight:600;font-size:.95rem;transition:transform .25s var(--ease),box-shadow .25s,background .25s,border-color .25s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:linear-gradient(135deg,var(--accent-strong),#db2777);color:var(--btn-text);box-shadow:0 10px 30px var(--glow)}.btn-primary:hover{box-shadow:0 14px 36px var(--glow)}.btn-ghost{border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn-ghost:hover{border-color:var(--accent);background:var(--accent-soft)}.hero-visual{display:flex;justify-content:center;opacity:0;animation:rise 1s var(--ease) .4s forwards}.hero-frame{position:relative;width:min(100%,380px);aspect-ratio:1;display:grid;place-items:center}.hero-grid{position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:50%;background:radial-gradient(circle at center,transparent 35%,var(--accent-soft) 36%,transparent 37%),repeating-linear-gradient(0deg,transparent,transparent 18px,var(--border) 19px),repeating-linear-gradient(90deg,transparent,transparent 18px,var(--border) 19px);-webkit-mask-image:radial-gradient(circle,black 55%,transparent 75%);mask-image:radial-gradient(circle,black 55%,transparent 75%);animation:spin-slow 40s linear infinite}.hero-ring{position:absolute;top:4%;right:4%;bottom:4%;left:4%;border-radius:50%;border:1px solid var(--hero-ring);animation:pulse-ring 4s ease-in-out infinite}.hero-ring.delay{top:14%;right:14%;bottom:14%;left:14%;animation-delay:-2s;border-style:dashed;opacity:.6}.hero-core{position:relative;width:42%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;background:linear-gradient(160deg,var(--bg-elevated),color-mix(in srgb,var(--accent-strong) 35%,var(--bg)));border:1px solid var(--border);box-shadow:var(--shadow),0 0 60px var(--glow)}.mono{font-family:var(--font-display);font-weight:800;font-size:1.6rem;letter-spacing:.08em;color:var(--accent)}.mono.small{font-size:.85rem;font-weight:600;opacity:.8;letter-spacing:.2em}@keyframes spin-slow{to{transform:rotate(360deg)}}@keyframes pulse-ring{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.03);opacity:1}}.section{padding:clamp(3.5rem,8vh,5.5rem) 0;border-top:1px solid var(--border)}.section-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:2rem}.section-num{font-family:var(--font-display);font-size:.85rem;font-weight:700;color:var(--accent);letter-spacing:.08em}.section-head h2{font-family:var(--font-display);font-size:clamp(1.6rem,3.5vw,2.15rem);font-weight:700;letter-spacing:-.02em}.about-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:2.5rem;align-items:start}.about-text{font-size:1.08rem;color:var(--text-muted);font-weight:300}.about-highlights{display:flex;flex-direction:column;gap:1rem}.about-highlights li{padding:1rem 1.15rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);display:flex;flex-direction:column;gap:.2rem;transition:border-color .25s,transform .25s var(--ease)}.about-highlights li:hover{border-color:var(--accent);transform:translateY(-2px)}.about-highlights strong{font-size:.8rem;color:var(--accent);font-weight:600}.about-highlights span{font-size:.98rem}.timeline{display:flex;flex-direction:column;gap:1.5rem}.timeline-item{padding:1.75rem;border-radius:calc(var(--radius) + .25rem);background:var(--surface);border:1px solid var(--border);transition:border-color .3s,box-shadow .3s}.timeline-item.featured{background:linear-gradient(145deg,var(--accent-soft),transparent 60%),var(--bg-elevated);border-color:color-mix(in srgb,var(--accent) 40%,var(--border));box-shadow:var(--shadow)}.timeline-item:hover{border-color:var(--accent)}.timeline-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem}.badge{display:inline-block;padding:.3rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;background:var(--accent-strong);color:#fff}.badge.subtle{background:var(--accent-soft);color:var(--accent)}.year{font-size:.85rem;color:var(--text-muted)}.timeline-item h3{font-family:var(--font-display);font-size:1.35rem;margin-bottom:.35rem}.muted{color:var(--text-muted);font-size:.95rem}.gpa{margin-top:.75rem;font-size:.95rem;color:var(--text-muted)}.gpa strong{color:var(--accent);font-size:1.1rem}.thesis{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border)}.thesis h4{font-size:.8rem;color:var(--accent);margin-bottom:.5rem;font-weight:600}.thesis p{font-size:1.02rem;line-height:1.75}.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.chips span{padding:.35rem .8rem;border-radius:999px;font-size:.78rem;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 50%,transparent);color:var(--text-muted)}.exp-list{display:grid;gap:1.15rem}.exp-item{padding:1.5rem 1.6rem;border-radius:var(--radius);border:1px solid var(--border);border-inline-start:3px solid var(--accent);background:var(--surface);transition:transform .25s var(--ease),background .25s}.exp-item:hover{transform:translate(var(--hover-shift, 4px));background:var(--bg-elevated)}html[dir=rtl] .exp-item:hover{--hover-shift: -4px}.exp-item h3{font-family:var(--font-display);font-size:1.15rem;margin-bottom:.5rem}.exp-item p{color:var(--text-muted);font-size:.98rem;font-weight:300}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.skill-block{padding:1.4rem;border-radius:var(--radius);background:var(--bg-elevated);border:1px solid var(--border);transition:border-color .25s,transform .25s var(--ease)}.skill-block:hover{border-color:var(--accent);transform:translateY(-4px)}.skill-block h3{font-family:var(--font-display);font-size:1rem;margin-bottom:1rem;color:var(--accent)}.skill-block li{font-size:.9rem;color:var(--text-muted);padding:.35rem 0;border-bottom:1px solid var(--border)}.skill-block li:last-child{border-bottom:none}.research-intro{font-size:1.08rem;color:var(--text-muted);max-width:48rem;margin-bottom:1.75rem;font-weight:300}.interest-cloud{display:flex;flex-wrap:wrap;gap:.65rem}.interest-cloud span{padding:.7rem 1.15rem;border-radius:999px;font-size:.9rem;font-weight:500;background:var(--surface);border:1px solid var(--border);transition:background .25s,border-color .25s,color .25s,transform .25s}.interest-cloud span:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-strong);transform:translateY(-2px)}.cert-list{display:grid;gap:.65rem}.cert-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:.9rem;border:1px solid var(--border);background:var(--surface);transition:border-color .25s}.cert-list li:hover{border-color:var(--accent)}.cert-list em{font-style:normal;font-size:.85rem;color:var(--text-muted);white-space:nowrap}.contact{text-align:center;padding-bottom:2rem}.contact .section-head{justify-content:center}.contact-text{color:var(--text-muted);max-width:36rem;margin:0 auto 1.75rem;font-size:1.08rem;font-weight:300}.contact-btn{min-width:10rem}.site-footer{position:relative;z-index:1;text-align:center;padding:2rem 1.5rem 2.5rem;border-top:1px solid var(--border);color:var(--text-muted);font-size:.88rem}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.visible{opacity:1;transform:translateY(0)}@media(max-width:960px){.skills-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr}.hero{grid-template-columns:1fr;min-height:auto;padding-top:2.5rem}.hero-visual{order:-1}.hero-frame{width:min(70%,280px)}}@media(max-width:760px){.nav{position:fixed;inset:var(--header-h) 0 auto 0;flex-direction:column;gap:0;padding:.5rem 0;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);transform:translateY(-120%);opacity:0;pointer-events:none;transition:transform .35s var(--ease),opacity .35s}.nav.open{transform:translateY(0);opacity:1;pointer-events:auto}.nav a{padding:.9rem clamp(1.25rem,4vw,3rem)}.menu-btn{display:flex}.skills-grid{grid-template-columns:1fr}.cert-list li{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
