@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/dm-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/dm-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/dm-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/dm-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/manrope-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/manrope-latin-800-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Mono',ui-monospace,monospace;font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/dm-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Mono',ui-monospace,monospace;font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/dm-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}




*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',Arial,sans-serif;background:#f5f7f2;color:#17201d;line-height:1.65}body.dark{background:#0c1110;color:#edf4ee}a{color:inherit;text-decoration:none}a:hover{opacity:.72}.wrap{width:min(1180px,calc(100% - 48px));margin:auto}.progress{position:fixed;top:0;left:0;height:3px;background:#b7f34b;width:0;z-index:9999}header{position:sticky;top:0;z-index:100;background:rgba(245,247,242,.92);backdrop-filter:blur(18px);border-bottom:1px solid #dce3dc}body.dark header{background:rgba(12,17,16,.92);border-color:#25302b}.nav{height:72px;display:flex;align-items:center;justify-content:space-between}.logo{font-family:'Manrope','DM Sans',sans-serif;font-weight:800;font-size:24px;letter-spacing:-1px}.logo span{color:#6e9d19}nav{display:flex;align-items:center;gap:17px;font-size:13px;font-weight:600}nav a{white-space:nowrap}.mobile{display:none;border:1px solid #cfd8d0;background:transparent;padding:9px 12px;border-radius:9px}.theme,.lang{display:inline-flex;align-items:center;justify-content:center;font:700 13px/1 'DM Sans',Arial,sans-serif;border:1px solid #cfd8d0;background:transparent;border-radius:9px;padding:7px 10px;font-weight:700;cursor:pointer;color:inherit}.hero{padding:100px 0 90px;background:radial-gradient(circle at 85% 20%,rgba(183,243,75,.18),transparent 28%),linear-gradient(180deg,#f5f7f2,#eef2eb)}body.dark .hero{background:radial-gradient(circle at 85% 20%,rgba(183,243,75,.12),transparent 28%),#0c1110}.hero-grid{display:grid;grid-template-columns:1.5fr .8fr;gap:70px;align-items:end}.profile-top{display:flex;gap:14px;align-items:center}.profile-top small,.mono,small,.tag{font-family:'DM Mono',ui-monospace,monospace;letter-spacing:.06em;font-size:11px}.avatar{width:68px;height:68px;flex:0 0 68px;border-radius:50%;overflow:hidden;background:#17201d;border:2px solid #b7f34b;box-shadow:0 5px 18px rgba(23,32,29,.16)}.avatar img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 36%}h1,h2,h3{font-family:'Manrope','DM Sans',sans-serif;line-height:1.05;letter-spacing:-.04em}h1{font-size:clamp(64px,9vw,118px);margin:30px 0 26px}h1 em{font-style:normal;color:#6e9d19}.lead{font-size:22px;max-width:780px}.hero p{max-width:800px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.btn{display:inline-flex;align-items:center;justify-content:center;background:#17201d;color:#fff;padding:13px 18px;border-radius:10px;font-weight:700;border:1px solid #17201d}.btn.light{background:transparent;color:inherit;border-color:#aeb9b0}.facts{font-family:'DM Mono',ui-monospace,monospace;font-size:11px;color:#66716a}.hero-card{background:#17201d;color:#eef5ef;padding:28px;border-radius:18px;box-shadow:0 20px 50px rgba(23,32,29,.15)}.hero-card h2{font-size:30px;margin:25px 0}.hero-card p{color:#bdc9c1}.hero-card .links{border-top:1px solid #38443e;margin-top:30px;padding-top:18px;display:grid;gap:12px}.ticker{overflow:hidden;white-space:nowrap;background:#b7f34b;color:#17201d;font-family:'DM Mono',ui-monospace,monospace;font-size:11px;padding:10px 0}.ticker-track{display:inline-flex;animation:move 40s linear infinite;will-change:transform}.ticker-track span{padding:0 22px;position:relative}.ticker-track span::after{content:'✦';position:absolute;right:-6px}@keyframes move{from{transform:translateX(0)}to{transform:translateX(-50%)}}section{padding:100px 0;scroll-margin-top:72px}.split{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.split h2,.section-head h2{font-size:48px;margin:10px 0}.large{font-size:25px}.split blockquote{margin:35px 0;padding:20px 25px;border-left:3px solid #6e9d19;font-family:'Manrope','DM Sans',sans-serif;font-size:19px}.band-dark{background:#17201d;color:#eef5ef}.band-dark .muted,.band-dark p{color:#b9c5bd}.section-head{display:grid;grid-template-columns:.6fr 1.4fr;gap:70px;margin-bottom:42px}.section-head p{max-width:720px}.research-card{display:grid;grid-template-columns:1.35fr .65fr;border:1px solid #3a4941;border-radius:18px;padding:32px;gap:40px;background:#1b2721}.research-card h3{font-size:34px;margin:14px 0}.chips{display:flex;flex-wrap:wrap;gap:7px;margin:22px 0}.chips span{border:1px solid #55645a;border-radius:100px;padding:6px 9px;font-size:11px;font-family:'DM Mono',ui-monospace,monospace}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#3a4941}.metrics>div{background:#1b2721;padding:20px}.metrics strong{font-family:'Manrope','DM Sans',sans-serif;font-size:34px;display:block}.metrics strong span{font-size:15px}.metrics p{font-size:12px}.text{font-weight:700;color:#3f6a00;display:inline-block;margin-top:6px}.band-dark .text,body.dark .text{color:#b7f34b}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.two article,.projects article,.skills article,.pubs article,.cv-card,.detail-card{border:1px solid #d8e0d8;padding:28px;border-radius:16px}.band-dark .two article{border-color:#3a4941;background:#1b2721}.interest{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.interest b{font-family:Manrope}.pathway{background:#e7ede5}.path{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:stretch}.path i{align-self:center}.path>div{background:#fff;border:1px solid #d5ded5;padding:22px;border-radius:14px;min-height:125px}.path span{font-family:'DM Mono',ui-monospace,monospace;font-size:10px;display:block;color:#56625a}.path b{display:block;margin:15px 0 6px;font-family:Manrope}.path small{color:#6c776f}.path i{font-style:normal;font-size:26px;color:#6e9d19}.projects{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.projects article{min-height:250px}.projects .featured{grid-row:span 2;background:#17201d;color:#eef5ef;border-color:#17201d}.soft{background:#e9eee8}.timeline{display:grid;gap:18px}.timeline article{display:grid;grid-template-columns:180px 1fr;gap:30px;padding:28px 0;border-top:1px solid #ccd5cc}.timeline h3{font-size:27px;margin:0 0 5px}.timeline ul{padding-left:20px}.muted{color:#505b54}.edu{display:grid;gap:15px}.edu article{display:grid;grid-template-columns:160px 1fr 100px;gap:25px;align-items:start;border-top:1px solid #d2dad3;padding:28px 0}.edu h3{font-size:27px;margin:0 0 5px}.edu .tag{border:1px solid #a9b5ab;border-radius:100px;padding:7px 10px;text-align:center}.three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px}.three h3{font-size:18px;margin:22px 0 0}.skills{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.skills article p{font-family:'Manrope','DM Sans',sans-serif;font-weight:600}.pubs{display:grid;grid-template-columns:1fr 1fr;gap:16px}.status{display:inline-block;color:#35560a;background:#dff7b5;padding:5px 8px;border-radius:99px}.recognition{display:grid;grid-template-columns:1fr 1fr;gap:50px}.contact{background:#17201d;color:#eef5ef}.contact-grid{display:grid;grid-template-columns:1fr .7fr;gap:80px}.contact h2{font-size:58px;margin:12px 0}.contact-card{display:grid;gap:14px;align-content:start;font-family:'DM Mono',ui-monospace,monospace;padding:25px;border:1px solid #435148;border-radius:16px}.cv-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cv-card{background:#f5f7f2}.cv-card h3{font-size:30px;margin:16px 0 8px}.cv-actions{margin-top:25px}.research-hero{background:#17201d;color:#eef5ef;padding:90px 0}.research-hero h1{font-size:clamp(48px,7vw,90px);max-width:950px}.detail-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:70px}.detail-grid h2{font-size:38px;margin-top:40px}.detail-grid aside{display:grid;align-content:start;gap:1px;background:#d2dad3;height:max-content}.stat{background:#eef2ec;padding:25px}.stat strong{font:800 44px 'Manrope','DM Sans',sans-serif;display:block}.stat span{font-size:12px;color:#505b54}.findings{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.findings>div{border:1px solid #d1d9d2;padding:20px;border-radius:14px}.findings b{font:800 28px 'Manrope','DM Sans',sans-serif;display:block;color:#47700a}.findings span{font-size:13px}footer{padding:25px 0;border-top:1px solid #d8e0d8;font-size:12px}footer .wrap{display:flex;justify-content:space-between;gap:20px}body.dark .soft,body.dark .pathway{background:#111916}body.dark .two article,body.dark .projects article,body.dark .skills article,body.dark .pubs article,body.dark .cv-card,body.dark .detail-card{border-color:#334039;background:#111916}body.dark .path>div{background:#111916;border-color:#334039}body.dark .edu article,body.dark .timeline article{border-color:#334039}body.dark footer{border-color:#25302b}body.dark .stat{background:#111916}.rtl-placeholder{direction:rtl}@media(max-width:900px){nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f5f7f2;border-bottom:1px solid #dce3dc;padding:15px 24px;flex-wrap:wrap}.nav nav.open{display:flex}.mobile{display:block;cursor:pointer;color:inherit;font:600 13px "DM Sans",Arial,sans-serif}.hero-grid,.split,.section-head,.research-card,.contact-grid,.detail-grid,.recognition{grid-template-columns:1fr;gap:35px}.path{grid-template-columns:1fr}.path i{display:none}.projects,.skills,.pubs,.cv-grid,.three,.two{grid-template-columns:1fr}.timeline article{grid-template-columns:1fr}.edu article{grid-template-columns:1fr}.findings{grid-template-columns:1fr 1fr}.hero{padding-top:70px}h1{font-size:65px}.section-head h2,.split h2{font-size:38px}.contact h2{font-size:45px}footer .wrap{flex-direction:column}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1180px)}section{padding:70px 0}.hero{padding:60px 0}.hero-card{padding:22px}.lead{font-size:18px}.findings{grid-template-columns:1fr}.actions .btn{width:100%}}

