/* Style: Dark editorial Persian RTL portfolio; mint signal #9BFFB4 on ink #09120F, asymmetric composition, technical rules, restrained motion. */
:root{--ink:#09120f;--ink-2:#0d1915;--panel:#101d18;--line:rgba(187,255,202,.16);--muted:#8fa198;--text:#e8f1e9;--mint:#9bffb4;--mint-2:#62db86;--max:1280px;--ease:cubic-bezier(.23,1,.32,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--text);font-family:Vazirmatn,system-ui,sans-serif;line-height:1.9}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,black,transparent 72%);z-index:0}.site-shell{position:relative;z-index:1;max-width:1440px;margin:auto}.topbar{height:84px;display:flex;align-items:center;gap:46px;margin:0 4%;border-bottom:1px solid var(--line);direction:ltr}.wordmark{color:var(--text);text-decoration:none;display:flex;flex-direction:column;line-height:1;letter-spacing:.2em;font:600 14px 'Space Grotesk',sans-serif;white-space:nowrap}.wordmark small{font-size:9px;color:var(--muted);margin-top:8px;letter-spacing:.27em}.desktop-nav{display:flex;gap:32px;direction:rtl;flex:1}.desktop-nav a,.mobile-nav a{font-size:13px;color:var(--muted);text-decoration:none;transition:color .18s var(--ease)}.desktop-nav a:hover,.mobile-nav a:hover{color:var(--mint)}.top-actions{display:flex;align-items:center;gap:10px}.icon-button,.menu-button{border:1px solid var(--line);background:transparent;color:var(--mint);height:38px;min-width:42px;font-size:19px}.outline-button,.mint-button,.quiet-button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:0 20px;text-decoration:none;font:500 13px Vazirmatn,sans-serif;transition:transform .16s var(--ease),background .18s var(--ease),color .18s var(--ease);cursor:pointer}.outline-button{border:1px solid var(--mint-2);color:var(--mint);background:transparent}.mint-button{border:1px solid var(--mint);background:var(--mint);color:var(--ink)}.quiet-button{border:1px solid var(--line);color:var(--text)}.outline-button:hover,.mint-button:hover,.quiet-button:hover{transform:translateY(-2px)}.mint-button:hover{background:#c2ffd0}.menu-button{display:none}.mobile-nav{display:none}.section-pad{padding:110px 7%;max-width:1440px;margin:auto}.hero{min-height:780px;display:grid;grid-template-columns:1.05fr .95fr;gap:8%;align-items:center;direction:ltr}.hero-copy{direction:rtl;padding-top:20px}.eyebrow,.section-index,.panel-label,.work-card small,.timeline-tag,.card-code{font:500 11px 'Space Grotesk',Vazirmatn,sans-serif;letter-spacing:.05em;color:var(--muted)}.eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:24px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 18px var(--mint)}h1{font-size:clamp(76px,10vw,152px);line-height:.9;letter-spacing:-.08em;margin:0 0 30px;font-weight:800}h1 em,h2 span{color:var(--mint);font-style:normal}.hero-lead{font-size:20px;font-weight:600;margin:0 0 4px}.hero-description{max-width:600px;color:var(--muted);font-size:15px;margin:0 0 30px}.hero-actions{display:flex;gap:10px;margin-bottom:45px}.hero-meta{display:flex;gap:18px;align-items:center;color:#66766e;font-size:11px}.hero-meta a{color:#8a988e;text-decoration:none}.hero-visual{direction:rtl;display:flex;flex-direction:column;gap:14px}.panel{border:1px solid var(--line);background:linear-gradient(135deg,rgba(20,39,30,.7),rgba(7,17,13,.65));padding:24px}.panel-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;margin-bottom:30px}.profile-card h2{font-size:30px;line-height:1.2;margin:0 0 10px}.profile-card p{font-size:13px;color:var(--muted);max-width:430px;margin:0}.stats{display:flex;gap:60px;margin-top:35px}.stats strong{display:block;color:var(--mint);font:500 25px 'Space Grotesk',sans-serif;direction:ltr;text-align:right}.stats small{display:block;color:var(--muted);font-size:10px}.matrix-card{padding-bottom:16px}.matrix{height:310px;display:grid;grid-template-columns:repeat(12,1fr);gap:5px;direction:ltr}.matrix i{display:block;background:#142c22}.matrix i:nth-child(3n){background:#2d7548}.matrix i:nth-child(5n){background:#62db86}.matrix i:nth-child(7n){background:#b4ffc4}.matrix-caption{font-size:10px;color:var(--muted);margin-top:12px}.statement,.education,.timeline-section,.skills-section,.work-section,.two-column,.learning-section,.research-teach,.contact-section{border-top:1px solid var(--line);display:grid;grid-template-columns:22% 1fr;gap:7%}.section-index{font-size:11px;color:var(--mint);direction:ltr}.statement-content{max-width:720px}.kicker{color:var(--mint);font-size:14px;margin:0 0 18px}.statement h2,.section-heading h2,.two-column h2,.contact-intro h2{font-size:clamp(38px,5vw,70px);line-height:1.18;letter-spacing:-.06em;margin:0 0 24px}.statement-content>p:last-child,.contact-intro>p{color:var(--muted);font-size:16px;max-width:670px;margin:0}.statement-note{font:11px 'Space Grotesk',sans-serif;color:#4b6558;direction:ltr;line-height:2.1;padding-top:100px}.education-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.edu-item{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:22px}.year{font:500 24px 'Space Grotesk';color:var(--mint)}.edu-item h3{font-size:20px;margin:0}.edu-item p{color:var(--muted);font-size:13px;margin:4px 0}.edu-item b{font-size:12px;color:var(--mint-2)}.timeline-section,.skills-section,.work-section,.learning-section{display:block}.section-heading{display:grid;grid-template-columns:1fr .75fr;gap:8%;align-items:end;margin-bottom:65px}.section-heading p{color:var(--muted);font-size:14px;margin:0;max-width:430px}.timeline{border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:130px 1fr 170px;gap:30px;padding:27px 0;border-bottom:1px solid var(--line);align-items:start;transition:padding .25s var(--ease),background .25s}.timeline-row:hover{padding-inline:15px;background:rgba(155,255,180,.035)}.timeline-year{color:var(--mint);font:500 15px 'Space Grotesk'}.timeline-row h3{font-size:19px;margin:0 0 7px}.timeline-row p{color:var(--muted);font-size:13px;margin:0;max-width:680px}.timeline-tag{text-align:left;direction:ltr;padding-top:5px}.skills-layout{display:grid;grid-template-columns:1fr 1fr;gap:28px}.skill-group{border:1px solid var(--line);padding:28px;min-height:210px}.skill-title{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:22px}.skill-title span{color:var(--mint);font:500 12px 'Space Grotesk'}.skill-title h3{font-size:18px;margin:0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{border:1px solid var(--line);color:var(--muted);padding:5px 10px;font-size:12px}.chips span.strong{color:var(--text);border-color:rgba(155,255,180,.34)}.software-list{display:grid;grid-template-columns:1fr 1fr;gap:13px}.software-list div,.language-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.07);padding-bottom:7px;font:12px 'Space Grotesk',Vazirmatn}.software-list i,.language-row b{font:11px Vazirmatn;color:var(--mint-2)}.language-row{padding:13px 0}.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.work-card{min-height:185px;border:1px solid var(--line);padding:24px;text-decoration:none;color:var(--text);display:flex;align-items:flex-start;gap:22px;position:relative;transition:transform .2s var(--ease),border-color .2s,background .2s}.work-card:hover{transform:translateY(-5px);border-color:var(--mint-2);background:rgba(155,255,180,.04)}.work-card.feature{grid-column:span 2;min-height:220px}.work-number{font:500 22px 'Space Grotesk';color:var(--mint)}.work-card h3{font-size:23px;margin:10px 0 4px}.work-card p{font-size:12px;color:var(--muted);margin:0}.work-card small{display:block;color:var(--mint-2);direction:ltr}.arrow{position:absolute;left:22px;top:20px;color:var(--mint);font-size:22px}.two-column{grid-template-columns:1.1fr .9fr}.two-column h2{margin-top:23px}.honor-list{margin-top:38px}.honor-list div{border-bottom:1px solid var(--line);padding:14px 0;display:flex;justify-content:space-between;gap:20px}.honor-list b{font-size:14px}.honor-list span{color:var(--muted);font-size:12px;text-align:left}.faith-block{border:1px solid var(--line);padding:34px;position:relative;background:var(--panel)}.faith-block .quote-mark{font:100px Georgia;color:var(--mint);line-height:.6;margin-top:55px}.faith-block p{font-size:20px;line-height:1.8}.faith-awards{display:grid;gap:10px;margin-top:35px}.faith-awards span{color:var(--muted);font-size:12px}.learning-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.learning-grid>div{border-top:1px solid var(--line);padding-top:22px}.learning-grid h3{color:var(--mint);font-size:18px}.learning-grid p{color:var(--muted);font-size:13px}.research-teach{grid-template-columns:1fr 1fr;gap:20px}.research-card,.teach-card{min-height:370px}.research-card h2,.teach-card h2{font-size:48px;line-height:1.2;margin:60px 0 20px}.research-card p{color:var(--muted);max-width:400px}.card-code{display:block;margin-top:80px;direction:ltr}.teach-card ul{list-style:none;padding:0;margin:32px 0 0}.teach-card li{border-bottom:1px solid var(--line);padding:9px 0;color:var(--muted);font-size:13px}.contact-section{grid-template-columns:1fr 1fr;gap:10%}.contact-intro h2{margin-top:25px}.contact-links{display:flex;flex-direction:column;gap:8px;margin-top:42px}.contact-links a{color:var(--mint);text-decoration:none;font:14px 'Space Grotesk',Vazirmatn}.contact-links span{margin-right:8px}.contact-form{display:flex;flex-direction:column;gap:8px}.contact-form label{font-size:12px;color:var(--muted);margin-top:8px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:#0b1712;color:var(--text);padding:13px 14px;font:13px Vazirmatn;outline:0;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--mint-2)}.contact-form .mint-button{align-self:flex-start;margin-top:15px}.form-note{font-size:11px;color:#5f7466;margin:3px 0}.footer{border-top:1px solid var(--line);padding-top:28px!important;padding-bottom:35px!important;display:flex;align-items:center;justify-content:space-between;color:#617269;font-size:11px;direction:ltr}.footer .wordmark{margin-right:auto}.footer>span{margin-left:28px;direction:rtl}.light-mode{--ink:#eef5ef;--ink-2:#e7f0e8;--panel:#f7fbf7;--line:rgba(15,48,29,.18);--muted:#617166;--text:#102017;--mint:#0b8e4d;--mint-2:#08733d}.light-mode:before{opacity:.05}.light-mode .panel,.light-mode .contact-form input,.light-mode .contact-form textarea{background:rgba(255,255,255,.62)}.light-mode .matrix i{background:#d7ebda}.light-mode .matrix i:nth-child(3n){background:#8ec99b}.light-mode .matrix i:nth-child(5n){background:#35a85d}.light-mode .matrix i:nth-child(7n){background:#0b8e4d}.light-mode .quiet-button{color:var(--text)}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s var(--ease),transform .65s var(--ease)}.reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}@media(max-width:900px){.topbar{margin:0 4%;gap:16px}.desktop-nav,.outline-button{display:none}.top-actions{margin-right:auto}.menu-button{display:block}.mobile-nav{padding:15px 8%;border-bottom:1px solid var(--line);display:none;flex-wrap:wrap;gap:20px}.mobile-nav.open{display:flex}.hero{grid-template-columns:1fr;gap:60px;min-height:auto;padding-top:85px}.hero-visual{max-width:680px}.statement,.education{grid-template-columns:1fr;gap:28px}.statement-note{padding-top:0}.education-grid{grid-template-columns:1fr}.timeline-row{grid-template-columns:90px 1fr}.timeline-tag{display:none}.section-pad{padding:80px 7%}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:40px}.skills-layout{grid-template-columns:1fr}.work-grid{grid-template-columns:1fr}.work-card.feature{grid-column:span 1}.two-column,.research-teach,.contact-section{grid-template-columns:1fr;gap:55px}.learning-grid{grid-template-columns:1fr 1fr}.footer{flex-wrap:wrap;gap:22px}.footer>span{margin-left:0}}@media(max-width:520px){h1{font-size:80px}.hero-meta{flex-wrap:wrap;gap:6px 15px}.hero-actions{flex-wrap:wrap}.hero-actions a{flex:1}.matrix{height:220px;gap:3px}.panel{padding:18px}.stats{gap:30px}.learning-grid{grid-template-columns:1fr}.two-column h2,.contact-intro h2{font-size:46px}.footer{direction:rtl;justify-content:flex-start}.footer .wordmark{width:100%}}

/* Bilingual header and professional-focus enhancements. */
.language-button{order:5;border:1px solid var(--line);background:transparent;color:var(--mint);height:38px;min-width:42px;font:600 11px 'Space Grotesk',sans-serif;cursor:pointer;transition:background .18s var(--ease),color .18s var(--ease)}.language-button:hover{background:var(--mint);color:var(--ink)}.desktop-nav a{display:flex;flex-direction:column;gap:0;line-height:1.3}.desktop-nav a small{font:9px 'Space Grotesk',sans-serif;color:#52675b;letter-spacing:.12em;direction:ltr}.title-en{display:block;font:500 11px 'Space Grotesk',sans-serif;letter-spacing:.04em;color:var(--mint-2);direction:ltr;margin-top:5px}.section-en{display:block;color:#52675b;font:9px 'Space Grotesk',sans-serif;letter-spacing:.11em;direction:ltr;margin-top:7px}.focus-strip{display:grid;grid-template-columns:22% 1fr;gap:7%;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:48px;padding-bottom:48px}.focus-items{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.focus-items>div{border-right:1px solid var(--line);padding:0 16px;display:flex;flex-direction:column;gap:6px}.focus-items>div:first-child{border-right:0}.focus-items strong{font:500 16px 'Space Grotesk';color:var(--mint)}.focus-items span{font-size:14px;font-weight:600}.focus-items small{font:9px 'Space Grotesk';color:var(--muted);direction:ltr}.english-mode{font-family:'Space Grotesk',Vazirmatn,sans-serif;direction:ltr}.english-mode .hero-copy,.english-mode .statement-content,.english-mode .section-heading,.english-mode .contact-intro,.english-mode .contact-form,.english-mode .hero-meta,.english-mode .timeline,.english-mode .skills-layout,.english-mode .work-grid,.english-mode .learning-grid,.english-mode .two-column,.english-mode .research-teach{direction:ltr}.english-mode h1,.english-mode h2,.english-mode h3,.english-mode p,.english-mode li,.english-mode label,.english-mode span{letter-spacing:-.02em}.english-mode h1{font-size:clamp(68px,8vw,125px)}.english-mode .section-index{direction:ltr}.english-mode .hero-lead,.english-mode .hero-description{max-width:680px}.english-mode .title-en{display:none}@media(max-width:900px){.focus-strip{grid-template-columns:1fr;gap:25px}.focus-items{grid-template-columns:repeat(2,1fr);gap:20px}.focus-items>div:nth-child(3){border-right:0}.desktop-nav a small{display:none}}@media(max-width:520px){.language-button{order:0}.focus-items{grid-template-columns:1fr 1fr}.focus-items>div{padding:0 10px}.focus-items>div:nth-child(even){border-right:0}.focus-items span{font-size:12px}}

/* Portrait treatment: editorial monochrome portrait, mint identification details, compact profile-card integration. */
.profile-portrait{display:flex;align-items:center;gap:18px;margin:-4px 0 24px}.profile-portrait img{width:102px;height:126px;object-fit:cover;object-position:center top;filter:grayscale(100%) contrast(1.05);border:1px solid rgba(155,255,180,.55);padding:4px;background:#0a1510}.profile-portrait div{display:flex;flex-direction:column;gap:5px}.portrait-label{color:var(--mint);font:600 12px 'Space Grotesk',sans-serif;letter-spacing:.13em;direction:ltr}.profile-portrait small{color:var(--muted);font:10px 'Space Grotesk',sans-serif;letter-spacing:.05em;direction:ltr}.light-mode .profile-portrait img{background:#edf7ef}@media(max-width:520px){.profile-portrait img{width:88px;height:108px}.profile-portrait{margin-bottom:18px}}

/* Portrait replacement panel: the former green creative matrix becomes the main editorial portrait frame. */
.portrait-feature{min-height:430px;display:flex;flex-direction:column}.portrait-feature figure{position:relative;flex:1;min-height:315px;margin:0;overflow:hidden;background:#09110d}.portrait-feature figure:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(4,12,8,.72) 100%);pointer-events:none}.portrait-feature figure img{width:100%;height:100%;min-height:315px;object-fit:cover;object-position:center 22%;filter:grayscale(100%) contrast(1.08);opacity:.93;display:block}.portrait-feature figcaption{position:absolute;z-index:1;right:22px;bottom:20px;display:flex;flex-direction:column;align-items:flex-end;gap:5px}.portrait-feature figcaption span{color:var(--mint);font:600 12px 'Space Grotesk',sans-serif;letter-spacing:.13em;direction:ltr}.portrait-feature figcaption small{color:#d4e4d7;font:11px 'Space Grotesk',sans-serif;direction:ltr}.portrait-feature .matrix-caption{padding-top:15px}.portrait-feature .panel-label span:last-child{color:var(--mint-2)}@media(max-width:900px){.portrait-feature{min-height:390px}.portrait-feature figure,.portrait-feature figure img{min-height:280px}}@media(max-width:520px){.portrait-feature{min-height:330px}.portrait-feature figure,.portrait-feature figure img{min-height:230px}.portrait-feature figcaption{right:16px;bottom:15px}.portrait-feature figcaption span{font-size:10px}.portrait-feature figcaption small{font-size:9px}}

/* Single hero portrait: enlarge the profile-card portrait after removing the duplicate lower panel. */
.hero-visual{gap:0}.profile-card{overflow:hidden}.profile-card .profile-portrait{display:grid;grid-template-columns:minmax(190px,46%) 1fr;align-items:end;gap:22px;margin:0 0 26px;padding-bottom:2px}.profile-card .profile-portrait img{width:100%;height:260px;object-fit:cover;object-position:center top}.profile-card .profile-portrait div{padding-bottom:10px}.profile-card .profile-portrait .portrait-label{font-size:13px}.profile-card .profile-portrait small{font-size:10px;line-height:1.5}.profile-card h2{font-size:32px}.profile-card p{font-size:14px;line-height:2}.profile-card .stats{margin-top:30px}@media(max-width:900px){.profile-card .profile-portrait{grid-template-columns:minmax(170px,44%) 1fr}.profile-card .profile-portrait img{height:230px}}@media(max-width:520px){.profile-card .profile-portrait{grid-template-columns:112px 1fr;gap:16px;margin-bottom:18px}.profile-card .profile-portrait img{height:155px}.profile-card .profile-portrait div{padding-bottom:5px}.profile-card .profile-portrait .portrait-label{font-size:10px}.profile-card .profile-portrait small{font-size:8px}.profile-card h2{font-size:27px}}

/* Larger portrait pass: make the single profile image the visual anchor of the hero card. */
.profile-card .profile-portrait{grid-template-columns:minmax(230px,55%) 1fr;gap:24px;margin-bottom:28px}.profile-card .profile-portrait img{height:340px}.profile-card .profile-portrait div{padding-bottom:16px}@media(max-width:900px){.profile-card .profile-portrait{grid-template-columns:minmax(210px,52%) 1fr}.profile-card .profile-portrait img{height:300px}}@media(max-width:520px){.profile-card .profile-portrait{grid-template-columns:145px 1fr;gap:14px}.profile-card .profile-portrait img{height:205px}.profile-card .profile-portrait div{padding-bottom:6px}}

/* Portrait name caption: place the Persian name directly beneath the enlarged profile image. */
.profile-card .portrait-image-wrap{display:flex;flex-direction:column;gap:10px;min-width:0}.profile-card .portrait-name{color:var(--mint);font-size:17px;line-height:1.4;letter-spacing:-.02em}.profile-card .portrait-image-wrap img{order:0}.profile-card .portrait-name{order:1}@media(max-width:520px){.profile-card .portrait-image-wrap{gap:6px}.profile-card .portrait-name{font-size:13px;white-space:nowrap}}

/* Name lockup: Persian name first, smaller English name directly beneath; no duplicate side label. */
.profile-card .profile-portrait{display:block;margin-bottom:28px}.profile-card .portrait-image-wrap{width:100%;gap:9px;align-items:flex-start}.profile-card .portrait-image-wrap img{width:100%;height:340px}.profile-card .portrait-name{font-size:19px;line-height:1.35}.profile-card .portrait-name-en{font:500 12px 'Space Grotesk',sans-serif;letter-spacing:.07em;color:var(--muted);direction:ltr}.profile-card h2{margin-top:0}@media(max-width:900px){.profile-card .portrait-image-wrap img{height:300px}}@media(max-width:520px){.profile-card .portrait-image-wrap{gap:6px}.profile-card .portrait-image-wrap img{height:205px}.profile-card .portrait-name{font-size:15px}.profile-card .portrait-name-en{font-size:10px}}

/* Name order correction: Persian first, English second, both directly beneath the portrait. */
.profile-card .portrait-name{order:1}.profile-card .portrait-name-en{order:2;display:block}

/* Compact laptop viewport: keep the portrait card visually generous while fitting beneath the header. */
@media (min-width:901px) and (max-height:820px){.hero{min-height:680px;padding-top:72px;padding-bottom:72px}.profile-card .profile-portrait{margin-bottom:18px}.profile-card .profile-portrait img{height:285px}.profile-card .profile-portrait .portrait-image-wrap{gap:6px}.profile-card p{line-height:1.7}.profile-card .stats{margin-top:18px}}

/* Portrait bio and hover: concise positioning statement plus a restrained editorial image interaction. */
.profile-card .portrait-image-frame{overflow:hidden;line-height:0;border:1px solid rgba(155,255,180,.55);background:#0a1510}.profile-card .portrait-image-frame img{border:0;transition:transform .45s cubic-bezier(.23,1,.32,1),filter .45s ease,box-shadow .45s ease}.profile-card .portrait-image-frame:hover img{transform:scale(1.045);filter:grayscale(78%) contrast(1.12);box-shadow:0 18px 46px rgba(103,255,145,.2)}.profile-card .portrait-bio{color:var(--muted);font-size:12px;line-height:1.9;max-width:100%;margin:9px 0 0}.profile-card .portrait-name-en{margin-top:-2px}@media(max-width:520px){.profile-card .portrait-bio{font-size:10px;line-height:1.75;margin-top:6px}}
@media(prefers-reduced-motion:reduce){.profile-card .portrait-image-frame img{transition:none}.profile-card .portrait-image-frame:hover img{transform:none}}

/* Bio entrance: a restrained reveal that adds warmth without competing with the portrait. */
@keyframes bio-reveal{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-card .portrait-bio{opacity:0;animation:bio-reveal .72s cubic-bezier(.23,1,.32,1) .24s both}@media(prefers-reduced-motion:reduce){.profile-card .portrait-bio{opacity:1;animation:none;transform:none}}

/* Hero entrance sequence: portrait first, Persian name second, English name third, bio last. */
@keyframes profile-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.profile-card .portrait-image-frame,.profile-card .portrait-name,.profile-card .portrait-name-en,.profile-card .portrait-bio{opacity:0;animation:profile-reveal .7s cubic-bezier(.23,1,.32,1) both}.profile-card .portrait-image-frame{animation-delay:.08s}.profile-card .portrait-name{animation-delay:.22s}.profile-card .portrait-name-en{animation-delay:.3s}.profile-card .portrait-bio{animation-delay:.42s}
/* Hero CTA interaction: lifted hover state, responsive arrow movement, and tactile press feedback. */
.hero-actions a{transition:transform .18s cubic-bezier(.23,1,.32,1),box-shadow .18s ease,border-color .18s ease,background-color .18s ease}.hero-actions a span{display:inline-block;transition:transform .18s cubic-bezier(.23,1,.32,1)}.hero-actions .mint-button:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(155,255,180,.16)}.hero-actions .mint-button:hover span{transform:translate(3px,-2px)}.hero-actions .quiet-button:hover{transform:translateY(-3px);border-color:var(--mint);box-shadow:0 10px 24px rgba(155,255,180,.08)}.hero-actions .quiet-button:hover span{transform:translate(-3px,-2px)}.hero-actions a:active{transform:translateY(-1px) scale(.98)}
@media(prefers-reduced-motion:reduce){.profile-card .portrait-image-frame,.profile-card .portrait-name,.profile-card .portrait-name-en,.profile-card .portrait-bio{opacity:1;animation:none;transform:none}.hero-actions a,.hero-actions a span{transition:none}.hero-actions a:hover,.hero-actions a:active{transform:none}.hero-actions a span{transform:none}}

/* AI positioning sections: editorial cards with a clear operational hierarchy and practical tone. */
.ai-toolkit,.ai-process{position:relative}.toolkit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:46px}.tool-card{min-height:220px;padding:24px 20px;border:1px solid rgba(154,255,180,.16);background:linear-gradient(145deg,rgba(17,39,28,.72),rgba(7,19,13,.9));display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.23,1,.32,1),border-color .22s ease,box-shadow .22s ease}.tool-card:hover{transform:translateY(-5px);border-color:rgba(154,255,180,.54);box-shadow:0 18px 42px rgba(0,0,0,.2)}.tool-code{color:var(--mint);font:10px/1.2 var(--mono);letter-spacing:.08em}.tool-card h3{font-size:18px;line-height:1.65;margin:28px 0 10px}.tool-card p{color:var(--muted);font-size:12px;line-height:2;margin:0}.tool-card small{margin-top:auto;padding-top:18px;color:#81968a;font:9px/1.5 var(--mono);letter-spacing:.08em}.process-rail{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-top:46px;border-top:1px solid rgba(154,255,180,.2);border-bottom:1px solid rgba(154,255,180,.2)}.process-step{min-height:220px;padding:25px 18px 24px;border-inline-start:1px solid rgba(154,255,180,.12);position:relative}.process-step:first-child{border-inline-start:0}.process-step>span{color:var(--mint);font:11px var(--mono)}.process-step h3{font-size:17px;margin:35px 0 12px}.process-step p{margin:0;color:var(--muted);font-size:12px;line-height:1.95}.ai-case{grid-column:span 2;min-height:210px;background:linear-gradient(135deg,rgba(24,57,38,.8),rgba(10,24,17,.94));border-color:rgba(154,255,180,.4)}.ai-case h3{font-size:20px;line-height:1.55}.ai-case p{max-width:600px;line-height:2}.ai-case .case-note{display:inline-block;margin-top:14px;color:var(--mint);font-size:10px}.work-card.ai-case:hover{border-color:var(--mint);transform:translateY(-4px)}
@media(max-width:1050px){.toolkit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.process-rail{grid-template-columns:repeat(3,minmax(0,1fr))}.process-step:nth-child(4),.process-step:nth-child(5){border-top:1px solid rgba(154,255,180,.12)}.process-step:nth-child(4){border-inline-start:0}}
@media(max-width:650px){.toolkit-grid{grid-template-columns:1fr;gap:10px;margin-top:28px}.tool-card{min-height:0;padding:20px 18px}.tool-card h3{margin-top:18px;font-size:16px}.process-rail{grid-template-columns:1fr;margin-top:28px}.process-step,.process-step:nth-child(4),.process-step:nth-child(5){min-height:0;padding:20px 0;border-inline-start:0;border-top:1px solid rgba(154,255,180,.12)}.process-step:first-child{border-top:0}.process-step h3{margin:14px 0 6px;font-size:16px}.ai-case{grid-column:span 1;min-height:0}.ai-case h3{font-size:17px}}
@media(prefers-reduced-motion:reduce){.tool-card,.work-card.ai-case{transition:none}.tool-card:hover,.work-card.ai-case:hover{transform:none}}

/* Portfolio interaction layer: clear states for pending media, measured results, and tool disclosure. */
.ai-case{position:relative;overflow:hidden}.case-actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}.sample-play-button{border:1px solid rgba(154,255,180,.38);background:rgba(154,255,180,.08);color:var(--mint);padding:10px 14px;font:600 11px var(--body);letter-spacing:.02em;opacity:.85}.sample-play-button:disabled{cursor:not-allowed}.sample-play-button span{font-size:10px;margin-inline-end:5px}.case-actions small{color:#82998a;font-size:10px}.project-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(154,255,180,.12)}.project-results div{display:flex;flex-direction:column;gap:5px}.project-results strong{color:var(--mint);font:18px var(--display)}.project-results small{color:#82998a;font-size:9px;line-height:1.6}.work-card{position:relative;overflow:hidden}.card-tool-hint{position:absolute;inset-inline-start:20px;bottom:18px;max-width:70%;color:var(--mint);font:9px/1.6 var(--mono);letter-spacing:.04em;opacity:0;transform:translateY(8px);transition:opacity .2s ease,transform .2s cubic-bezier(.23,1,.32,1)}.work-card:hover .card-tool-hint,.work-card:focus-visible .card-tool-hint{opacity:1;transform:translateY(0)}.work-card:hover .arrow,.work-card:focus-visible .arrow{transform:translate(-4px,-4px);color:var(--mint)}.ai-case .card-tool-hint{position:static;display:block;margin-top:12px;max-width:100%;opacity:1;transform:none}.ai-case .arrow{position:absolute;inset-inline-end:20px;top:20px}.ai-case .card-tool-hint{font-size:9px}.work-card:not(.ai-case):hover>div,.work-card:not(.ai-case):focus-visible>div{transform:translateY(-3px);transition:transform .2s cubic-bezier(.23,1,.32,1)}
@media(max-width:650px){.project-results{gap:6px}.project-results strong{font-size:16px}.project-results small{font-size:8px}.card-tool-hint{position:static;display:block;max-width:100%;margin-top:14px;opacity:1;transform:none}.work-card:not(.ai-case)>div{transform:none!important}.ai-case .arrow{inset-inline-end:14px;top:14px}}
@media(prefers-reduced-motion:reduce){.card-tool-hint,.work-card:hover>div,.work-card:focus-visible>div{transition:none;transform:none}.work-card:hover .arrow,.work-card:focus-visible .arrow{transform:none}}

/* AI tool icon layer and measured-results counter states. */
.icon-toolkit{display:flex;align-items:center;gap:8px;opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s cubic-bezier(.23,1,.32,1)}.work-card:hover .icon-toolkit,.work-card:focus-visible .icon-toolkit,.ai-case .icon-toolkit{opacity:1;transform:translateY(0)}.tool-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(154,255,180,.3);background:rgba(154,255,180,.07);color:var(--mint);transition:background .18s ease,border-color .18s ease,transform .18s ease}.tool-icon:hover{background:rgba(154,255,180,.18);border-color:var(--mint);transform:translateY(-2px)}.tool-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.project-results .counter[data-target=""]{color:#81968a;font-family:var(--mono);font-size:16px}.project-results .counter:not([data-target=""]){font-variant-numeric:tabular-nums}.project-results .counter.is-counting{animation:counter-pulse .5s ease both}@keyframes counter-pulse{50%{color:#e2ffe8;transform:translateY(-2px)}}@media(max-width:650px){.icon-toolkit{gap:6px}.tool-icon{width:25px;height:25px}.tool-icon svg{width:13px;height:13px}.ai-case .icon-toolkit{margin-bottom:6px}}
@media(prefers-reduced-motion:reduce){.icon-toolkit,.tool-icon,.project-results .counter.is-counting{transition:none;animation:none;transform:none}}
