 :root{--bg:#0b1220;--panel:#111d2e;--panel2:#142238;--text:#f3f5f8;--muted:#a7b2c2;--gold:#e9bd62;--gold2:#f4d995;--line:rgba(255,255,255,.11);--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:radial-gradient(ellipse at 85% 4%,rgba(39,67,101,.28),transparent 34%),var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.65;overflow-x:hidden}body.lang-fa{font-family:"Vazirmatn","DM Sans",sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.ambient{position:absolute;pointer-events:none;border-radius:50%;filter:blur(90px);opacity:.13}.ambient-one{width:300px;height:300px;background:#d7a943;top:300px;left:-200px}.ambient-two{width:360px;height:360px;background:#356da5;top:1000px;right:-240px}.section-wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;width:min(var(--max),calc(100% - 48px));margin:auto;border-bottom:1px solid var(--line);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:11px}.brand-mark{width:36px;height:36px;border:1px solid rgba(233,189,98,.7);border-radius:11px;display:grid;place-items:center;font-weight:800;font-size:18px;color:var(--gold);transform:rotate(-4deg)}.brand-mark span{color:white}.brand-name{font-weight:700;font-size:12px;letter-spacing:1.6px}.brand-name span{color:var(--muted);font-weight:500;font-size:10px}.nav{display:flex;gap:27px;color:#c2cad5;font-size:12px}.nav a{transition:color .2s}.nav a:hover{color:var(--gold)}.lang-toggle{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);padding:9px 13px;border-radius:30px;font-size:12px;cursor:pointer}.lang-dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}.hero{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:70px;padding-top:90px;padding-bottom:76px;min-height:580px}.eyebrow,.section-kicker{color:var(--gold);font-size:10px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:10px}.eyebrow-line{height:1px;width:28px;background:var(--gold)}h1{font-size:clamp(42px,5.5vw,70px);line-height:1.04;letter-spacing:-3px;margin:24px 0 20px;font-weight:700}body.lang-fa h1{letter-spacing:0;line-height:1.3}.accent{color:var(--gold)}.hero-role{color:#d9e0e8;font-size:14px;font-weight:600;margin:0 0 15px}.hero-intro{max-width:620px;color:var(--muted);font-size:14px;line-height:1.9;margin:0}.hero-actions{display:flex;gap:12px;margin-top:29px;flex-wrap:wrap}.button{padding:12px 17px;border-radius:8px;font-size:12px;font-weight:700;display:inline-flex;gap:17px;align-items:center;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--gold);color:#151b23}.button-primary:hover{background:var(--gold2)}.button-ghost{border:1px solid var(--line);color:#e5eaf1}.hero-meta{display:flex;align-items:center;gap:13px;color:var(--muted);font-size:11px;margin-top:31px;flex-wrap:wrap}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7bd7a1;margin-inline-end:8px}.meta-divider{height:13px;width:1px;background:var(--line)}.hero-visual{min-height:360px;display:grid;place-items:center;position:relative}.portrait-frame{width:250px;height:250px;border-radius:50%;position:relative;display:grid;place-items:center;background:linear-gradient(145deg,#263b54,#101a2a);box-shadow:0 0 0 1px rgba(233,189,98,.55),0 0 0 15px rgba(233,189,98,.035),0 25px 90px rgba(0,0,0,.3);z-index:1}.portrait-placeholder{width:226px;height:226px;border-radius:50%;background:linear-gradient(145deg,#1c2b3e,#0b1220);border:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold)}.portrait-placeholder span{font-size:54px;font-weight:700;letter-spacing:-3px}.portrait-placeholder small{font-size:9px;letter-spacing:2px;color:var(--muted);margin-top:5px}.portrait-frame img{width:226px;height:226px;border-radius:50%;object-fit:cover}.portrait-ring{position:absolute;inset:-22px;border:1px dashed rgba(233,189,98,.35);border-radius:50%;animation:spin 35s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.visual-orbit{position:absolute;border:1px solid rgba(255,255,255,.06);border-radius:50%}.orbit-one{width:360px;height:360px}.orbit-two{width:440px;height:440px;border-style:dashed;opacity:.5}.floating-card{position:absolute;z-index:2;background:rgba(19,31,49,.92);border:1px solid var(--line);box-shadow:0 12px 35px rgba(0,0,0,.2);border-radius:11px;padding:12px 15px;display:flex;align-items:center;gap:11px;backdrop-filter:blur(12px)}.floating-card strong{display:block;font-size:11px}.floating-card small{display:block;font-size:10px;color:var(--muted)}.card-top{top:45px;right:-6px}.card-bottom{bottom:35px;left:-5px}.mini-icon{display:grid;place-items:center;width:29px;height:29px;border-radius:8px;background:rgba(111,181,223,.13);color:#8ac8ee}.mini-icon.gold{background:rgba(233,189,98,.13);color:var(--gold)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);padding:24px 0;margin-bottom:100px}.stat{padding:0 25px;border-inline-end:1px solid var(--line)}.stat:first-child{padding-inline-start:0}.stat:last-child{border:0}.stat strong{display:block;font-size:26px;letter-spacing:-1px}.stat strong span{font-size:13px;color:var(--gold);letter-spacing:0}.stat small{font-size:11px;color:var(--muted)}.content-section{padding:0 0 105px}.section-heading{margin-bottom:38px}.section-heading h2,.contact-section h2{font-size:clamp(28px,3vw,39px);line-height:1.25;letter-spacing:-1.2px;margin:15px 0 0;max-width:800px}.section-description{color:var(--muted);font-size:13px;margin:12px 0 0}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:start}.large-copy{font-size:17px;line-height:1.95;color:#d3dbe5;margin:0}.skill-panel{background:linear-gradient(145deg,rgba(24,39,60,.95),rgba(14,23,37,.9));border:1px solid var(--line);border-radius:14px;padding:25px}.skill-panel h3,.skill-list h3{margin:0 0 18px;font-size:14px}.skill-tags{display:flex;gap:9px;flex-wrap:wrap}.skill-tags span{font-size:11px;color:#d8e0e9;border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:8px 10px;background:rgba(255,255,255,.025)}.timeline{border-top:1px solid var(--line)}.timeline-item{display:grid;grid-template-columns:220px 1fr;gap:35px;padding:28px 0;border-bottom:1px solid var(--line)}.timeline-date{font-size:10px;letter-spacing:1px;color:var(--gold);font-weight:700;padding-top:5px}.timeline-body h3{font-size:17px;margin:0 0 3px}.company{font-size:12px;color:var(--muted);margin:0 0 13px}.timeline-body ul{padding-inline-start:19px;margin:0;color:#bdc7d4;font-size:12px;line-height:1.9}.timeline-body li{padding-inline-start:4px;margin:5px 0}.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.edu-card{padding:24px;background:rgba(17,29,46,.8);border:1px solid var(--line);border-radius:13px;min-height:220px;display:flex;flex-direction:column}.edu-card.featured{border-color:rgba(233,189,98,.38);background:linear-gradient(145deg,rgba(44,42,35,.6),rgba(17,29,46,.8))}.edu-top{display:flex;justify-content:space-between;align-items:center}.edu-label{font-size:9px;letter-spacing:1.5px;color:var(--gold);font-weight:700}.edu-year{font-size:10px;color:var(--muted)}.edu-card h3{font-size:19px;margin:26px 0 2px}.edu-card p{font-size:13px;color:var(--gold);margin:0}.edu-foot{margin-top:auto;padding-top:23px;color:var(--muted);font-size:11px}.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.course-card{display:flex;align-items:center;gap:16px;padding:19px;background:rgba(17,29,46,.75);border:1px solid var(--line);border-radius:11px;min-height:105px;transition:border .2s,transform .2s}.course-card:hover{border-color:rgba(233,189,98,.45);transform:translateY(-2px)}.course-number{color:var(--gold);font-size:11px;letter-spacing:1px;align-self:flex-start;padding-top:3px}.course-card div{flex:1}.course-card h3{font-size:13px;margin:0 0 4px}.course-card p{font-size:11px;color:var(--muted);margin:0}.course-arrow{color:var(--gold);font-size:17px}.certificates-area{margin-top:42px;padding:25px;background:rgba(17,29,46,.6);border:1px solid var(--line);border-radius:15px}.certificates-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:19px}.certificates-title h3{font-size:20px;margin:7px 0 0}.slider-controls{display:flex;gap:8px}.slider-controls button{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;font-size:16px}.slider-controls button:hover{background:var(--gold);color:#111}.certificate-slider{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:rgba(233,189,98,.4) transparent;padding-bottom:10px}.certificate-placeholder{flex:0 0 235px;min-height:150px;scroll-snap-align:start;border:1px dashed rgba(233,189,98,.35);border-radius:10px;background:linear-gradient(145deg,rgba(233,189,98,.06),rgba(255,255,255,.015));display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:15px}.certificate-placeholder span{font-size:10px;color:var(--gold);letter-spacing:2px}.certificate-placeholder strong{font-size:13px;margin-top:9px}.certificate-placeholder small{font-size:10px;color:var(--muted);margin-top:7px}.certificate-slide-img{flex:0 0 280px;width:280px;height:190px;object-fit:contain;background:#f8f8f8;border-radius:9px;scroll-snap-align:start}.hint{font-size:10px;color:var(--muted);margin:13px 0 0}.skills-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px}.skill-list{background:rgba(17,29,46,.55);border:1px solid var(--line);border-radius:13px;padding:25px}.skill-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-top:1px solid var(--line);font-size:11px;color:#d3dce7}.skill-row b{font-size:9px;color:var(--gold);font-weight:600;text-align:end;white-space:nowrap}.language-row{display:grid;grid-template-columns:1fr auto;gap:6px 15px;padding:13px 0;border-top:1px solid var(--line);font-size:12px}.language-row small{color:var(--muted);font-size:10px;margin-inline-start:7px}.language-row b{font-size:10px;color:var(--gold)}.language-bar{grid-column:1/-1;height:4px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden}.language-bar i{display:block;height:100%;background:linear-gradient(90deg,#b68b39,var(--gold2));border-radius:5px}.project-card{display:flex;align-items:center;gap:25px;border:1px solid var(--line);background:linear-gradient(110deg,rgba(21,37,58,.9),rgba(14,23,37,.8));border-radius:15px;padding:28px}.project-symbol{flex:0 0 76px;width:76px;height:76px;border-radius:16px;background:rgba(233,189,98,.08);border:1px solid rgba(233,189,98,.22);display:grid;place-items:center;overflow:hidden;padding:7px;flex-shrink:0}.project-symbol img{display:block;width:100%;height:100%;object-fit:contain;border-radius:10px}.project-symbol.logo-missing{font-weight:800;font-size:23px;color:var(--gold);letter-spacing:-2px}.project-symbol.logo-missing::first-letter{color:var(--gold)}.project-copy{flex:1}.project-type{font-size:9px;letter-spacing:1.5px;color:var(--gold)}.project-copy h3{font-size:20px;margin:6px 0}.project-copy p{font-size:12px;color:var(--muted);max-width:650px;margin:0;line-height:1.8}.project-badge{font-size:10px;border:1px solid rgba(123,215,161,.35);color:#8ce0af;padding:7px 10px;border-radius:30px;white-space:nowrap}.contact-section{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;padding:36px;margin-bottom:70px;border:1px solid rgba(233,189,98,.25);border-radius:17px;background:radial-gradient(ellipse at 0% 100%,rgba(233,189,98,.09),transparent 45%),rgba(17,29,46,.65)}.contact-section h2{font-size:32px}.contact-section p{font-size:12px;color:var(--muted);max-width:490px;line-height:1.9}.contact-links{display:flex;flex-direction:column;gap:13px}.contact-links a{display:flex;align-items:center;gap:12px;font-size:12px;color:#dfe6ee;overflow-wrap:anywhere}.contact-links a>span{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;display:grid;place-items:center;color:var(--gold);font-size:12px;flex-shrink:0}.contact-links small{font-size:9px;color:var(--muted)}.footer{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.back-top{color:var(--gold)}body.lang-fa .nav{font-size:12px}body.lang-fa .hero-copy,body.lang-fa .section-heading,body.lang-fa .about-grid,body.lang-fa .timeline-body,body.lang-fa .edu-card,body.lang-fa .course-card,body.lang-fa .skill-list,body.lang-fa .project-copy,body.lang-fa .contact-section{text-align:right}body.lang-fa .hero-meta{flex-direction:row}body.lang-fa .timeline-body ul{padding-inline-start:0;padding-inline-end:19px}body.lang-fa h1{letter-spacing:0}
@media(max-width:900px){.nav{gap:14px}.hero{gap:35px}.hero-visual{transform:scale(.9)}.about-grid{gap:30px}.timeline-item{grid-template-columns:170px 1fr}.contact-section{gap:30px;padding:27px}.stats{margin-bottom:80px}}
@media(max-width:680px){.section-wrap,.topbar{width:calc(100% - 34px)}.topbar{height:72px}.nav{display:none}.brand-name{font-size:11px}.hero{grid-template-columns:1fr;gap:28px;padding-top:57px;padding-bottom:48px}.hero-copy{order:1}.hero-visual{order:0;min-height:280px;transform:scale(.82);margin:-10px 0 -15px}.card-top{right:-25px}.card-bottom{left:-15px}h1{font-size:48px;letter-spacing:-2px}.hero-intro{font-size:13px}.hero-meta{font-size:10px}.stats{grid-template-columns:1fr 1fr;row-gap:22px;padding:22px 0;margin-bottom:68px}.stat{padding:0 15px;border-inline-end:0}.stat:nth-child(odd){border-inline-end:1px solid var(--line);padding-inline-start:0}.stat strong{font-size:24px}.content-section{padding-bottom:72px}.section-heading{margin-bottom:26px}.section-heading h2{font-size:29px}.about-grid,.education-grid,.course-grid,.skills-columns,.contact-section{grid-template-columns:1fr;gap:15px}.large-copy{font-size:14px}.skill-panel{padding:20px}.timeline-item{grid-template-columns:1fr;gap:8px;padding:22px 0}.timeline-date{font-size:9px}.edu-card{min-height:205px}.course-card{min-height:95px}.certificates-area{padding:17px;margin-top:30px}.certificates-title h3{font-size:18px}.certificate-placeholder{flex-basis:210px}.skills-columns{gap:15px}.project-card{align-items:flex-start;flex-wrap:wrap;padding:21px;gap:17px}.project-symbol{flex:0 0 60px;width:60px;height:60px;border-radius:14px}.project-copy{flex-basis:calc(100% - 80px)}.project-badge{margin-inline-start:77px}.contact-section{padding:23px;margin-bottom:48px}.contact-section h2{font-size:28px}.footer{padding:22px 0;flex-wrap:wrap}.footer>span{order:3;flex-basis:100%}body.lang-fa .hero-copy{text-align:right}}

.certificate-card{flex:0 0 280px;scroll-snap-align:start;overflow:hidden;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}
.certificate-card .certificate-slide-img{display:block;width:100%;height:180px;object-fit:contain;background:#f8f8f8;border-radius:0}
.certificate-caption{display:flex;gap:10px;align-items:flex-start;padding:12px 13px;min-height:48px}
.certificate-caption span{font-size:10px;color:var(--gold);padding-top:2px}
.certificate-caption strong{font-size:12px;line-height:1.5;overflow-wrap:anywhere}
body.lang-fa .certificate-caption{flex-direction:row}
@media(max-width:680px){.certificate-card{flex-basis:235px}.certificate-card .certificate-slide-img{height:155px}}

/* Keep the overall page geometry stable when switching languages. */
body.lang-fa { direction:ltr; }
body.lang-fa .hero-copy, body.lang-fa .section-heading, body.lang-fa .large-copy,
body.lang-fa .timeline-body, body.lang-fa .edu-card, body.lang-fa .course-card,
body.lang-fa .skill-list, body.lang-fa .project-copy, body.lang-fa .contact-section,
body.lang-fa .contact-links, body.lang-fa .footer { direction:rtl; }
body.lang-fa .brand, body.lang-fa .topbar, body.lang-fa .footer { direction:ltr; }
body.lang-fa .hero-intro, body.lang-fa .hero-role, body.lang-fa .timeline-body li,
body.lang-fa .company, body.lang-fa .edu-foot, body.lang-fa .course-card p,
body.lang-fa .contact-section p { text-align:right; }
/* Avoid accidental horizontal overflow and keep content centered consistently. */
html, body { max-width:100%; }
.section-wrap, .topbar { margin-inline:auto; }
img { max-width:100%; }


/* V3: lock the page canvas to the viewport; language changes affect text direction only. */
html { width:100%; min-width:0; overflow-x:clip; }
body { width:100%; min-width:0; max-width:100%; margin:0; overflow-x:clip; position:relative; }
body > .ambient { max-width:100vw; }
main, header, footer, section, .section-wrap, .topbar { min-width:0; }
main { width:100%; margin-inline:auto; }
.section-wrap { width: min(var(--max), calc(100% - 40px)); margin-left:auto !important; margin-right:auto !important; }
.topbar { width:min(var(--max), calc(100% - 40px)); margin-left:auto !important; margin-right:auto !important; }
.hero { width:min(var(--max), calc(100% - 40px)); margin-left:auto; margin-right:auto; }
.hero-visual { min-width:0; }
.floating-card { max-width:calc(100vw - 24px); }
@media(max-width:680px) {
  .section-wrap, .topbar, .hero { width:calc(100% - 32px); margin-left:auto !important; margin-right:auto !important; }
  .hero { grid-template-columns:minmax(0,1fr); }
  .hero-visual { width:100%; transform:none; min-height:270px; margin:0; overflow:visible; }
  .orbit-two { width:min(440px, 100vw - 56px); height:min(440px, 100vw - 56px); }
  .orbit-one { width:min(360px, 100vw - 70px); height:min(360px, 100vw - 70px); }
  .card-top { right:0; }
  .card-bottom { left:0; }
}
/* Keep language direction scoped to text blocks, never the page canvas. */
html, body { direction:ltr !important; }
body.lang-fa .hero-copy, body.lang-fa .section-heading, body.lang-fa .large-copy,
body.lang-fa .timeline-body, body.lang-fa .edu-card, body.lang-fa .course-card,
body.lang-fa .skill-list, body.lang-fa .project-copy, body.lang-fa .contact-section,
body.lang-fa .contact-links { direction:rtl; text-align:right; }
body.lang-fa .brand, body.lang-fa .topbar, body.lang-fa .footer { direction:ltr; }