/* v4 accessibility and layout polish */
:focus-visible{outline:3px solid #8fbd36;outline-offset:3px}img{max-width:100%}button,a{-webkit-tap-highlight-color:transparent}


/* Persian typography and right-to-left layout refinements */


























/* ---- v6 fixes ---- */
html{color-scheme:light dark}
body:not(.dark){color-scheme:light}body.dark{color-scheme:dark}
.skip{position:absolute;left:12px;top:-60px;z-index:10000;background:#17201d;color:#b7f34b;padding:10px 16px;border-radius:0 0 10px 10px;font-weight:700;transition:top .15s}.skip:focus{top:0;opacity:1}

body.dark nav{background:#0c1110;border-color:#25302b}
body.dark .btn{background:#b7f34b;color:#0c1110;border-color:#b7f34b}
body.dark .btn.light{background:transparent;color:#edf4ee;border-color:#55645a}
body.dark .status{background:#26361a;color:#b7f34b}
body.dark .findings>div{border-color:#334039}
body.dark .detail-grid aside{background:#334039}
body.dark .edu .tag{border-color:#55645a}
body.dark .facts{color:#9aa79f}
body.dark .muted,body.dark .path small,body.dark .path span,body.dark .stat span{color:#9aa79f}
body.dark .pathway{background:#111916}
body.dark .hero{background:radial-gradient(circle at 85% 20%,rgba(183,243,75,.12),transparent 28%),#0c1110}
body.dark .band-dark{background:#111916}
body.dark .contact,body.dark .research-hero{background:#111916}
body.dark .logo span{color:#b7f34b}
body.dark h1 em{color:#b7f34b}
body.dark .interest b,body.dark .path b{color:inherit}
.tag{display:inline-block}
.research-card .tag{color:#b7f34b}
.contact-card a{overflow-wrap:anywhere}
img{height:auto}
.avatar img{height:100%}

/* Persian typography (self-hosted Vazirmatn) */









/* tablet: keep nav on one line */
@media(max-width:1100px) and (min-width:901px){nav{gap:11px;font-size:12px}}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}*{transition:none!important}}
@media print{header,.progress,.ticker,.skip,.actions{display:none!important}body{background:#fff;color:#000}section{padding:24px 0;break-inside:avoid}}

.theme svg{display:block;width:16px;height:16px}

body.dark .findings b{color:#b7f34b}
.not-found{min-height:100vh;display:grid;align-items:center}
nav a[aria-current=true]{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:7px;text-decoration-color:#6e9d19}body.dark nav a[aria-current=true]{text-decoration-color:#b7f34b}
